Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Docto who
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 2
#1

Табличный калькулятор - C++

02.06.2013, 01:47. Просмотров 836. Ответов 3
Метки нет (Все метки)

Люди помогите пишу табличный калькулятор ( как сказать калькулятор там всего 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
        #include "stdafx.h"
    #include "iostream"
    #include <windows.h>
    #include <cmath>
    #include <cstdlib>
    #include <conio.h>
    #include <fstream>
 
    using namespace std;
 
    int main(int choice , int choice2)
    {   
    double result=0 , rezult1=0;
    while (choice)
    {
    cout << "\nchoose y = A*Sin(Bx)+C (1)" << endl;
    cout << "or y = cos(x)+sin^2(z)+c (2) " << endl;
    cin >> choice; 
    switch(choice)
    {           
                        m1:case 1:
    {
    cout << "Dla to4ki (1)" << endl;
    cout << "Intrval (2)" << endl;
    cin>> choice ;
    if(choice==1)
    {
        cout << "you chosen! y = A*Sin(Bx)+C" << endl;
        double x,y,b,c;
        cout << "insert A: " << endl;
        cin >> y;
        cout << "insert B:" << endl;
        cin >> b;
        cout << "insert x:" << endl;
        cin >> x;
        cout << "insert C:" << endl;
        cin >> c;
        result = y*sin(b*x)+c;
        cout<< result << endl;
    }
    if(choice==2)
    {
        cout << "you chosen!!! y = A*Sin(Bx)+C" << endl;
        double x,y,b,c,d,a,i,h,result;
        cout << "insert A: " << endl;
        cin >> y;
        cout << "insert B:" << endl;
        cin >> b;
        cout << "insert C:" << endl;
        cin >> c;
        cout << "Na4alnoe zna4enie i:" << endl;
        cin>> i;
        cout << "Kone4noe znazenie x:" << endl;
        cin >> x;
        cout << "Hag h:" << endl;
        cin>> h;
        for(double i=0;i<x;i=i+h)
        { 
        cout<<"i="<<+i<<"\t"<<"result= "<<y*sin(b*i)+c<<endl;
        }
        } 
    else
    {
        goto m1;
    }
        break;
            }
        m2:case 2:
        {
        cout << "Dla to4ki (1)" << endl;
        cout << "Intrval (2)" << endl;
        cin>>choice2;
        if(choice2==1)
        {
            cout << "you chosen! y = cos(x)+sin^2(z)+c" << endl;
            double a,s,d,result1 ;
            cout << "insert x: " << endl;
            cin >> a;
            cout << "insert z: " << endl;
            cin >> s;
            cout << "insert c: " << endl;
            cin >> d;
            result1 = cos(a)+sin(s)*sin(s)+d;
            cout << result1 << endl;
        }
 
        if(choice2==2)
        {
            cout << "you chosen!!!! y = cos(x)+sin^2(z)+c" << endl;
            double a,s,d,i,h,x,result1 ;
            cout << "insert z: " << endl;
            cin >> s;
            cout << "insert c: " << endl;
            cin >> d;
            cout << "Na4alnoe zna4enie i:" << endl;
            cin>> i;
            cout << "Kone4noe znazenie x:" << endl;
            cin >> x;
            cout << "Hag h:" << endl;
            cin>> h;
            for(double i=0;i<x;i=i+h)
            {    
            cout<<"i"<< +i <<"\t"<<"result1= "<<cos(i)+sin(s)*sin(s)+d<<endl; 
            }
        }
        else
        {
            goto m2;
        }   
                }
    
    // cout<<"Coxranit v fail (2)"<<endl;
    //    cin>> choice3;
 
    //switch(choice3)
    //{
    // 
    // case 1:
    //  {
    //  }
    // case 2:
    //  { 
    //    void zapis(); // записываем в .txt файл
    // {    
    //    ofstream fout;
    //     fout.open("otvety.txt");
    //       if(fout.is_open())
    //           {
    //          
    //            if(result==0)
    //   {
    //               fout << rezult1 << endl; 
    //   }
    //   else
    //   {
    //    fout<<result<<endl;
    //   }
    //             
    //             }
    //     fout.close();
    //     }
    }
    if (choice!=1 || choice!=2)
    cout<<"Vvedite zanovo "; 
    }  
        printf ("press enter to close window", getchar());
        getchar();
                    }
Там где закоментированный код это я пробовал сохранить ответ в текстовый фаил.
P,S Заранее спасибо))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 01:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Табличный калькулятор (C++):

виртуальный табличный указатель - C++
виртуальным табличным указателем vptr (указатель на таблицу виртуальных методов класса, которому принадлежит объект) является указатель p...

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

Калькулятор - C++
Здравствуйте. Нужна ваша помощь. написал простой калькулятор, можно сделать так, чтобы он считал большие вещественные числа типа...

Калькулятор - C++
Всем привет ) Пожалуйста подскажите почему мы пишем &quot; scanf (&quot;%c&quot;, &amp;oper); scanf (&quot;%c&quot;, &amp;oper); &quot; 2 строки подряд ? #include...

Калькулятор - C++
Всем привет) Начну с того что я не программист... Но вот решил просто освоить для себя. Выбрал язык Си. Купил книгу начал читать....

Калькулятор на C++ - C++
Приветствую всех. Ребят нужна помощь, в с++ особо то не рублю, веб-разработкой занимаюсь, а дали задание. Может у кого есть подобное &quot;чудо&quot;...

3
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.06.2013, 02:17 #2
Так будет обработка ошибки, если первая не цифра или не знаки + - с цифрой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
while (true)
{
        cin >> a;
        if (!cin)
        {
            cin.clear();
            while (cin.get() != '\n');
            cout << "Error!" << endl;
        }
        else
        {
            if (cin.peek() != '\n') 
            {
                while (cin.get() != '\n');
                break;
            }
            break;
        }
}
0
Docto who
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 2
02.06.2013, 02:18 #3
Оооооо дааааа оно работает О.О МАГИЯ! Чууваааак я бы тебя расцеловал был бы ты девчвёнкойDDDD
0
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.06.2013, 02:46 #4
Рациональнее так:
C++
1
2
3
4
5
6
while (!(cin >> a) || (cin.peek() != '\n'))
{
        cin.clear();
        while (cin.get() != '\n');
        cout << "Error!" << endl;
}
Можно сделать отдельной функцией и передавать в неё переменные для ввода по ссылке.

Добавлено через 1 минуту

Не по теме:

Я плюсы коллекционирую.

0
02.06.2013, 02:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2013, 02:46
Привет! Вот еще темы с ответами:

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

Калькулятор - C++
Подскажите, что мне сделать с операндом Result чтобы функция main запускалась заново после того как есть Result. #include &lt;iostream&gt; ...

Калькулятор - C++
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { ...

Калькулятор - C++
Доброго времени суток, Народ! Помогите плиз с задачей. Нужен исходник калькулятора, самого простого, на 4 действия. Заранее спасибо!!!


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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