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

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

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

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

02.06.2013, 01:47. Просмотров 776. Ответов 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 Заранее спасибо))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 01:47     Табличный калькулятор
Посмотрите здесь:

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

калькулятор - C++
Всем привет, извините, что постю сюда эту тему, но выхода нет((( Проблема состоит в том что надо сделать калькулятор из множества действий...

Калькулятор - C++
Помогите пожалуйста сделать в этом калькуляторе скобки. #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include...

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

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

Калькулятор - C++
Как создать калькулятор? Самый обычный, какой есть в стандартных программах, не инженерный. С дизайном разобралась, а с кодом вообще не...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 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;
        }
}
Docto who
Сообщений: n/a
02.06.2013, 02:18     Табличный калькулятор #3
Оооооо дааааа оно работает О.О МАГИЯ! Чууваааак я бы тебя расцеловал был бы ты девчвёнкойDDDD
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2013, 02:46     Табличный калькулятор
Еще ссылки по теме:

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

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

Калькулятор на С++ - C++
Сделал калькулятор, работает нормально, но программа считает только два числа за раз: &gt;&gt;Картинка&lt;&lt; , как сделать так чтоб пользователь...

Калькулятор - C++
Пишу калькулятор. Прошу помощи. Вот мой код #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;string.h&gt; #include &lt;cmath&gt; using...

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

Калькулятор в С++ - C++
Ребята, у кого есть код калькулятора, киньте пожалуйста. Буду очень благодарен.


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 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 минуту

Не по теме:

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

Yandex
Объявления
02.06.2013, 02:46     Табличный калькулятор
Ответ Создать тему
Опции темы

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