Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 10.05.2010
Сообщений: 27
1

Нужно изменить немного программу на перезагрузку

13.11.2010, 10:06. Показов 441. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите изменить программу, чтобы из последней класс строки вычиталось последние 5 элементов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include "stdafx.h"                         
#include <iostream>
#include <string.h> 
using namespace std;
 
class String                                            //описание класса-строки
{
    char str[80];                                   //объект, созданный этим классом будет содержать строку в 80 символов
public:
    String();                                           //конструктор по умолчанию
    String(const String &ob);                           //конструктор копирования
    String(char *s);                                    //конструктор с одним параметром (когда мы при создании объекта 
    void print();                                       //метод для вывода строки на экран
    void operator++();                                  //метод для перегрузки символа ++ - для преобразования символов строки в строчные символы
    friend String operator+(String &ob1, String &ob2);  //функция-друг класса String для перегрузки +. делает конкатенацию(добавление одной строки в конец другой)
};
 
String::String()                                    //описание конструктора по умолчанию - создает объект с нулевой строкой
{
    str[0] = '\0';
}
String::String(const String &ob)                    //описание конструктора копирования
{
    strcpy(str,ob.str);                     //strcpy - стандартная функция из библиотеки <string.h> копирует из строки объекта ob в строку объекта, который создается с помощью конструктора копирования.
}
String::String(char *s)                     //описание конструктора с одним параметром 
{
    strcpy(str,s);              //s - это указатель на строку, которую мы вводим при создании объекта (смотри main())
}
 
void String::print()                //описание метода для вывода на экран строки
{
    cout << str << endl;
}
 
void String::operator++()                   //
{
    int i=0;
    while(str[i]!='\0')                         //цикл выполняется, пока не дошли до конца строки
    {
        str[i] = tolower(str[i]);               //tolower - функция, которая преобразует символы строки в строчные символы
        i++;
    }
 
}
String operator+(String &ob1, String &ob2)
{
    char *s = strcat(ob1.str,ob2.str);          //strcat - функция, которая добавляет строку из объекта ob2 в конец строки объекта ob1.
    return s;                               //operator+ возвращает указатель на строку, которая содержит обе строки из объектов
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    String s1("hello. i'm a human. ");                  //создаем объект, содержащий строку с помощью конструктора String(char *s) char *s - это строка, которая вписана в скобках
    String s2("WOW. i'm too.");                         //тоже с помощью String(char *s)
    String s3(s1);                              //создаем объект, с помощью конструктора копирования
    String s4;                              //создаем объект, с помощью конструктора по умолчанию
    s1.print();                         //выводим на экран строку объекта s1
    cout << endl;
    s2.print();                         //выводим на экран строку объекта s2
    cout << endl;
    s3.print();                         //выводим на экран строку объекта s3
    cout << endl;
    s4 = s1+s2;                     //здесь происходит перегрузка, реализованная с помощью функции friend String operator+(String &ob1, String &ob2). s4 теперь это объект , содержащий строку, составленную из s1 и s2
    s4.print();
    cout << endl;
    s2++;                   //здесь происходит перегрузка void String::operator++()    
    s2.print();
 
    cout << endl;
    
    
 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2010, 10:06
Ответы с готовыми решениями:

нужно немного изменить программу)
подскажите, пожалуйста, что нужно изменить в программе, чтобы, например, вместо (5) + i(2) было 5 +...

Нужно немного изменить код (сумма от последнего отрицательного элемента массива до первого положительного)
Народ такая проблема, мой код считает сумму от последнего отрицательного элемента массива до...

не могу изменить программу для немного другого условия
первое условие: дан текстовый файл из чисел, создать новый файл и записать в него минимальный и...

(С++)Нужно немного подправить программу
Задача такова: Дан файл, содержащий сведения о телефонах абонентов. Структура записи файла: фамилия...

0
13.11.2010, 10:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2010, 10:06
Помогаю со студенческими работами здесь

Нужно немного доделать программу
Ввести класс для работы с обьектом дробь и реализовать 1) сложение(вычитание) 2)приведение к...

Нужно немного переделать программу: использовать функции и динамическое выделение памяти
Помогите переделать программу в соответствии с условиями: а) для хранения массивов используйте...

Нужно немного переделать программу нахождения компонент сильной связности в графе
В общем задание такое, нужно переделать эту программу, я не знаю как это сделать, помогите люди...

нужно изменить программу
Ребята, очень нужна помощь. Сам в С++ ноль. В приложенном архиве, в программе требуется удалить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru