Форум программистов, компьютерный форум, киберфорум
Наши страницы

Функция 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# в подлиннике. Наиболее полное руководство. Х.Дейтел",...
Нужно написать Блок схемы к задачи 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 в... подробнее

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

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

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#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) без моего участия (т.е. я с клавиатуры ничего не ввожу). Не могу понять че за фигня...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru