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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2020, 13:52   #1
cutcutecatt
 
Регистрация: 19.11.2020
Сообщений: 5
По умолчанию Проблема с вводом

Всем здравствуйте, можете подсказать в чем проблема. При запуске кода, не вводится scanf("%c", &v);
Вот код:
Код:
#include<stdio.h>
#include<stdlib.h>
int main() {

	system("chcp 1251");
	system("cls");
	char a = '1';
	printf("Меню:\n");
	printf("1 - Расписание.\n");
	printf("Введите число: ");
	scanf("%c", &a);
	if(a == '1'){
		switch(a){
		case '1': { 
			        printf("Расписание: \n");
			        printf("Введите номер дня в неделе: "); 
			        char v = '1';
			        scanf("%c", &v);
			        if(v == '1' || v == '2'|| v == '3' || v == '4' || v == '5'){
			        	switch(v){
			        		     case '1':{
								         printf("Понедельник: \n");
						                 printf("1. ***\n");
						                 printf("2. *****\n");
						                 printf("3. ***\n");
						                 printf("4. ***\n");
						                 printf("5. ***\n");
						                 break;}
						         case '2': {printf("Вторник: \n");
						                 printf("1.***\n");
						                 printf("2. ***\n");
						                 printf("3. *****\n");
						                 break; }    
								 case '3': {printf("Среда: \n");
						                 printf("1. ******\n");
						                 printf("2. ***\n");
						                 printf("3. ***\n");
						                 printf("4. ***\n");
						                 printf("5. ****\n");
						                 break; } 
						         case '4': {printf("Четверг: \n");
						                 printf("1. ****\n");
						                 printf("2. *****\n");
						                 printf("3. ****\n");
						                 printf("4. *****\n");
						                 break;}
						         case '5': {printf("Пятница \n");
						                 printf("1. ****\n");
						                 printf("2. **\n");
						                 printf("3. ***\n");
						                 break;}
						         default: {printf("Выходой!\n");
						                   break;}
					}
				}
			}
		}
	}
	return 0;
}
Изображения
Тип файла: png изображение_2020-11-19_135555.png (12.8 Кб, 0 просмотров)
cutcutecatt вне форума Ответить с цитированием
Старый 19.11.2020, 14:02   #2
FrosyaZZ
Форумчанин
 
Регистрация: 16.11.2020
Сообщений: 243
По умолчанию

В
Код:
scanf("%c", &a);
вы не вычитали перевод строки и дальше не скипнули его.
FrosyaZZ вне форума Ответить с цитированием
Старый 19.11.2020, 14:13   #3
cutcutecatt
 
Регистрация: 19.11.2020
Сообщений: 5
По умолчанию

FrosyaZZ, Простите, но я немного не понял что вы имели ввиду
cutcutecatt вне форума Ответить с цитированием
Старый 19.11.2020, 14:19   #4
FrosyaZZ
Форумчанин
 
Регистрация: 16.11.2020
Сообщений: 243
По умолчанию

Когда вы вводили 1, вы нажали кнопку Enter. Т.е. в буфер ввода передалось "1\n". Вы '1' вычитали. Следущий
Код:
scanf("%c", &v);
читает '\n'.
FrosyaZZ вне форума Ответить с цитированием
Старый 19.11.2020, 14:52   #5
cutcutecatt
 
Регистрация: 19.11.2020
Сообщений: 5
По умолчанию

FrosyaZZ, То есть, там где
Код:
char v = '1';
надо поставить другое значение?
cutcutecatt вне форума Ответить с цитированием
Старый 19.11.2020, 15:03   #6
FrosyaZZ
Форумчанин
 
Регистрация: 16.11.2020
Сообщений: 243
По умолчанию

Как определение переменной относится к вводу и буферу ввода? Вам надо вычитать ли пропустить перевод строки.
FrosyaZZ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с вводом строки e13geni4 Паскаль, Turbo Pascal, PascalABC.NET 1 22.04.2020 23:44
Проблема с вводом в c++ Builder ksyst Помощь студентам 2 20.12.2009 18:25
Проблема с вводом в массив prod87 Общие вопросы Delphi 1 24.11.2009 22:33
проблема с вводом/выводом revan-8 Общие вопросы C/C++ 10 09.07.2009 20:54