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

Простой калькулятор - C++

Восстановить пароль Регистрация
 
riml9inin
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 43
12.02.2013, 02:41     Простой калькулятор #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
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
77
78
79
80
#include <iostream>
using namespace std;
int main()
{
    int iVar;
    double FirstNumber, SecondNumber;
    cout << "|____|____|____|____|\n";
    cout << "|- 0 -|- 1 -|- 2 -|- 3 -|\n";
    cout << "|   -  |  +  |   *  |   /  |\n";
    cout << "|____|____|____|____|\n";
    cout << "|  please celect number |\n";
    cin >> iVar;
    switch (iVar)
{                                                              
        case '0':                                                            
            cout << "iVar = "<< iVar << "\n";                 
            break;
                case '1':
            cout << "iVar = "<< iVar << "\n"; 
            break;
        case '2':
            cout << "iVar = "<< iVar << "\n";
            break;
        case '3':
            cout << "iVar = "<< iVar << "\n"; 
            break;
        default:
            cout << " not 0 or 1 or 2 or 3 \n";
        break;
    }
    cout <<"First number = ";
    cin >> FirstNumber;
    cout <<"Second number = ";
    cin >> SecondNumber;
    if (iVar==0)
        {   
            cout << FirstNumber << " - " << SecondNumber << " = " << FirstNumber-SecondNumber << "\n";
        }
    if (iVar==1)
        {
            cout << FirstNumber << " + " << SecondNumber << " = " << FirstNumber+SecondNumber << "\n";
        }
    if (iVar==2)
        {
            cout << FirstNumber << " * " << SecondNumber << " = " << FirstNumber*SecondNumber << "\n";
        }
    if (iVar==3)
        {
            if(SecondNumber==0)
            {
                cout << "not divide by 0 \n";
            }
            else(SecondNumber!=0);
            {
                cout << FirstNumber << " * " << SecondNumber << " = " << FirstNumber/SecondNumber << "\n";
            }
        }
 
    return 0;
} 
 
в этой части не работает проверка выбора цифры пишу другую цифру компилятор продолжает работу  затем просто выходит
switch (iVar)
{                                                              
        case '0':                                                            
            cout << "iVar = "<< iVar << "\n";                 
            break;
                case '1':
            cout << "iVar = "<< iVar << "\n"; 
            break;
        case '2':
            cout << "iVar = "<< iVar << "\n";
            break;
        case '3':
            cout << "iVar = "<< iVar << "\n"; 
            break;
        default:
            cout << " not 0 or 1 or 2 or 3 \n";
        break;
    }
если кто может подскажите в чем проблема. Заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DEA7H
.NET ONLY
 Аватар для DEA7H
62 / 62 / 1
Регистрация: 05.10.2011
Сообщений: 495
12.02.2013, 03:32     Простой калькулятор #2
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
77
78
79
80
81
82
83
84
85
// CF1.cpp: определяет точку входа для консольного приложения.
// Author: DEA7H
//
 
#include "stdafx.h"
#include <iostream>
#include <string>
#include <consoleapi.h>
#include <sstream>
#include <map>
 
using namespace std;
 
void schitalka(int iVar)
{
    double FirstNumber, SecondNumber;
    cout <<"First number = ";
    cin >> FirstNumber;
    cout <<"Second number = ";
    cin >> SecondNumber;
 
    if (iVar==0)
    {
        cout << FirstNumber << " - " << SecondNumber << " = " << FirstNumber-SecondNumber << "\n";
    }
    if (iVar==1)
    {
        cout << FirstNumber << " + " << SecondNumber << " = " << FirstNumber+SecondNumber << "\n";
    }
    if (iVar==2)
    {
        cout << FirstNumber << " * " << SecondNumber << " = " << FirstNumber*SecondNumber << "\n";
    }
    if (iVar==3)
    {
        if(SecondNumber==0)
        {
            cout << "not divide by 0 \n";
        }
        else(SecondNumber!=0);
        {
            cout << FirstNumber << " / " << SecondNumber << " = " << FirstNumber/SecondNumber << "\n";
        }
    }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, ".1251");
 
    int iVar;
 
    cout << "|____|____|____|____|\n";
    cout << "|- 0 -|- 1 -|- 2 -|- 3 -|\n";
    cout << "| - | + | * | / |\n";
    cout << "|____|____|____|____|\n";
    cout << "| please celect number |\n";
    cin >> iVar;
 
    switch (iVar)
    {
    case 0:
        cout << "iVar = "<< iVar << "\n";
        schitalka(iVar);
        break;
    case 1:
        cout << "iVar = "<< iVar << "\n";
        schitalka(iVar);
        break;
    case 2:
        cout << "iVar = "<< iVar << "\n";
        schitalka(iVar);
        break;
    case 3:
        cout << "iVar = "<< iVar << "\n";
        schitalka(iVar);
        break;
    default:
        cout << " not 0 or 1 or 2 or 3 \n";
        break;
    }
 
    system("pause");
    return 0;
}
riml9inin
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 43
12.02.2013, 10:45  [ТС]     Простой калькулятор #3
попробовал компилировать ваш код выдает ошибки(не известные директивы и операторы)
DEA7H
.NET ONLY
 Аватар для DEA7H
62 / 62 / 1
Регистрация: 05.10.2011
Сообщений: 495
12.02.2013, 10:47     Простой калькулятор #4
Цитата Сообщение от riml9inin Посмотреть сообщение
код выдает ошибки
Ем... Этот код полностью рабочий. Это Ваш код просто часть его я вынес в процедуру. Уберите все INCLUDE оставив только IOSTREAM;
riml9inin
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 43
12.02.2013, 12:29  [ТС]     Простой калькулятор #5
1>------ Построение начато: проект: ваыва, Конфигурация: Debug Win32 ------
1> main.cpp
1>c:\лабы по с++\ваыва\ваыва\main.cpp(37): error C2061: синтаксическая ошибка: идентификатор "_TCHAR"
1>c:\лабы по с++\ваыва\ваыва\main.cpp(75): fatal error C1075: конец файла обнаружен ранее, чем левая фигурная скобка "{" в "c:\лабы по с++\ваыва\ваыва\main.cpp(38)"
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
12.02.2013, 12:40     Простой калькулятор #6
Цитата Сообщение от riml9inin Посмотреть сообщение
с ошибками: 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
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 <iostream>
#include <cstdlib>
using namespace std;
 
void schitalka(int iVar)
{
    double FirstNumber, SecondNumber;
    cout <<"First number = ";
    cin >> FirstNumber;
    cout <<"Second number = ";
    cin >> SecondNumber;
 
    if (iVar==0)
    {
        cout << FirstNumber << " - " << SecondNumber << " = " << FirstNumber-SecondNumber << "\n";
    }
    if (iVar==1)
    {
        cout << FirstNumber << " + " << SecondNumber << " = " << FirstNumber+SecondNumber << "\n";
    }
    if (iVar==2)
    {
        cout << FirstNumber << " * " << SecondNumber << " = " << FirstNumber*SecondNumber << "\n";
    }
    if (iVar==3)
    {
        if(SecondNumber==0)
        {
            cout << "not divide by 0 \n";
        }
        else(SecondNumber!=0);
        {
            cout << FirstNumber << " / " << SecondNumber << " = " << FirstNumber/SecondNumber << "\n";
        }
    }
}
 
int main()
{
    setlocale(LC_ALL, ".1251");
 
    int iVar;
 
    cout << "|____|____|____|____|\n";
    cout << "|- 0 -|- 1 -|- 2 -|- 3 -|\n";
    cout << "| - | + | * | / |\n";
    cout << "|____|____|____|____|\n";
    cout << "| please celect number |\n";
    cin >> iVar;
 
    switch (iVar)
    {
    case 0:
        cout << "iVar = "<< iVar << "\n";
        schitalka(iVar);
        break;
    case 1:
        cout << "iVar = "<< iVar << "\n";
        schitalka(iVar);
        break;
    case 2:
        cout << "iVar = "<< iVar << "\n";
        schitalka(iVar);
        break;
    case 3:
        cout << "iVar = "<< iVar << "\n";
        schitalka(iVar);
        break;
    default:
        cout << " not 0 or 1 or 2 or 3 \n";
        break;
    }
 
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2013, 13:09     Простой калькулятор
Еще ссылки по теме:

Простой калькулятор, выбивает ошбку( C++
простой калькулятор C++
Разработать простой калькулятор C++

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

Или воспользуйтесь поиском по форуму:
riml9inin
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 43
12.02.2013, 13:09  [ТС]     Простой калькулятор #7
спс теперь компилируется, но есть загвоздка в условии:

C++
1
2
3
4
5
6
7
8
9
10
11
if (iVar==3)
    {
        if(SecondNumber==0)
        {
            cout << "not divide by 0 \n";
        }
        else(SecondNumber!=0);
        {
            cout << FirstNumber << " / " << SecondNumber << " = " << FirstNumber/SecondNumber << "\n";
        }
    }
При делении на 0 должно выполняться 1 условие на этом конец , но выдает он 1 и 2 и + ко всему пытается дать ответ на 2 условие; как от этого избавиться;
Cпс всем за помощь.
Yandex
Объявления
12.02.2013, 13:09     Простой калькулятор
Ответ Создать тему
Опции темы

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