Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 22.12.2011, 18:41   #1 (permalink)
mSnick
Новичок
 
Регистрация: 22.12.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите отладить программу на С++

если срабатывает условие cin.good() == false (если например ввожу буквы вместо цифр), программа пишет ERROR!!, что впринципе правильно и тут же выходит из цикла и завершается, что неправильно
помогите пожалуйста исправить это



Код:
#include "stdafx.h"
using namespace std;
bool err = false;
double x, y;
char op;

double calc (double x, char op, double y);
void vvod_vivod();

int main()
{
	vvod_vivod();

}


void vvod_vivod()
{
char rep;
do
	{
		cout << "press math operation: ";
		cin >> x >> op >> y;
		if ( cin.good() == false )
			err = true;
		
			if (err == 0)
				cout <<  "Otvet: " <<  calc(x,op,y) << endl;
			else 
				cout << "ERROR!! \n";
		cout << "Repeat? [y/n] ";
		cin >> rep;
	}
while (rep == 'Y' || rep == 'y');
}


double calc (double x, char op, double y)
{
	switch (op)
	{
		case '+': 
			return x+y; break; 
		case '-': 
			return x-y; break;
		case '*': 
			return x*y; break;
		case '/': 
			if (y == 0){err = true; break;}
			else { return x/y; break;} 
	}	
}
mSnick вне форума   Ответить с цитированием

Старый 22.12.2011, 18:41
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Напомню вам, что на форуме есть похожие топики

Помогите написать программу
Помогите написать программу на СИ
Помогите отладить программу
Помогите написать программу
Помогите написать программу

Старый 22.12.2011, 21:13   #2 (permalink)
mSnick
Новичок
 
Регистрация: 22.12.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

все, сам разобрался.
mSnick вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 21:28.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.