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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
18.07.2011, 11:53     Модификация перезагрузки #1
Программа рабочая вот такая


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++ Модификация игр
Задача о камнях (почти рюкзак) модификация) C++
Модификация разработанного класса C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
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
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 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
Ушёл с форума.
 Аватар для 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     Модификация перезагрузки
Еще ссылки по теме:

Модификация объектов класса string C++
WinPcap - модификация пакета C++
Косвенная модификация переменной - разобрать код C++

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для 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     Модификация перезагрузки
Ответ Создать тему
Опции темы

Текущее время: 23:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru