Организовать повтор ввода при нажатии 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, указывая на успешное выполнение