Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2012, 16:03   #1
Vitekc++
 
Регистрация: 23.11.2012
Сообщений: 7
Сообщение Простой пример калькулятора на C++

Я на самом деле только учусь языку C++ и вот хотел посмотреть как вы оцените эту программу:
Код:
#include <iostream>
using namespace std;
int main()
{
	int go;
	int all;
	int a;
	int b;
	char dir;
	cout<<"1:continue,any:exit: ";
	cin>>go;
	while(go=1)
	{
	cout<<"Write your primer: ";
	cin>>a;
	cin>>dir;
	cin>>b;
	switch(dir)
	{
	case '-':all=a-b;
		     cout<<"= "<<all<<endl;break;
	case '+':all=a+b;
		     cout<<"= "<<all<<endl;break;
	case '/':all=a/b;
		     cout<<"= "<<all<<endl;break;
	case '*':all=a*b;
		     cout<<"= "<<all<<endl;break;
	}
	}
	return 0;
}

Последний раз редактировалось Vitekc++; 20.12.2012 в 17:00.
Vitekc++ вне форума Ответить с цитированием
Старый 20.12.2012, 16:04   #2
Vitekc++
 
Регистрация: 23.11.2012
Сообщений: 7
По умолчанию

Ах да если кто может прошу помочь в обучении)
Vitekc++ вне форума Ответить с цитированием
Старый 20.12.2012, 16:29   #3
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

0) Программный код на форуме следует оформлять тегом CODE.
1) После компиляции и запуска Вы уже выяснили, что программа не работает ожидаемым образом? Если нет, начните с этого.
2) Очевидная проблема: 3/0=упс.
3) Чуть менее очевидная проблема: 65536*32768=ещё упс.
4) 2 + 2=третий упс.

P.S. А так сносно. Хотя почему символ операции назван dir - не очень понятно, и комментарии хорошо бы привыкать писать сразу, хотя бы минимальные.

Последний раз редактировалось Abstraction; 20.12.2012 в 16:34.
Abstraction вне форума Ответить с цитированием
Старый 20.12.2012, 16:34   #4
Vitekc++
 
Регистрация: 23.11.2012
Сообщений: 7
По умолчанию

Я прошу помочь с обучением а не критиковать

Последний раз редактировалось Vitekc++; 20.12.2012 в 16:41.
Vitekc++ вне форума Ответить с цитированием
Старый 20.12.2012, 16:43   #5
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

int go;
...
while(go=1)

- для чего это?
EUGY вне форума Ответить с цитированием
Старый 20.12.2012, 16:43   #6
Vitekc++
 
Регистрация: 23.11.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
0) Программный код на форуме следует оформлять тегом CODE.
1) После компиляции и запуска Вы уже выяснили, что программа не
работает ожидаемым образом? Если нет, начните с этого.
2) Очевидная проблема: 3/0=упс.
3) Чуть менее очевидная проблема: 65536*32768=ещё упс.
4) 2 + 2=третий упс.

P.S. А так сносно. Хотя почему символ операции назван dir - не очень понятно, и комментарии хорошо бы привыкать писать сразу, хотя бы минимальные.
0)Ладно я не знал.
1)Я просто хочу попросить помощи в обучении
3)Нужно просто место переменной int поставить long или нет))
4)У мя все норм работает

Последний раз редактировалось Vitekc++; 20.12.2012 в 16:50.
Vitekc++ вне форума Ответить с цитированием
Старый 20.12.2012, 16:44   #7
Vitekc++
 
Регистрация: 23.11.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от EUGY Посмотреть сообщение
int go;
...
while(go=1)

- для чего это?
Я учюсь
Это цикл что бы программа повторялась))
Vitekc++ вне форума Ответить с цитированием
Старый 20.12.2012, 16:46   #8
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Тогда как это соотносится с
Цитата:
1:continue,any:exit:
EUGY вне форума Ответить с цитированием
Старый 20.12.2012, 16:51   #9
Vitekc++
 
Регистрация: 23.11.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от EUGY Посмотреть сообщение
Тогда как это соотносится с
Если ты вводишь 1 ты продолжаешь если что нибудь выход))
Можешь помочь в обучении?
Я читаю Лафоре учусь постепенно
Vitekc++ вне форума Ответить с цитированием
Старый 20.12.2012, 16:58   #10
Vitekc++
 
Регистрация: 23.11.2012
Сообщений: 7
По умолчанию

Кстате вот отредактированный немного
Код:
#include <iostream>
using namespace std;
int main()
{
	int go;
	int all;
	int a;
	int b;
	char dir;
	cout<<"1:continue,any:exit: ";
	cin>>go;
	while(go=1)
	{
	cout<<"Write your primer: ";
	cin>>a;
	cin>>dir;
	cin>>b;
	switch(dir)
	{
	case '-':all=a-b;
		     cout<<"= "<<all<<endl;break;
	case '+':all=a+b;
		     cout<<"= "<<all<<endl;break;
	case '/':if(b<0)
			 {
		     all=a/b;
		     cout<<"= "<<all<<endl;
			 }else
			 {
				 cout<<"Error!You can't do it!";
			 }break;
	case '*':all=a*b;
		     cout<<"= "<<all<<endl;break;
	}
	}
	return 0;
}
Vitekc++ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DirectX Простой пример Кудаив Помощь студентам 0 24.10.2012 09:51
Простой, вроде, пример на С++ ЛЕШЬ Общие вопросы C/C++ 4 25.03.2012 16:49
Не запускается простой пример SkrudjMakdak Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 0 29.12.2011 12:44
Простой пример AJAX cargo29 JavaScript, Ajax 12 26.09.2011 16:40
Самый простой пример J-Max C++ Builder 1 03.12.2010 22:59