Ввести номер месяца и вывести количество дней в нем, а также число ошибок при вводе - C (СИ)
Формулировка задачи:
Ввести номер месяца и вывести количество дней в нем, а также число ошибок при вводе.
Пример:
Введите номер месяца: Введите номер месяца:
-2 2
Введите номер месяца: В этом месяце 28 дней.
11 Вы вводили неверно 0 раз.
В этом месяце 30 дней.
Вы вводили неверно 1 раз.
вот решение..
а как сделать а также число ошибок при вводе. ????
#include <stdio.h>
#include <conio.h>
main()
{
int M, D;
do {
printf("Введите номер месяца:\n");
scanf("%d", &M);
}
while (M<0 || M>12);
switch ( M ) {
case 2: D = 28; break;
case 4: case 6: case 9: case 11: D = 30; break;
case 1: case 3: case 5: case 7: case 8: case 10: case 12: D = 31; break;
default: D = -1;
}
if (D > 0)
printf("В этом месяце %d дней.", D);
else printf("Неверный номер месяца");
getch();
}Решение задачи: «Ввести номер месяца и вывести количество дней в нем, а также число ошибок при вводе»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
int main()
{
int M, D;
int quantityError = 0;
while(1)
{
printf("Введите номер месяца:\n");
scanf("%d", &M);
switch ( M ) {
case 2: D = 28; break;
case 4: case 6: case 9: case 11: D = 30; break;
case 1: case 3: case 5: case 7: case 8: case 10: case 12: D = 31; break;
default: D = -1;
}
if (D > 0) break;
else quantityError += 1;
}
if (D > 0) printf("В этом месяце %d дней.\nчисло ошибок %d\n", D, quantityError);
else printf("Неверный номер месяца.\n");
getch();
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем переменные: M - номер месяца, D - количество дней в месяце, quantityError - количество ошибок при вводе
- Запускаем бесконечный цикл while(1)
- Выводим запрос на ввод номера месяца
- Считываем введенное значение в переменную M с помощью функции scanf
- Используем оператор switch для определения количества дней в месяце в зависимости от его номера
- Если количество дней положительное, то выходим из цикла while(1) с помощью оператора break
- Если количество дней равно 0, то выводим сообщение об ошибке и увеличиваем счетчик quantityError на 1
- После выхода из цикла while(1) выводим сообщение с количеством дней в месяце и числом ошибок при вводе
- Используем функцию getch для приостановки выполнения программы до нажатия клавиши
- Возвращаем 0, чтобы указать, что программа успешно завершилась