Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2013, 20:14   #1
logas83
Пользователь
 
Регистрация: 07.09.2013
Сообщений: 19
По умолчанию Сложность с задачей на Си

Вот условие:
Ввести номер месяца (1,…,12), напечатать время года (зима,…осень).

Вроде не сложно, но где-то у меня ошибка. Пока ввожу цифры от 1 до 9, все нормально. Когда ввожу двойное число, распознает только первую цифру (например ввожу 10, а срабатывает 1).

Вот код:

Код:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{

char month;

system("chcp 1251 > null");

printf("Введите номер месяца: ");
scanf("%c", &month);

switch (month)
{
case '1':
case '2': printf("Это зимний месяц\n"); break;
case '3':
case '4': 
case '5': printf("Это весенний месяц\n"); break;
case '6': 
case '7':
case '8': printf("Это летний месяц\n"); break;
case '9': 
case '10': 
case '11': printf("Это осенний месяц\n"); break;
case '12': printf("Это зимний месяц\n"); break;
default : printf("Ошибка ввода\n"); break;
}

return 0;
	
system("pause");
}

Последний раз редактировалось Stilet; 13.10.2013 в 20:44.
logas83 вне форума Ответить с цитированием
Старый 13.10.2013, 20:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Правильно. switch для этого не катит. Замени его на if()
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.10.2013, 20:58   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
int month;
...
printf("Введите номер месяца: ");
scanf("%d", &month);
...
case 1:
case 2:
...
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 13.10.2013, 21:07   #4
logas83
Пользователь
 
Регистрация: 07.09.2013
Сообщений: 19
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
int month;
...
printf("Введите номер месяца: ");
scanf("%d", &month);
...
case 1:
case 2:
...


Спасибо! Помогло.
logas83 вне форума Ответить с цитированием
Старый 13.10.2013, 21:18   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Правильно. switch для этого не катит. Замени его на if()
Ещё и как катит. Эх, не успел. BDA оперередил .

Код:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<istream.h>

int main()
{

int month;

system("chcp 1251 > null");

printf("Введите номер месяца: ");
cin >> month;
switch (month)
{
case 1:
case 2: printf("Это зимний месяц\n"); break;
case 3:
case 4:
case 5: printf("Это весенний месяц\n"); break;
case 6:
case 7:
case 8: printf("Это летний месяц\n"); break;
case 9:
case 10:
case 11: printf("Это осенний месяц\n"); break;
case 12: printf("Это зимний месяц\n"); break;
default : printf("Ошибка ввода\n"); break;
}
system("pause");
return 0;
}
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложность O(n*log n) Люля. Помощь студентам 2 12.01.2013 01:29
Сложность написания ? МоЗгАвеД Свободное общение 21 16.06.2012 19:11
Сложность с массивами k1r1ch Общие вопросы C/C++ 5 09.01.2010 16:09
сложность алгоритма NiCola999 Помощь студентам 14 22.11.2009 19:33
Сложность с запросом БД k1r1ch БД в Delphi 4 27.09.2009 18:50