Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 691
#1

Модификация перезагрузки - C++

18.07.2011, 11:53. Просмотров 1192. Ответов 24
Метки нет (Все метки)

Программа рабочая вот такая


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
#include <iostream>
#include <cstring>//для strcpy(),strlen()
using namespace std;
#include <process.h>//для exit()
 
class String
    {
    private:
      enum {SZ =80 };    
      char str [SZ];    
    public:
      String()         
        {strcpy(str,"");}
      String(char s [] )
        {strcpy(str,s);}
    void display()       
      {cout <<str;}
    String operator +=(String ss)
                                
        {
        if(strlen(str)+strlen(ss.str)>=SZ )
          {cout <<"\nПереполнение строки";exit(1);}
        strcat(str,ss.str);     
        return String(str);     
        }
    };
int main()
    {setlocale(LC_ALL,"Rus");
    String s1 ="С Новым Годом!"; 
                               
    String s2 ="Ура, товарищи!"; 
                              
    String s3;  
    s3 =s1 +=s2;
    cout <<"\ns1=";s1.display();
    cout <<"\ns2=";s2.display(); 
    cout <<"\ns3=";s3.display();
    cout <<endl;
    cin.get();
    cin.get();
    return 0;
    }
Мне нужно сделать так чтоб пользователь сам вводил обе строки. Но нужно использовать перезагрузку.

Вот что я прикинул

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
#include<iostream>
#include<iomanip>
#include <windows.h>
#include <string>
using namespace std;
class a
{private:
    char b[80],c[80];
public:
    a()
    {strcpy(b,"");}
    a(char b1[])
    {strcpy(b,c);}
    void fc()
    {cout<<"Введите первую строку --> ";
    SetConsoleCP(1251);
    cin>>setw(80)>>b;
    SetConsoleCP(866);
    cout<<"Введите первую строку --> ";
    SetConsoleCP(1251);
    cin>>setw(80)>>c;
    SetConsoleCP(866);
    }
    a operator+=(a a1)
    {strcat(a1.b,c);
    return a (a1);}
void fc1(a a1)
{cout<<a1.b<<endl;
    cout<<a1.c;}
};
int main ()
{setlocale(LC_ALL,"Rus");
a a1,a2;
a1.fc();
a1+=a2;
a1.fc1(a1);
cin.get();
cin.get();
return 0;
}
Но моя программа не работает. Как мне ее довести до рабочего состояния ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2011, 11:53     Модификация перезагрузки
Посмотрите здесь:

Модификация игр - C++
Всем привет! Суть вопроса: Какую игру выбрать для модификации, что бы понять основы игростроения. Детали ниже! :) Я достаточно...

Модификация программы - C++
Модифицируйте программу из данного раздела так, чтобы она подсчитывала не только буквы, но и встретившиеся пробелы, символы табуляции и...

Модификация программы - C++
Препод задал модифицировать программу. программа считает есть ли в последовательности цифры, которые больше, чем следующие. #include...

Модификация разработанного класса - C++
Создал класс видеомагнитофон, требуется доработать его вот по этому заданию: Рассмотреть модификацию видеомагнитофона,который...

WinPcap - модификация пакета - C++
Мне нужно перехватить определенный пакет, изменить его , и отослать уже браузеру. Подскажите, справится ли с этим WinPcap , или она только...

Модификация объектов класса string - C++
ООП С++ Лафоре есть пример: // sstrchng.cpp // изменение частей строки #include &lt;iostream&gt; #include &lt;string&gt; using...

