Проверка на ввод цифр - C (СИ) (79239)
Формулировка задачи:
Как реализовать проверку пользователя что он ввёл именно цифры ?
Спасибо за ваши отзывы)
#include <stdio.h> int pack(void); int unpack(void); int main(int argc, char *argv[]) { if (argc == 2), switch(argv[1][1]) { case 'p': pack(); break; case 'u': unpack(); break; default : printf("некорректная опция\n"); } else printf("вызов: %s [опция] /n опции:\n\t -p: упаковка;\n\t -u: распаковка\n",argv[0]); return 0; } int pack(void) { unsigned c; /* код состояния */ unsigned f; /* признак ошибки */ unsigned b; /* признак занятости */ unsigned n; /* количество байт */ unsigned int UnitStateWord; /*слово состояния */ /* ввод составных частей */ printf("Введите код состояния (0 - 31) >"); scanf("%d",&c); printf("Введите признак ошибки (0 / 1) >"); scanf("%d",&f); printf("Введите признак занятости (0 / 1) >"); scanf("%d",&b); printf("Введите кол-во переданных байт (0 - 255) >"); scanf("%d",&n); /* формирование упакованного кода */ UnitStateWord=((unsigned int)c&0x1F)<<11; UnitStateWord|=((unsigned int)f&1)<<9; UnitStateWord|=((unsigned int)b&1)<<8; UnitStateWord|=n&0xFF; /* вывод результата */ printf("\nСлово состояния устройства = %04x\n", UnitStateWord); return 0; } int unpack(void) { unsigned c; /* код состояния */ unsigned f; /* признак ошибки */ unsigned b; /* признак занятости */ unsigned n; /* количество байт */ unsigned int UnitStateWord; /* слово состояния*/ /* ввод слова состояния устройства */ printf("Введите cлово состояния устройства \n"); printf("(16-ричное число от 0 до 0xFFFF) >"); scanf("%x",&UnitStateWord); /* Выделение составных частей */ c=(UnitStateWord>>11)&0x1F; f=(UnitStateWord>>9)&1; b=(UnitStateWord>>8)&1; n=UnitStateWord&0xFF; /* вывод результатов */ putchar('\n'); printf("Код состояния = %d\n",c); printf("Признак ошибки = %d\n",f); printf("Признак занятости = %d\n",b); printf("Количество переданных байт = %d\n",n); return 0; }
Решение задачи: «Проверка на ввод цифр»
textual
Листинг программы
unsigned c; /* код состояния */ unsigned f; /* признак ошибки */ unsigned b; /* признак занятости */ unsigned n; /* количество байт */
Объяснение кода листинга программы
- В коде присутствуют переменные: c, f, b, n.
- Переменная
c
имеет тип данных unsigned, что означает беззнаковое целое число. - Переменная
f
имеет тип данных unsigned, что означает беззнаковое целое число. - Переменная
b
имеет тип данных unsigned, что означает беззнаковое целое число. - Переменная
n
имеет тип данных unsigned, что означает беззнаковое целое число. - Значение переменной
c
не определено и требует инициализации. - Значение переменной
f
не определено и требует инициализации. - Значение переменной
b
не определено и требует инициализации. - Значение переменной
n
не определено и требует инициализации. - Код может использоваться для проверки ввода цифр.
- Код может быть частью функции или программы, которая обрабатывает пользовательский ввод.
- Код может быть использован для проверки корректности ввода данных в базу данных.
- Код может быть использован для проверки корректности ввода данных в файл.
- Код может быть использован для проверки корректности ввода данных в алгоритм.
- Код может быть использован для проверки корректности ввода данных в систему.
- Код может быть использован для проверки корректности ввода данных в программу.
- Код может быть использован для проверки корректности ввода данных в игру.
- Код может быть использован для проверки корректности ввода данных в систему управления.
- Код может быть использован для проверки корректности ввода данных в приложение.
- Код может быть использован для проверки корректности ввода данных в устройство.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д