Ожидание нажатия Enter - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написал программку
#include <stdio.h>
 
main()
{
    int c;
    long tab,prob,strend;
    tab = 0;
    prob = 0;
    strend = 0;
    while ((c=getchar())!='1') { /* В идеале не '1', а EOF, но как EOF ввести с клавы я не знаю */
        if (c == ' ') ++prob;
        if (c == '\n') ++strend;
        if (c == '\t') ++tab;
    }
    printf("probeli: %d\nokonchania strok: %d\ntabuliacii: %d\n",prob,strend,tab);
}
Но она как только я введу 1 завершается, и я ничего не успеваю прочитать. Как сделать, что-бы она ждала, пока я нажму Enter?

Решение задачи: «Ожидание нажатия Enter»

textual
Листинг программы
#include <stdio.h>
 
main()
{
    char p;
    int c;
    long tab,prob,strend;
    tab = 0;
    prob = 0;
    strend = 0;
    while ((c=getchar())!='1') {
        if (c == ' ') ++prob;
        if (c == '\n') ++strend;
        if (c == '\t') ++tab;
    }
    printf("probeli: %d\nokonchania strok: %d\ntabuliacii: %d\n",prob,strend,tab);
    scanf(p);
}

Объяснение кода листинга программы

В этом коде выполняется следующие действия:

  1. Объявляются три переменные: p типа char, c типа int и strend типа long.
  2. Переменным tab, prob и strend присваивается значение 0.
  3. Запускается цикл while, который будет выполняться до тех пор, пока c не станет равным 1.
  4. Внутри цикла проверяется каждый символ, вводимый пользователем. Если символ равен пробелу, то увеличивается значение переменной prob на 1. Если символ равен символу новой строки, то увеличивается значение переменной strend на 1. Если символ равен табуляции, то увеличивается значение переменной tab на 1.
  5. После окончания цикла выводятся значения переменных prob, strend и tab на экран.
  6. Затем пользователю предлагается ввести символ для проверки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы