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

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

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

Ввод данных без нажатия «Enter» - C++

07.01.2013, 21:13. Просмотров 1575. Ответов 10
Метки нет (Все метки)

Добрый день
Интересует такой вопрос
После ввода числа нужно нажимать клавишу ENTER
Как можно добится того, чтобы после ввода числа сразу переходило на набор другого, т.е. не нажимать постоянно Enter
Код
#include<cstdio>
#include<cmath>

int main()
{
    float a,b,c;
    double D;

    printf("Znachenie (a): ");
    scanf( "%f", &a); // Получаем значение -a
    printf("Znachenie (b): ");
    scanf( "%f", &b); // Получаем значение -b
    printf("Znachenie (c): ");
    scanf( "%f", &c); // Получаем значение -c
    printf("\nReshenie:\n");

         D = b*b-(4*a*c);
         a = 2*a;
         printf("Diskriminant mnogochlena: %g\n", D);

         if(D==0) {
                  printf("Oba kornya deystvitelni i ravni: %g", (-b/a));
         }
         else if(D<0) {
              printf("Deystvitelnih korney net");
         }
         else {
              D = sqrt(D);
              printf("Perviy koren: %g\n", ((-b+D)/a));
              printf("Vtoroy koren: %g\n", ((-b-D)/a));
         }
  return 0;
}
Спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
v.a.l.i.d
07.01.2013, 21:15
  #2

Не по теме:

Лень постоянно нажимать Enter?

Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
07.01.2013, 21:16     Ввод данных без нажатия «Enter» #3
не уверен работает ли это со scanf() но можно через пробел ввести необходимую последовательность
miragex
1 / 1 / 0
Регистрация: 11.07.2012
Сообщений: 137
07.01.2013, 22:39  [ТС]     Ввод данных без нажатия «Enter» #4
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение

Не по теме:

Лень постоянно нажимать Enter?

Дело не в этом.
Есть конкретные методические указания для написания программы (составлял преподаватель) и там сказано:
Программа ожидает нажатия на клавиатуре очередной клавиши, соответствующей символу латинского алфавита или цифре символа и после обнаружения такого нажатия, выполняет ввод соответствующего кода символа.
Получается что нужно просто нажать на символ и программа дальше автоматически должна начать выполнять следующие процедуры, без нажатия на клавишу Enter
palva
2561 / 1783 / 251
Регистрация: 08.06.2007
Сообщений: 6,910
Записей в блоге: 4
07.01.2013, 22:44     Ввод данных без нажатия «Enter» #5
Функция getchar(); подвесит программу и программа будет ждать нажатия клавиши. После чего функция вернет код символа и программа продолжит работу.
miragex
1 / 1 / 0
Регистрация: 11.07.2012
Сообщений: 137
07.01.2013, 23:02  [ТС]     Ввод данных без нажатия «Enter» #6
Цитата Сообщение от palva Посмотреть сообщение
Функция getchar(); подвесит программу и программа будет ждать нажатия клавиши. После чего функция вернет код символа и программа продолжит работу.
Все равно нужно нажимать Enter. Автоматически не выходит
palva
2561 / 1783 / 251
Регистрация: 08.06.2007
Сообщений: 6,910
Записей в блоге: 4
07.01.2013, 23:06     Ввод данных без нажатия «Enter» #7
Цитата Сообщение от miragex Посмотреть сообщение
Все равно нужно нажимать Enter. Автоматически не выходит
Значит у вас ошибка в компиляторе.
Игорь с++
433 / 456 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
07.01.2013, 23:10     Ввод данных без нажатия «Enter» #8
Цитата Сообщение от miragex Посмотреть сообщение
Все равно нужно нажимать Enter. Автоматически не выходит
а так ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <windows.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    
    int Number;
    
   Number = getch();
    
    cout<<CHAR(Number)<<"\n";
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
miragex
1 / 1 / 0
Регистрация: 11.07.2012
Сообщений: 137
07.01.2013, 23:13  [ТС]     Ввод данных без нажатия «Enter» #9
Код
unsigned char c;
c = getchar();
// Ждет нажатия Enter, жмем Enter - программа продолжает работать
Игорь с++
433 / 456 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
07.01.2013, 23:22     Ввод данных без нажатия «Enter» #10
miragex, Что тебе не нравится в моём коде ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2013, 23:48     Ввод данных без нажатия «Enter»
Еще ссылки по теме:
Проверка нажатия enter C++
C++ Стоп после нажатия на Enter
Считывание чисел до нажатия Enter C++
Динамический массив. Заполнение до нажатия Enter C++
C++ Бесконечный цикл с ожиданием нажатия enter

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

Или воспользуйтесь поиском по форуму:
miragex
1 / 1 / 0
Регистрация: 11.07.2012
Сообщений: 137
07.01.2013, 23:48  [ТС]     Ввод данных без нажатия «Enter» #11
Цитата Сообщение от Игорь с++ Посмотреть сообщение
miragex, Что тебе не нравится в моём коде ?
Спасибо Игорь.
Твой код подошел, уже его использовал, то что надо ...
Спасибо сказал
Yandex
Объявления
07.01.2013, 23:48     Ввод данных без нажатия «Enter»
Ответ Создать тему
Опции темы

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