Организовать повтор ввода при нажатии Enter - C (СИ)
Формулировка задачи:
такой вот у меня вопрос: как сделать, чтоб после нажатия enter выполнение моей программы не закрывалось сразу, а выполнялось заново?
вот пример проги
т.е. вылазиет строка "введите число", до тех пор, пока я не нажму, к примеру пробел...
Листинг программы
- #include<iostream>
- #include<stdio.h>
- #include<conio.h>
- int main()
- {
- setlocale (LC_ALL,"rus");
- int n,a;
- int c=0;
- char ch;
- printf("введите число ");
- scanf("%d", &n);
- a=n/2;
- int countn=0;
- int counta=0;
- while(n>0){
- n/=10;
- ++countn;}
- while(a>0){
- a/=10;
- ++counta;}
- if(countn==counta)
- printf("не изменилось");
- else printf("изменилось");
- getch();
- return 0;
- }
Решение задачи: «Организовать повтор ввода при нажатии Enter»
textual
Листинг программы
- #include<iostream>
- #include<stdio.h>
- #include<conio.h>
- int main()
- {
- char c;
- setlocale (LC_ALL,"rus");
- do
- {
- system("cls");
- int n,a;
- int c=0;
- char ch;
- printf("введите число ");
- scanf("%d", &n);
- a=n/2;
- int countn=0;
- int counta=0;
- while(n>0) {
- n/=10;
- ++countn;}
- while(a>0){
- a/=10;
- ++counta;}
- if(countn == counta)
- printf("не изменилось\n");
- else
- printf("изменилось\n");
- printf("Для повтора нажмите пробел");
- } while( ( c = getch() ) == ' ' );
- getch();
- return 0;
- }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Устанавливается локаль на русский язык
- Задаются переменные c, n, a, ch, countn, counta
- Выводится приглашение для ввода числа
- Происходит считывание введенного числа в переменную n с помощью функции scanf
- Вычисляется значение a как половина от n
- Инициализируются переменные countn и counta единицей
- В цикле while происходит деление n на 10 и увеличение countn на единицу до тех пор, пока n больше нуля
- В цикле while происходит деление a на 10 и увеличение counta на единицу до тех пор, пока a больше нуля
- Проверяется равенство countn и counta
- Выводится соответствующее сообщение о равенстве или изменении числа
- Выводится приглашение для повторного ввода, при этом вводится условие для цикла do-while
- В условии цикла do-while происходит считывание символа c с помощью функции getch
- Если c равен пробелу, то происходит повтор цикла, иначе цикл завершается
- Происходит считывание символа c с помощью функции getch
- Цикл завершается, и программа возвращает 0, указывая на успешное выполнение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д