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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
m4dn3ss
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 3
#1

Консольный калькулятор требует описание - C++

03.04.2010, 13:23. Просмотров 1309. Ответов 5
Метки нет (Все метки)

Приветствую!

Я написал простенький консольный калькулятор на C++ и хотел бы знать описание нескольких шагов. Знаю звучит глупо будто написал не я, но так уж получилось, что я не понял строчки 10 и 11 . Так же прошу высказать какие-либо замечания к программе, где нибудь поправить, подсказать и т.п. Прошу помочь.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
 
        double a,b;             //описание переменных a и b
        char s[2],c1[2],c2[2];  //описание строк s, c1 и c2
        cin>>s;                 //ввод строки s    
        c1[0]=s[0]; c2[0]=s[2]; //?
        c1[1]=NULL; c2[1]=NULL; //?
        a=atof(c1); b=atof(c2); //преобразование строки c1 и c2 в числа a и b.
        switch (s[1]){
                case '+' : cout<<a+b<<endl; break; 
                case '-' : cout<<a-b<<endl; break; 
                case '*' : cout<<a*b<<endl; break; 
                case '/' : cout<<a/b<<endl; break; 
        }
}
так же добавлю, что калькулятор может работать только с однозначными числами.
Ввод: 7+9 | 9*9
Вывод: 16 | 81
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2010, 13:23     Консольный калькулятор требует описание
Посмотрите здесь:

Консольный калькулятор на вычитание - C++
Здравствуйте. Помогите пожалуйста разобраться в двух ошибках. Самой трудно понять, так как программирование плохо знаю. Задание: Нужно...

Доделать консольный калькулятор - C++
Ребят. Вот есть такой недоделыш. Должно работать следующим способом: вы вводите любое выражение, например 2+70*3+2583/5, а прога понятное...

Консольный калькулятор, в чем ошибка? - C++
int main() { setlocale(0, &quot;&quot;); char input ; int value; cout &lt;&lt; &quot;Введите число: &quot;; for(int i=0;i&lt;256;i++) { int...

Где пишется описание для выходного файла .exe (например описание процесса) - C++
Консольный проект, скомпилировали, получили exe. Жмем правой кнопкой на нем\свойства\вкладка подробно, почти все описание exe файла...

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

Pacman консольный - C++
Переписывал прогу пакмена из этого поста http://www.cyberforum.ru/csharp-beginners/thread430592.html, ради самообучения. В визуал студио...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
03.04.2010, 13:42     Консольный калькулятор требует описание #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
int main()
{
 
        double a, b;
        char s;             // знак операции
        cin >> a >> s >> b;
        switch(s)
        {
            case '+' : cout << a+b << endl; break;
            case '-' : cout << a-b << endl; break;
            case '*' : cout << a*b << endl; break;
            case '/' : cout << a/b << endl; break;   // вот здесь необходимо сделать проверку деления на 0
            default : cout << "Error." << std::endl; // если будет введён символ отличный от знака операции
        }
}
gh05t
47 / 46 / 4
Регистрация: 03.04.2010
Сообщений: 99
03.04.2010, 13:44     Консольный калькулятор требует описание #3
У тебя в строку s сохраняется то, что ввел пользователь, то есть при вводе 7+9
s[0] = '7'
s[1] = '+'
s[2] = '9'.
Соответственно в 10 строке ты записываешь символы '7' и '9' в нулевые элементы массивов с1 и с2. В строке 12 ты записываешь в элемент 1 этих массивов 0, и теперь они представляют собой строки с нулем на конце ('7',0 и '9',0) (можно использовать их в качестве аргументов функций для работы со строками, чот и делается в дальнейшем - atof() ).

Замечание - введенные числа приводятся к float, хотя ввести можно всего одну цифру... Так что или увеличить количество допустимых цифр, или приводить к int.
m4dn3ss
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 3
03.04.2010, 13:51  [ТС]     Консольный калькулятор требует описание #4
rangerx, спасибо за ваше решение!
я не догадался, что можно вводить переменные без пробелов. Значит можно, если первая переменная одного типа, а вторая другого?

gh05t,
Цитата Сообщение от gh05t Посмотреть сообщение
Соответственно в 10 строке ты записываешь символы '7' и '9' в нулевые элементы массивов с1 и с2. В строке 11 ты записываешь в элемент 1 этих массивов 0, и теперь они представляют собой строки с нулем на конце ('7',0 и '9',0)
а этот ноль же не число? это как бы пустое место? да?
gh05t
47 / 46 / 4
Регистрация: 03.04.2010
Сообщений: 99
03.04.2010, 14:01     Консольный калькулятор требует описание #5
Это значение, которое говорит о конце строки. При выполнении математических операций калькулятором не участвует.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2010, 14:03     Консольный калькулятор требует описание
Еще ссылки по теме:

Консольный компилятор C/C++. - C++
Привет всем !!! Интересует такое - есть ли где ниебуть такой компилятор чтобы писать исходный текст в блокнотике а потом с помощью ВАТ...

Консольный параметры - C++
Доброго всем времени суток! У меня есть некая задумка, для которой необходимы размеры окна консоли. Вопрос,если ли в СИ++ какие - нибудь...

Консольный ввод-вывод - C++
При попытке сделать этО!получилось вот это) Может кто нибудь подскажет?ну или конкретно,что почитать про это..? #include&lt;iostream&gt; ...

Консольный ввод в NetBeans - C++
Начал изучать C/C++. Настроил компилятор на вышеупомянутую IDE. Проблема заключается в том, что когда запускаю программу без функции...


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

Или воспользуйтесь поиском по форуму:
m4dn3ss
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 3
03.04.2010, 14:03  [ТС]     Консольный калькулятор требует описание #6
gh05t, а тогда все, большое спасибо! разобрался.
Yandex
Объявления
03.04.2010, 14:03     Консольный калькулятор требует описание
Ответ Создать тему
Опции темы

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