Как организовать защиту интовской переменной от ввода букв и т.д.? - C (СИ)
Формулировка задачи:
Листинг программы
- //ГЉГ*æäûå n ñèìâîëîâ ГўГ® ââåäåГ*Г*îì ГІГҐГЄГ±ГІГҐ îòäåëèòü Г§Г*Г*êîì "!".
- #include <stdio.h>
- #include <conio.h>
- #include <string.h>
- char buf[1]; // ГЎГіГґГҐГ°
- int main(int argc, char *argv[])
- {
- char str[255], str1[255];
- int i,j,len,n,k=1;
- size_t sz;
- buf[0] = '\0';
- str1[0]= '\0';
- j=0;
- // èçáûòî÷Г*Г*Гї ГЁГ*ГЁГ¶ГЁГ*ëèçГ*Г¶ГЁГї
- printf("Stroka=");
- gets(str);
- printf("n=");
- scanf("%d",&n);
- sz = strncpy(buf, str, 1);
- // ïðèìåð îïðåäåëåГ*ГЁГї ГіГ±ГҐГ·ГҐГ*ГЁГї ñòðîêè
- len=strlen(str);
- printf("n=%d",n);
- while ((n>len) || (n<=0))
- {
- printf("VVESTI KORREKNOE n\n");
- printf("n=");
- scanf("%d",&n);
- }
- for(i=0;i<len;i++)
- {
- sz = strncpy(buf, str+i, 1);
- if (i==n*k)
- {
- strcat(str1, "!");
- k++;
- }
- strcat(str1, buf);
- }
- printf("\nStroka=%s",str1);
- getch();
- }
Решение задачи: «Как организовать защиту интовской переменной от ввода букв и т.д.?»
textual
Листинг программы
- do
- {
- printf("Введите № (от %d до %d): ", 1, A*B);
- fflush(stdin); //очистка буффера памяти с ввода
- }
- while(
- scanf ("%d", &a) !=1 && printf("Надо вводить число!\n")
- || p <= 0 && printf("Надо вводить положительное число!\n")
- || p > A*B && printf("Надо вводить число от %d до %d!\n", 1, A*B)
- );
Объяснение кода листинга программы
- Объявлены переменные: A, B, a, p.
- Введен цикл do-while.
- В первой ветке цикла происходит вывод сообщения с просьбой ввести номер (от 1 до A*B) и очистка буфера ввода с помощью fflush(stdin).
- Вторая ветка цикла проверяет, что было введено число (сканирование с помощью scanf), и если это не так, выводит сообщение
Надо вводить число!
. - Третья ветка цикла проверяет, что введенное число больше или равно 0, и если это не так, выводит сообщение
Надо вводить положительное число!
. - Четвертая ветка цикла проверяет, что введенное число меньше или равно AB, и если это не так, выводит сообщение
Надо вводить число от 1 до %d!
, 1, AB. - Цикл выполняется до тех пор, пока не будет введено число, удовлетворяющее всем условиям.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д