Модификация внутренней переменной лямбды - C++
Добрый вечер, что-то помню, что-то всплывает перед глазами в качестве кода - но не могу подобрать запрос в гугле, чтобы найти то о чём...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 691
19.07.2011, 13:41  [ТС]     Модификация перезагрузки #21
Не подскажите почему компилятор не видит в этой программе ошибок. Но она не работает так как нужно ?

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
#include<iostream>
using namespace std;
class a
{private:
long double one;
public:
    void fc ()
    {cout<<"Введите первое число --> ";
    cin>>one;
    }
void fc1 ()
{cout<<"Введите второе число --> ";
cin>>one;
}
a operator+ (a a1)
{a1.one+=one;
return a(a1);}
 
a operator- (a a1)
{a1.one-=one;
return a(a1);}
 
a operator* (a a1)
{a1.one*=one;
return a(a1);}
 
a operator/ (a a1)
{a1.one+=one;
return a(a1);}
 
void fc2(a a1)
{
    if(a1.one>21474836481||a1.one<-21474836481)
    {cout<<"Переполнение памяти !";}
else 
cout<<"Результат - "<<a1.one;}
};
int main()
{setlocale(LC_ALL,"Rus");
a a1,a2, a3;
a1.fc();
a2.fc1();
cout<<"Введите действие --> ";
char z;
cin>>z;
switch(z)
{case '+' :
a3=a1+a2;
break;
switch(z)
case '-' :
a3=a1-a2;
break;
switch(z)
case '*' :
a3=a1*a2;
break;
switch(z)
case '/' :
a3=a1/a2;
break;
default:
    {cout<<"Ошибка ";
    cin.get();
    cin.get();
    exit(0);}
    a3.fc2(a3);
    cin.get();
    cin.get();
    return 0;
}
}
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 226
Регистрация: 12.12.2009
Сообщений: 7,222
Записей в блоге: 1
Завершенные тесты: 1
19.07.2011, 13:57     Модификация перезагрузки #22
с switch'ем напутал:
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
int main()
{
    setlocale(LC_ALL,"Rus");
    a a1,a2, a3;
    a1.fc();
    a2.fc1();
    cout<<"Введите действие --> ";
    char z;
    cin>>z;
    switch(z) {
    case '+' :
        a3=a1+a2;
        break;
    case '-' :
        a3=a1-a2;
        break;
    case '*' :
        a3=a1*a2;
        break;
    case '/' :
        a3=a1/a2;
        break;
    default:
        cout<<"Ошибка ";
        cin.get();
        cin.get();
        exit(0);
 
    }
    a3.fc2(a3);
    cin.get();
    cin.get();
    return 0;
 
}

Не по теме:

плагин "source code formatter (AStyle)" в code:blocks мега удобная вещь)))



Добавлено через 5 минут
и отвыкай пользоваться магическими числами:
C++
1
if(a1.one>21474836481||a1.one<-21474836481)
вот так правильно:
C++
1
if(a1.one>std::numeric_limits<int>::max()||a1.one<std::numeric_limits<int>::min())
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.07.2011, 14:09     Модификация перезагрузки #23
Цитата Сообщение от parkito Посмотреть сообщение
Но моя программа не работает. Как мне ее довести до рабочего состояния ?
А какое она имеет отношение к перезагрузке компа? И какую задачу ты вообще решаешь?
Kastaneda
19.07.2011, 14:12
  #24

Не по теме:

Цитата Сообщение от taras atavin Посмотреть сообщение
А какое она имеет отношение к перезагрузке компа?
В процессе рабора задачи было выяснено, что имеется ввиду "перегрузка (операторов) "

P.S.или я опять иронию не уловил?...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2011, 14:16     Модификация перезагрузки
Еще ссылки по теме:

Косвенная модификация переменной - разобрать код - C++
Здравствуйте! Я немного запутался в результатах работы программы. Все действия понятны, а почему такой результат нет. Я...

Задача о камнях (почти рюкзак) модификация) - C++
из камней весом p1, p2 ... pn набрать вес W если это возможно вывести yes, если не - no, но есть проблемка: в дополнение к задаче дается...

Модификация объекта string через ссылку и указатель - C++
Создайте две функции: первая должна получать аргумент типа string*, вторая - srting&amp;. Каждая функция должна изменять объект string своим...

Метод Рунге-Кутта пятого порядка, модификация Мерсона - C++
помогите сделать этот метод при условии - автоматический выбор шага по контрольным членами((( заранее спасибо!!

оператор перезагрузки для + - C++
Помогите написать, оператор перезагрузки для +. В QtCreater Вот программа. Elips.h #ifndef ELIPS_H #define ELIPS_H #endif //...


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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.07.2011, 14:16     Модификация перезагрузки #25
Цитата Сообщение от parkito Посмотреть сообщение
Их нато сконтиковать
А это что ещё за словечко?

Добавлено через 2 минуты
Цитата Сообщение от parkito Посмотреть сообщение
Что нужно изменить в программе чтбы с помощью перезагрузки
С помощью перезагрузки нельзя складывать, а можно только лечить винду от глюков.
Yandex
Объявления
19.07.2011, 14:16     Модификация перезагрузки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru