Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Помогите реализовать деление на 0 (калькулятор)

Ответить
Настройки темы
C/C++ - Помогите реализовать деление на 0 (калькулятор)

Аватара для virus8

Пользователь


Сообщения: 63
Благодарности: 4

Профиль | Отправить PM | Цитировать


Изменения
Автор: Drongo
Дата: 10-11-2011
Описание: добавил код через else-if
Собственно такая просьба: занялся изучением С++ и у меня в упражнении надо реализовать деление на ноль (просто хотя б объясните , а то мне в мозги не укладывается решение).
вот код: со switch
читать дальше »

Код: Выделить весь код
#include <iostream>
 int main()
 {
 float a,b;//peremenie 	
char op;//operation 
float res;//resultat  	
std::cout<<"Enter expression: "; 	
std::cin>>a>>op>>b;  	
switch(op) 	
{ 	
case '+': 		
res=a+b; 		
break; 	
case '-': 		
res=a-b;         
break; 	
case'/': 		
res=a/b; 		
break; 	
case '*': 		
res=a*b; 		
break; 	
default: 		
std::cout<<"Bad operation"; 		
return 0; 	
} 	      
std::cout<<res<<std::endl; 	
return 0; 
}


вот код : с else if
Код: Выделить весь код
#include <iostream>
int main()
{
	float a,b;
	char op;
	float res;

	std::cout<<"Enter expression: ";
	std::cin>>a>>op>>b;

	if (op == '-')
		res =a-b;
	else if (op == '+')
		res = a+b;
	else if (op == '/')
		res =a/b;
	else if (op == '*')
		res = a*b;
	else 
	{
		std::cout<<"bad operation"<<std::endl;
		return 0;
	}
	std::cout<<"resultat: "<<res<<std::endl;
	return 0;
}
С else-if разобрался!!!!

Помогите кто то еще решить эту задачу через switch!!!

Отправлено: 11:19, 06-10-2011

 

Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


сделайте на if-else, там и проверку можно будет вставить

вот так

Код: Выделить весь код
else if ((op == '/')&&(a!=0) )

Последний раз редактировалось ferget, 06-10-2011 в 14:14.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:23, 06-10-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для virus8

Пользователь


Сообщения: 63
Благодарности: 4

Профиль | Отправить PM | Цитировать


Блин, чет у меня мозги не могут это переварить. добавил такой код и у меня все равно не получается
читать дальше »

else if ((op == '/')&&(a!=0))
{
std::cout<<"na 0 delit nelzya";
return 0;


(пробЫвал поставить вместо a - b все равно при проведении расчетов вместо ответа выводит иероглифы!)

все разобрался ))))
else if ((op == '/')&&(b!=0) ) надо было b поставить!!!
спасибо!!!

Отправлено: 14:49, 06-10-2011 | #3


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


virus8, Сделайте для деления функцию, н-р так (самое простейшее):

Код: Выделить весь код
float division (float a, float b)// a - делимое, b - делитель
{
     if (b == 0)
    {
           cout << "на ноль делить нельзя";
           return 0;
     }
     else
           return a/b;
}
ну а в самом коде программы :
Код: Выделить весь код
case'/':
res=division(a,b);
break;
Ну а с "красотой" поэкспериментируйте

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:03, 06-10-2011 | #4


Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
#include <iostream>
int main()
{
float a,b;
char op;
float res;

std::cout<<"Enter expression: ";
std::cin>>a>>op>>b;

if (op == '-')
res =a-b;
else if (op == '+')
res = a+b;
else if ((op == '/')&&(b!=0))
res =a/b;
else if (op == '*')
res = a*b;
else 
{
	if (b==0)
	{std::cout<<"na 0 delit nelzya"<<std::endl;
	return 0;
	}else
	{
	std::cout<<"bad operation"<<std::endl;
	return 0;
	}
}
std::cout<<"resultat: "<<res<<std::endl;
return 0;
}
или код LilLoco,
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:13, 06-10-2011 | #5


Аватара для virus8

Пользователь


Сообщения: 63
Благодарности: 4

Профиль | Отправить PM | Цитировать


спасибо LilLoco ferget!!!

ваши ответы помогли мне наконец понять , что именно у меня были за ошибки)))
просто до функций я еше не совсем дорос((
так хоть с if разобрался

Отправлено: 15:21, 06-10-2011 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Помогите реализовать деление на 0 (калькулятор)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Помогите реализовать скачивание html страницы и поиск в ней alexmoreman Скриптовые языки администрирования Windows 21 13-08-2010 18:18
Java - Помогите написать типографический калькулятор AsD05 Программирование и базы данных 0 11-06-2010 04:39
VBS/WSH/JS - Помогите реализовать выполнение команд при логоне. ufunf Программирование и базы данных 5 26-08-2009 13:08
помогите реализовать diga Флейм 4 28-03-2009 14:07
Помогите разобраться, как реализовать в груповой политике. sergeynur Microsoft Windows NT/2000/2003 6 18-07-2008 11:19




 
Переход