Гильдии (тематическое общение) > Гильдия мастеров
С++. Программисты, помогите!
Miklstar:
Очень надеюсь, что среди нас есть опытные программисты, которые не оставят своего младшего собрата в беде. Я недавно начал ознакомление с великим и прекрасным языком С++. До этого работал только с HTML, XML. Решил раздвинуть свои границы и столкнулся с парой проблем... во 1. в инете полно всяких "никаких" самоучителей, а найти что-то пригодное и мал-малость новое (в основном всё выпуска 2000-2005года) очень и ОЧЕНЬ! трудно...
...2. даже с учётом хоть каких-то самоучителей, всё равно это не заменит советов опытного человека... так что очень прошу, если можете - очень надеюсь на вашу поддержку...
...а, главное... я вот по какому поводу... я тут попробовал сделать нечто воде примитивного калькулятора... но есть кое какие проблемы и весьма серьёзные...
пользуюсь прогой Dev-C++ 4.9.9.2 и когда в ней запускаю этот код, то выдаёт:
Drawing operation was attempted when there was no current window - такую фигню...собственно, код программы:
#include <stdio.h>
#include <conio.h>
main()
{
int a, b, c;
char per;
printf ("введите 2 целых числа и нажмите ENTER \n");
scanf ("%d%d", &a, &b);
printf ("выберите действие. p -плюс, m -минус, u -умножить и нажмите ENTER \n");
scanf ("%c", &per);
switch ( per )
{
case 'p':
c = a + b;
printf ("%d+%d=%d", a, b, c); break;
case 'm':
c = a - b;
printf ("%d-%d=%d", a, b, c); break;
case 'u':
c = a * b;
printf ("%d*%d=%d", a, b,c); break;
}
getch();
}
...ошибка появляется после ввода чисел и отображения на экране второго текста... прошу подсказать, из-за чего так получается...
Freya:
Вы пытаетесь присвоить переменой типа целого числа символ
Переменную С нужно объявить типом char;
для ввода и для вывода значений проще использовать cin и cout подключив заглавочный файл iostream;
Miklstar:
а почему переменную С нужно ввести символом, если она должна быть результатом выполняемого действия? (причём - арифметического)
...и основной вопрос заключался в том - почему ошибка появляется?
...и можно по-подробнее про cin и cout?
Freya:
#include <iostream>
#include <locale>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"Enter first and secound digits and press Enter"<<endl;;
int a,b;
cin>>a>>b;
cout<<"Enter doing p-plus m-minus u-multyply and press Enter "<<endl;
char c;
cin>>c;
long rez=0;
switch (c)
{
case 'p':
{
rez=a+b;
cout<<a<<" "<<b<<" "<<rez<<endl;
break;
}
case 'm':
{
rez=a-b;cout<<a<<" "<<b<<" "<<rez<<endl;break;
}
case 'u':
{
rez=a*b;cout<<a<<" "<<b<<" "<<rez<<endl;break;
}
}
system("pause");
return 0;
}
вот рабочий код
Miklstar:
... а можно розъяснить? или пояснения к строкам? (а то мои познания пока на базовом, елементарном уровне... а всё же хотелось не тупо наследовать, а понимать, что пишешь)
мне же важен не результат, а сам процесс)) я пока только начал учиться)