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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
feanoris
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 49
#1

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

18.10.2012, 20:52. Просмотров 388. Ответов 2
Метки нет (Все метки)

Программа для работы со строками. Задаю строки сначала. Потом из списка меню я хочу выбрать действие над строкой. Но при выборе любого пункта меню, у меня выводит помимо значения функций этого меню, но и остальные 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++
Здравствуйте помогите пож-та с задачкой: Сформировать вещественный массив X1(N), N≤20, элементами которого являются случайные числа из...

Некорректно работает рандомизация - C++
В таком виде написана генерация рандомного числа: srand(time(NULL)); int f = rand()%7; при каждом запуске выбрасывается одно и то же...

некорректно работает программа - C++
Программа компилируется но после ввода данных пропадает окно! #include&lt;iostream.h&gt; #include&lt;string.h&gt; #include&lt;math.h&gt; ...

Некорректно работает функция - C++
Функция Small_S должна находить короткое слово в строке str, а она почему-то выводит первое слово! Помогите решить проблему, буду очень...

Некорректно работает программа - C++
При создании c1 все еще правильно. При выполнении операторов уже нет. Почему? #include &lt;iostream&gt; #define _USE_MATH_DEFINES #include...

Некорректно работает find - C++
Дано:

Функция работает некорректно - C++
#include &lt;iostream&gt; using namespace std; short fill(double*, short); const short size = 5; int main() { double array;...

некорректно работает программа - C++
Написала вот эту программу, она компилируется, но после ввода данных, вылазит ошибка. С чем это может быть связано? // f(x,y) = 3*x-y ...

Функция работает некорректно - C++
написал функцию,возвращающий нажатую клавишу: char func2(){ if(_kbhit()){ char c; c=_getch(); return c; } return 0; ...

libncurses некорректно работает - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;ncurses.h&gt; using namespace std; class polar { private: float r; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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     Некорректно работает меню с++
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru