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

Некорректно работает меню с++ - C++

Восстановить пароль Регистрация
 
feanoris
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 49
18.10.2012, 20:52     Некорректно работает меню с++ #1
Программа для работы со строками. Задаю строки сначала. Потом из списка меню я хочу выбрать действие над строкой. Но при выборе любого пункта меню, у меня выводит помимо значения функций этого меню, но и остальные 3 пункта тоже. Не пойму, почему меню не работает. Извините, если не грамматно задал вопрос.

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// name.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "iostream" 
#include "stdio.h"
#include "cstring"
 
 
using namespace std; 
 
 
 
int main(int argc, _TCHAR* argv[])
{
 
    char strA[7] = "Up";
    char strB[5] = "Down";
    char strC[5] = "Left";
    char strD[6] = "Right";
 
     cout << "Base strings: " <<endl;
     cout << "StrA: " << strA << endl;
     cout << "StrB: " << strB << endl;
     cout << "StrC: " << strC << endl;
     cout << "StrD: " << strD << endl;
      
     setlocale(LC_ALL, "Russian");
    int i = 0;
     while( i < 5)
     
        {
cout<< "Меню" << endl;          
cout<< "1.Отобразить длину strA\n2.Соединить strB c strA\n3.Копировать strC в strB\n4.Сравнить строки\n5.Выход"<<endl;
cin >> i;
 
switch(i) 
    { 
    case 1: 
        cout << "Длина strA равна"<< strlen(strA) << endl;
        
 
   case 2: 
        strcat(strA, strB);
        cout << "strA после соединения: " << strA << endl;
        cout << "Теперь длина strA равна: " << strlen(strA) << endl;
        
   case 3:
       strcpy(strB, strC);
       cout << "strB теперь содержит: " << strB << endl;
        
   case 4:
       if(!strcmp(strB, strC))
           cout << "strB эквивалентна strD\n";
    int result = strcmp (strC, strD);
       if(!result)
           cout << "strC эквивалентна strD\n";
       else if(result < 0)
           cout << "strC меньше strD\n";
       else if(result > 0)
           cout << "strC больше strD\n";
}
     }
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2012, 20:52     Некорректно работает меню с++
Посмотрите здесь:

C++ libncurses некорректно работает
C++ некорректно работает программа
Функция работает некорректно C++
C++ некорректно работает программа
C++ Некорректно работает функция
Программа запускается, но работает некорректно C++
C++ Некорректно работает
Некорректно работает программа C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
19.10.2012, 14:25     Некорректно работает меню с++ #2
feanoris, после каждого case в switch необходимо указывать break:
C++
1
2
3
4
5
6
7
8
9
10
switch ( i )
{ 
case 1:
    //..
    break;
case 2:
    //..
    break;
//..
}
feanoris
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 49
19.10.2012, 16:30  [ТС]     Некорректно работает меню с++ #3
Цитата Сообщение от insolent Посмотреть сообщение
feanoris, после каждого case в switch необходимо указывать break:
C++
1
2
3
4
5
6
7
8
9
10
switch ( i )
{ 
case 1:
    //..
    break;
case 2:
    //..
    break;
//..
}
Спасибо, не заметил)
Yandex
Объявления
19.10.2012, 16:30     Некорректно работает меню с++
Ответ Создать тему
Опции темы

Текущее время: 17:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru