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

Проверка на ввод клавиши enter - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить количество негативних и положительных компонентов массива http://www.cyberforum.ru/cpp-beginners/thread1305368.html
Помогите пожалуйста написать программу в Visual Studio Составить схему алгоритма для вычисления 30 значений функции у = ах2 + bx + c на отрезке , сохранить их в массиве y. Вычислить количество негативних и положительных компонентов массива. Алгоритм: http://********/wzvU
C++ Добавить "К" элементов в список Сформировать односвязный список. Удалить из него элемент с заданным номером(кроме 1-го)-сделал., добавить "К" элементов, начиная с заданного номера(не знаю как сделать) #include <iostream> using namespace std; struct list {int inf; list *next;} *t,*p,*q; void vivod(list *a) {while (a!=NULL) http://www.cyberforum.ru/cpp-beginners/thread1305366.html
Поразрядная сортировка, не работает при количестве элементов более 500 C++
Подскажите пожалуйста почему если ввести больше 500 элементов то код не работает? #include <iostream> #include <ctime> #include <stdlib.h> using namespace std; const int n = 500, col_razr = 2; int velich_razr(int chislo, int razr) { while (razr>1) {
Преобразование строки в верхний регистр C++
#include <iostream> #include <cstring> #include <cctype> #include <string> using namespace std; void StringUpper(char *str); int main() { char str; strcpy(str, "Мне нравится С++");
C++ Работа с функциями, "Cannot convert 'char *' to 'int'" http://www.cyberforum.ru/cpp-beginners/thread1305353.html
Ошибка: E2034 Cannot convert 'char *' to 'int' Почему??? Помогите пожалуйста! #include <iostream.h> #include <conio.h> #include <vcl.h> int Del(char str); int main(int argc, char* argv) { char str; int i;
C++ Докажите, что список, заполненный элементами в порядке убывания, действительно представляет собой пирамиду Подскажите, пожалуйста, как данную задачу реализовать на плюсах. Нужен хотя бы примерный алгоритм.. Заранее благодарю! подробнее

Показать сообщение отдельно
animator-kun
Сообщений: n/a

Проверка на ввод клавиши enter - C++

19.11.2014, 20:03. Просмотров 246. Ответов 0
Метки (Все метки)

добрый день, помогите советом.

для лабораторной работы требуется написать приложение - калькулятор, я использовал бесконечный цикл while для повторного использования калькулятора, однако хотелось бы улучшить один момент, после вывода на экран надписи "To continue, press enter , to exit press q" если нажимать enter, то приходится нажимать эту клавишу несколько раз для перехода на следующую итерацию, хотелось бы ввести проверну на нажатие клавиши enter, как это можно реализовать?

вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// лаба_2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "conio.h"
#include "stdlib.h"
#include "math.h"
// для того чтобы учесть переполнение типа int была подключена библиотека limits.h
#include "limits.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
int ar1, ar2, a;
char sig;
// чтобы приложение не закрывалось сразу же после выполнения выражения, был введен бесконечный цикл while c условием выхода при нажатии клавиши q
while(true)
{
 
printf("Enter expression \n");
// оператор flushall() очищает буфер, из которого берет данные scanf
flushall();
scanf("%d%c%d", &ar1, &sig, &ar2);
// условный оператор для учета переполнения типов
if ((ar1>=SHRT_MAX)||(ar1<=SHRT_MIN)|| (ar2>=SHRT_MAX)||(ar2<=SHRT_MIN))
{
printf("You have gone beyond a value of type int, please enter the arguments are not outside the range [в€’2,147,483,648 ; +2,147,483,647]; press enter to continie \n");
flushall();
getchar();
// system("cls"); очищает экран перед следующей итерацией цикла
system("cls"); 
continue;
}
// проверка на правильность ввода знака
if ((sig!='+')&&(sig!='-')&&(sig!='*')&&(sig!='/'))
{
printf("you entered an incorrect character please one of the following characters: +, - , *, /; press enter to continie \n");
flushall();
getchar();
system("cls"); 
continue;
}
else
{
// если знак введен правильно, то в игру вступает оператор switch case
switch(sig)
{
case '+':
a=ar1+ar2;
break;
case '-':
a=ar1-ar2;
break;
case '*':
a=ar1*ar2;
break;
case '/':
{
if (ar2==0) 
{
printf("deviding by zero is not allowed in this world");
getchar();
continue;
}
 
a=ar1/ar2;
}
break;
}
}
// печатаем ответ
printf("=%d \n", a);
// в случае если пользователь уже все, при вводе q с клавиатуры цикл разрывается и программа завершает работу
printf("To continue, press enter , to exit press q \n");
flushall();
scanf("%c", &sig);
if(sig=='q') break;
 
flushall();
getchar();
system("cls"); 
}
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru