Форум программистов, компьютерный форум CyberForum.ru

функция scanf() не правильно работает - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы. Найти произведение только тех чисел, которые больше заданного числа М. http://www.cyberforum.ru/cpp-beginners/thread453334.html
Дана последовательность целых положительных чисел. Найти произведение только тех чисел, которые больше заданного числа М. если таких нет, то выдать сообщение об этом. Массив задать рандомно. Помогите парни!
C++ Определить количество и сумму цифр в введенном натуральном числе. Введенное натуральное число представляется как единственное число, расположив цифры Определить количество и сумму цифр в введенном натуральном числе. Введенное натуральное число представляется как единственное число, расположив цифры в обратном порядке. Добавлено через 23 часа 0 минут ответьте плз http://www.cyberforum.ru/cpp-beginners/thread453326.html
Есть ли подобные книги по С++? C++
Все книги http://www.cyberforum.ru/cpp-beginners/thread152353.html описывают чисто язык С++. Есть ли подобные книги по С++ как, например, "C# в подлиннике. Наиболее полное руководство. Х.Дейтел", содержащая в себе: VS .NET Базы данных/ADO.NET/SQL Файлы и потоки/XML ASP.NET и Web-службы Организация сетей и т.д. и т.п.
Нужно написать Блок схемы к задачи C++
Составить алгоритм вычисления суммы и произведения ряда 1\sqrt{2}, \sqrt{3}, ..., \sqrt{n} (задачу решить 3-мя способами: с параметром, цикл-пока, цикл-до). нужны ТОЛЬКО! Блок Схемы помогите пожалуйста, не могу понять как все это сделать
C++ Как создать массив? http://www.cyberforum.ru/cpp-beginners/thread453279.html
Задача стоит так Создать подпрограмму которая создаёот массив N x N.
C++ Вычисление суммы ряда Народ, помогите пожалуйста. Всё это сделать нужно на обычном си Три программы: 1) Вычисление функции и с помощью стандартных математических функций языка си. 2) Вычислить этуже функцию y от x в одной точке с помощью ряда Тейлора. 3) Вычисление функции y(x), где x меняется от x начального до x конечного с помощью ряда Тейлора. Рекомендации: 1) Цикл можно использовать любой. 2) Все... подробнее

Показать сообщение отдельно
ichigo9911
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 7

функция scanf() не правильно работает - C++

26.02.2012, 20:32. Просмотров 1171. Ответов 7
Метки (Все метки)

Код
#include <stdio.h>
#include <conio.h>
#include <math.h>

int main()
{
	unsigned char c1, c2;
	bool b=true;
	while (b==true) 
	{
		printf("MAIN MENU\n");
		printf("l: left; r: right; q: quit\n");
		scanf("%c", &c1);
		switch (c1)
		{
			case 'q': printf("quiting menu...\n"); b=false; break;
			case 'l':
				{
					printf("LEFT MENU\n");
					printf("select a or b\n");
					scanf("%c", &c2);
					switch (c2)
					{
						case 'a': printf("you choose a\n"); continue;
						case 'b': printf("you choose b\n"); continue;
						default:  printf("you didnt choose a or b!\n"); continue;
					}
				}
			case 'r': 
				printf("RIGHT MENU\n");
				printf("select c or d");
				scanf("%c", &c2);
				switch (c2)
				{
					case 'c': printf("you choose c\n"); continue;
					case 'd': printf("you choose d\n"); continue;
					default:  printf("you didnt choose c or d!\n"); continue;
				}
			default: printf("you must type l or r or q!\n");
		}
	
	}
	
}
Запускаю отладчик, иду построчно, проблема возникает в case l. После выполнения строки scanf("%c", &c2), в переменную с2 записывается значение 10 ""(я так понимаю, 10й код в таблице ascii) без моего участия (т.е. я с клавиатуры ничего не ввожу). Не могу понять че за фигня...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru