Проверка введенной строки - C (СИ)
Формулировка задачи:
люди добрые нужна помощь. значит так,
пользовотель должен ввести имя и для окончания нажать точку.
можно пользоваться только scanf и не льзя пользоваться strings.
тоесть код должен выглядеть таким образом:
scanf("%c",&name);
луп или отдельная функция должна проверять что все буквы мальенкие и в конце обязана быть точка.
количество в веденых пользователем букв не ограничено, до точки, после появления точки должно выйти сообщение,
printf("Finish");
заранее спасибо)
естественно для оканчания нужно нажать на enter.
в общем должно быть что то типо двух лупов, которые проверяют данные.
ломаю голову вторую неделю, с стрингами это довольно та ки фигня, но вот без них, пп.
Решение задачи: «Проверка введенной строки»
textual
Листинг программы
int main(){ char name; do { printf("Enter your a doctor name: "); scanf("%c", &name);/*enter a name*/ if (Doc_Name(name) == 1)/*func to check a name*/ break;/*if function return 1 exit*/ else { printf("Invalid Input,Try again\n"); flushall(); } } while (1);
Объяснение кода листинга программы
- Объявлена переменная типа char
name
. - Запущен бесконечный цикл
do-while(1)
. - В каждой итерации цикла программа запрашивает у пользователя ввести имя врача с помощью функции
printf
иscanf
. - С помощью функции
scanf
значение введенного имени сохраняется в переменнойname
. - Функция
Doc_Name(name)
проверяет введенное имя. - Если функция
Doc_Name
возвращает 1, то цикл прерывается с помощью оператораbreak
. - Если функция
Doc_Name
возвращает значение, отличное от 1, то выводится сообщение об ошибке с помощью функцииprintf
, а затем выполняется функцияflushall
, предназначенная для очистки буфера ввода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д