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

не корректная работа меню или всей программы - C++

Восстановить пароль Регистрация
 
kid0
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 8
30.05.2013, 21:57     не корректная работа меню или всей программы #1
Народ помогите плиз, сделал меню к проге, но программа уходит в бесконечный цикл.
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
66
67
68
69
70
#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
// функция определения символа
void prog()
{
     string fileName, currWord, currMax = "";
 cout<<"\nВедите имя файла ";
    cin>>fileName;
    freopen(fileName.c_str(), "r", stdin);
    while (cin>>currWord)
    {
        if (2 <= currWord.length() && 'E' == currWord[1]&& currWord.length() >= currMax.length())
            currMax = currWord; 
    }
    if (currMax.length()){
            cout<<"Результат:\n"<<currMax;}
    else{
            cout<<"Слов с таким условием не найдено";}
            getch();
         fileName = ' ';
        return ;
   }
            
 
//функция вывода кода
 void listing()
 {
    cout<< "string fileName, currWord, currMax = "";";
    cout<<  "cout<<""n""Ведите имя файла;"<<endl;
    cout<<     "cin>>fileName;"<<endl;
    cout<<     "freopen(fileName.c_str(), ""r"", stdin);"<<endl;
    cout<<     "while (cin>>currWord)"<<endl;
    cout<<     "{"<<endl;
    cout<<            "if (2 <= currWord.length() && 'E' == currWord[1]&& currWord.length() >= currMax.length())"<<endl;
    cout<<                " currMax = currWord;"<<endl; 
    cout<<     "}"<<endl;
    cout<<     "if (currMax.length())"<<endl;
    cout<<        "cout<<""Результат""n""<<currMax;"<<endl;
    cout<<     "else"<<endl ;
    cout<<         "cout<<Слов с таким условием не найдено"<<endl;
    cout<<     "getch();";
 }
 //функция меню
 void menu()
 {
 int c = 0;
    while (true)
 {
     cout<<endl;
     cout<< "1 - программа"<<endl;
     cout<< "2 - листинг"<<endl;
     cout<< "3 - выход"<<endl;
     cin >> c;
     switch(c){
            case 1: prog();
            break;
            case 2: listing();
            break;  
          default: return ;
}
}
}
//головная функция
int main()
{ 
setlocale(LC_ALL, "Russian");
menu();  
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2013, 21:57     не корректная работа меню или всей программы
Посмотрите здесь:

C++ создать Меню или же Команды программы
Компоновка всей программы в один файл C++
C++ Написать программу, которая подсчитывает СУММУ ЦИФР натурального числа. организовать повторение всей программы.
Работа с классом (как вызвать или обратится к классу из основной программы?) C++
C++ Вывод всех ответов(после всей программы), которые выбирал пользователь
Поочередный вывод на экран без задержки всей программы C++
C++ Повторение всей программы заного через да\нет
C++ Простые числа, не корректная работа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.05.2013, 22:27     не корректная работа меню или всей программы #2
Если так:
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <string>
#include <fstream>
using namespace std;
 
// функция определения символа
void prog()
{
    string fileName, currWord, currMax = "";
    cout << "\nВедите имя файла ";
    (cin >> fileName).get();
    ifstream fin(fileName.c_str());
    if (!fin.is_open())
    {
         cout << "Ошибка открытия файла!" << endl; 
         return;
    }
 
    while (fin >> currWord)
    {
        if (2 <= currWord.length() && 'E' == currWord[1] && currWord.length() >= currMax.length())
            currMax = currWord; 
    }
    fin.close();
    if (currMax.length()) cout<<"Результат:\n"<<currMax;
    else cout<<"Слов с таким условием не найдено";
            
    cin.get();
    
    return;
}
            
 
//функция вывода кода
 void listing()
 {
    cout<< "string fileName, currWord, currMax = "";";
    cout<<  "cout<<""n""Ведите имя файла;"<<endl;
    cout<<     "cin>>fileName;"<<endl;
    cout<<     "freopen(fileName.c_str(), ""r"", stdin);"<<endl;
    cout<<     "while (cin>>currWord)"<<endl;
    cout<<     "{"<<endl;
    cout<<            "if (2 <= currWord.length() && 'E' == currWord[1]&& currWord.length() >= currMax.length())"<<endl;
    cout<<                " currMax = currWord;"<<endl; 
    cout<<     "}"<<endl;
    cout<<     "if (currMax.length())"<<endl;
    cout<<        "cout<<""Результат""n""<<currMax;"<<endl;
    cout<<     "else"<<endl ;
    cout<<         "cout<<Слов с таким условием не найдено"<<endl;
    cout<<     "getch();";
 }
 
 //функция меню
 void menu()
 {
     int c = 0;
     while (true)
     {
         cout<<endl;
         cout<< "1 - программа"<<endl;
         cout<< "2 - листинг"<<endl;
         cout<< "3 - выход"<<endl;
         cin >> c;
         switch(c)
         {
                case 1: prog();
                break;
                
                case 2: listing();
                break;  
              
                default: return;
        }
    }
}
 
//головная функция
int main()
{ 
    setlocale(LC_ALL, "Russian");
    menu();
    
    system("pause");
    return 0;  
}
kid0
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 8
31.05.2013, 02:00  [ТС]     не корректная работа меню или всей программы #3
Спасибо=)
Yandex
Объявления
31.05.2013, 02:00     не корректная работа меню или всей программы
Ответ Создать тему
Опции темы

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