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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2013, 13:40   #1
taskanov
Новичок
Джуниор
 
Регистрация: 08.01.2013
Сообщений: 2
Сообщение Программирование в си++ под linux'ом ...

Здравствуйте ... Прошу помощи
Я только учусь кодить в си++ . Решил написать консольную программу (калькулятор) // Но ничего не получается (((
Калькулятор считает по два раза .. причём второй раз неправильно

Код:
#include <iostream>
using namespace std;
int main()
{
int digit,digit2;
char action;
std::cout<<"Введите операцию : ";
std::cin>>digit;
std::cin>>action;
std::cin>>digit2;

if (action== '+')
{std::cout<<"\nГотово : "<<digit<<action<<digit2<<"="<<digit+digit2<<"\n";}
if (action== '-')
{std::cout<<"\nГотово : "<<digit<<action<<digit2<<"="<<digit-digit2<<"\n";}
if (action== '*')
{std::cout<<"\nГотово : "<<digit<<action<<digit2<<"="<<digit*digit2<<"\n";}
if (action == '/' && digit2==0)
{std::cout<<"\nДеление на ноль запрещено!\a\n";}
else
{std::cout<<"\nГотово : "<<digit<<action<<digit2<<"="<<digit/digit2<<"\n";}
return 0;
}
Помогите разобраться .. В коде ошибок вродибы нету .. Что тогда !!??
Вот . так отрабатывает программа ..
Изображения
Тип файла: jpg Снимок экрана от 2013-01-08 11:14:04.jpg (25.2 Кб, 127 просмотров)
taskanov вне форума Ответить с цитированием
Старый 08.01.2013, 20:35   #2
Format C:
Пользователь
 
Регистрация: 11.03.2007
Сообщений: 92
По умолчанию

Измени код деления так:
Код:
if (action == '/')
{
    if (digit2==0)
        {std::cout<<"\nДеление на ноль запрещено!\a\n";}
    else
        {std::cout<<"\nГотово : "<<digit<<action<<digit2<<"="<<digit/digit2<<"\n";}
}
Второй раз выводит из-за того, что операция не деление, вот он и попадает на else

Последний раз редактировалось Format C:; 08.01.2013 в 20:38.
Format C: вне форума Ответить с цитированием
Старый 08.01.2013, 20:43   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А я бы так писал:
Код:
#include <iostream>
using namespace std;
int main()
{
int digit,digit2,res=0;

char action;
std::cout<<"Введите операцию : ";
std::cin>>digit;
std::cin>>action;
std::cin>>digit2;

if (action== '+') res=digit+digit2; else
if (action== '-') res=digit-digit2; else
if (action== '*') res=digit*digit2; else
if (action == '/') {
 if(digit2!=0)  res=digit/digit2;
 else std::cout<<"\nДеление на ноль запрещено!\a\n";
}

std::cout<<"\nГотово : "<<digit<<action<<digit2<<"="<<res<<"\n";
return 0;
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.01.2013, 23:48   #4
taskanov
Новичок
Джуниор
 
Регистрация: 08.01.2013
Сообщений: 2
По умолчанию

Даа - да .. я уже разобрался ...!
Ну всё равно спасибо за ответ.
taskanov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование под браузеры stenl1 Общие вопросы C/C++ 5 05.05.2011 17:49
Программирование под Android mzuko Софт 2 22.04.2011 13:08
Программирование под SUSE WESTnik Qt и кроссплатформенное программирование С/С++ 4 03.04.2011 20:35
Программирование под 64 Alex Cones Свободное общение 37 18.01.2011 18:33
программирование под WM Mclaren Софт 1 21.04.2010 13:28