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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 60, средняя оценка - 4.97
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
#1

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

09.10.2010, 18:37. Просмотров 10933. Ответов 8
Метки нет (Все метки)

Калькулятор считает сумму, разность, произведение и частное двух чисел a и b

Код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
int main()
{
float a,b;
char ch;
printf ("eta programma - prosteishiy kal'kulyator\n");
printf ("vvelite pervoe chislo, zatem znak: '+', '-', '*', '/' ili '%'\n");
printf ("zatem vvedite vtoroe chislo\n");
printf ("vvod dannix:\n");
scanf ("%f%c%f",&a,&ch,&b);
switch (ch)
{
case '+': printf("=%g",a+b); break;
case '-': printf("=%g",a-b); break;
case '*': printf("=%g",a*b); break;
case '/': if (b) printf("=%g",a/b); break; 
}
getch();
}
Работает, но!

1) я хочу сделать так, чтобы если ввод был неверный, программа сообщила пользователю об ошибке;
2) также я хочу получать остаток от деления этих двух чисел;
3) чтобы ровно с результатом стояло сразу за вводом, а не на новой строке;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2010, 18:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Простейший калькулятор (C++):

простейший калькулятор - C++
include &lt;iostream&gt; using namespace std; void main() { float x, y, z; char* 'r'; cout&lt;&lt;&quot;BBEDUTE 4UCJ|O&quot;&lt;&lt;endl; ...

Простейший калькулятор - C++
Всем привет :) Это одна из самых первых моим программ в C++. Решил попробовать простейший калькулятор сделать с 4 функциями. Почему-то...

Простейший калькулятор - C++
Есть код на решение примеров +,-,*. при запуске знаков или не видно или они не правильно стоят.((( Заранее багодарен. ...

Простейший калькулятор - C++
Хотел написать простейший калькулятор с возможностями +-/*, но компилятор выдал аж 13 ошибок утверждающих что я должен ставить ; перед...

Простейший калькулятор на YACC - C++
Добрый вечер при написании калькулятора возникла затрудненость: Надо в калькулятор добавить &quot;знак&quot; остаток от деления. C приложеным...

Написать простейший калькулятор - C++
задача на оператор выбора С++ Написать программу, которая вводит 2 числа и символ операции (*,/,-,+). Затем в зависимости от символа,...

8
Mencey
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
09.10.2010, 18:46 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
int main()
{
float a,b;
char ch;
printf ("eta programma - prosteishiy kal'kulyator\n");
printf ("vvelite pervoe chislo, zatem znak: '+', '-', '*', '/' ili '%'\n");
printf ("zatem vvedite vtoroe chislo\n");
printf ("vvod dannix:\n");
scanf ("%f%c%f",&a,&ch,&b);
switch (ch)
{
case '+': printf("=%g",a+b); break;
case '-': printf("=%g",a-b); break;
case '*': printf("=%g",a*b); break;
case '/': if (b) printf("=%g",a/b); break;
case '%': printf("=%g",a%b); break; // Остаток от деления
}
getch();
}
0
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
09.10.2010, 18:46 #3
1) try{...}catch
2) В чём проблема? a % b.
3) Поставьте '\n'
0
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
09.10.2010, 19:06  [ТС] #4
поставить \n - это конечно замечательно, но где?
нужен исправленный код
Mencey, на твой код выдается ошибка:
invalid operands of types `float' and `float' to binary `operator%'
0
TheMachinist
244 / 176 / 15
Регистрация: 14.06.2010
Сообщений: 422
09.10.2010, 19:49 #5
Остаток от деления можно получить используя ф-ю fmod включив math.h
Если пользователь вместо +,-,/,* или % нажал что-нибудь другое ,выводится "input error"(ошибка ввода")

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<math.h>
#include <stdio.h>
#include <conio.h>
int main()
{
float a,b;
char ch;
printf ("eta programma - prosteishiy kal'kulyator\n");
printf ("vvelite pervoe chislo, zatem znak: '+', '-', '*', '/' ili '%'\n");
printf ("zatem vvedite vtoroe chislo\n");
printf ("vvod dannix:\n");
scanf ("%f%c%f",&a,&ch,&b);
switch (ch)
{
case '+': printf("=%g",a+b); break;
case '-': printf("=%g",a-b); break;
case '*': printf("=%g",a*b); break;
case '/': if (b) printf("=%g",a/b); break;
case '%': printf("=%g",fmod(a,b)); break;
default: printf("Input error!!!");
}
getch();
}
1
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
09.10.2010, 19:56  [ТС] #6
а как сделать чтобы программа выдавала выражение в одну строку?
Пример: 3+2=5
А не это: 3+2
=5
0
TheMachinist
244 / 176 / 15
Регистрация: 14.06.2010
Сообщений: 422
09.10.2010, 20:26 #7
а как сделать чтобы программа выдавала выражение в одну строку?
Пример: 3+2=5
А не это: 3+2
=5
Я могу рекомендовать только очистку экрана clrscr()
В case прописывается примерно следующее:

(я совсем не силен а синтаксисе С) printf(a ch b "=%g",.......);

то есть стираем то что ввели и переписываем выражение сначала
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
09.10.2010, 20:34 #8
NikolaWhite, Если я не ошыбаюсь то clrscr() есть только в борланде.
0
TheMachinist
244 / 176 / 15
Регистрация: 14.06.2010
Сообщений: 422
09.10.2010, 20:44 #9
Лично я пользуюсь system("cls"); для очистки экрана
0
09.10.2010, 20:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2010, 20:44
Привет! Вот еще темы с ответами:

Не могу найти ошибку "Простейший калькулятор" - C++
есть код #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; void main() { int a, b, z; char znak; cout &lt;&lt; &quot;Input...

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

Простейший код - C++
Нужно написать код который будет менять местами цифры то есть изначально такой порядок int m={1,4,3,6,2} а на выходе обратный порядок...

Простейший счетчик - C++
как подсчитать количество наибольших чисел масива #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;stdio.h&gt; ...


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

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

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