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

Найти ошибку! - C++

Восстановить пароль Регистрация
 
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
30.10.2012, 17:25     Найти ошибку! #1
Почему не хочет работать вот эта строка
C++
1
strcut(history,str);
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 <conio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
 
int main ()
        {
                int res=0,g;
                bool EXIT = false;
                char str[100],op='\0',history[255];
                history[0]='\0';
                cout << "**********\nCalculator\n**********\n\n";
 
                while (EXIT == false)
                {
                      cout << "Input string: ";
                      cin >> str;
                      strcut(history,str);
                      if (str[0] == 'q') EXIT = true;
                      g = atoi(str);
                      if (g==0) op = str[0];
                      else  if  (op!='\0')
                             {
                               if (op == '+') res+=g;
                               if (op == '-') res-=g;
                               if (op == '*') res*=g;
                               if (op == '/') res/=g;                      
                            
                               op = '\0';
                               }
                
                      else res = g;
                      
                }
                      cout << history << res; 
                
                getch();
                return 0;
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2012, 17:25     Найти ошибку!
Посмотрите здесь:

найти ошибку C++
Найти ошибку C++
найти ошибку... C++
Найти ошибку C++
C++ Найти ошибку
Найти ошибку C++
Найти ошибку C++
C++ Найти ошибку
Найти ошибку C++
C++ Найти ошибку
Найти ошибку C++
Найти ошибку C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
denys_l
51 / 51 / 4
Регистрация: 26.09.2011
Сообщений: 186
30.10.2012, 17:34     Найти ошибку! #2
strcat
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
30.10.2012, 17:36  [ТС]     Найти ошибку! #3
denys_l, Вот я дятел! Спасибо!
kertio
26 / 26 / 1
Регистрация: 20.09.2011
Сообщений: 68
30.10.2012, 17:38     Найти ошибку! #4
строку
C++
1
if (str[0] == 'q') EXIT = true;
я бы заменил строкой
C++
1
2
3
4
if (str[0] == 'q') {
   EXIT = true;
   break;
}
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
30.10.2012, 17:53  [ТС]     Найти ошибку! #5
Не хочу новую тему создавать, почему оно не добывает sin !?
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
#include <iostream>
#include <conio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
 
int main ()
        {
                int res=0,g;
                bool EXIT = false;
                char str[100],op='\0',history[255];
                history[0]='\0';
                while (EXIT == false)
                {
                      cout << "Input string: ";
                      cin >> str;
                      strcat(history,str);
                      if (str[0] == '=') EXIT = true;
                      g = atoi(str);
                      if (g==0) op = str[0];
                      else  if  (op!='\0')
                             {
                               if (op == '+') res+=g;
                               if (op == '-') res-=g;
                               if (op == '*') res*=g;
                               if (op == '/') res/=g;                      
                               if (op == '%') res%=g;
                               op = '\0';
                               if ((strlen(str))==1){ op=str[0]; }
                               else{
                                    if(strcmp(str,"sin")==0) res=sin(res);}
                               }
                      
                
                      else res = g;
                      
                }
                      cout << history << res; 
                
                getch();
                return 0;
        }
Yandex
Объявления
30.10.2012, 17:53     Найти ошибку!
Ответ Создать тему
Опции темы

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