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

Ошибка в программе для вывода меню - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ цикл по кругу http://www.cyberforum.ru/cpp-beginners/thread456002.html
По кругу располагаются n человек. Ведущий считает по кругу, начиная с первого и выводит m человека. Круг сужается, счет восстанавливается со следующего после выведенного; так продолжается пока не останется один человек.
C++ Файл в вектор Подскажите плз как быстро и эффективно загрузить файл размером 30-50мб в вектор, делаю через ifstream, работает очень медленно: #include <iostream> #include <fstream> #include <string> #include <vector> using namespace std; int main () { http://www.cyberforum.ru/cpp-beginners/thread455976.html
C++ Нужны коментарии
Помогите с коментариями в программе: int main() { vector<int> fact, tmpResult, num; const int N = 100; int carry, sumOfDigits = 0; fact.push_back(1);
C++ Занести элементы вещественного массива X, удовлетворяющие условию, в массив Y
Пожалуйста помогите кто может Записать элементы вещественного массива X, удовлетворяющие условию xi>=1 и xi<=2, подряд в массив Y. Определить минимальный элемент массива X
C++ Вычислить и вывести сумму всех нечетных чисел от а до b http://www.cyberforum.ru/cpp-beginners/thread455948.html
Разработать программу, которая позволяет ввести два целых числа а и b; Вычислить и вывести сумму всех нечетных чисел от а до b. Предусмотреть все возможные варианты (a> b, a <b, a = b) Код с++.
C++ Моя первая самостоятельная программа. Суть задания - найти призведение и сумму чисел В общем, выполняю первое самомтоятельно задание по с++. Суть задания - найти призведение и сумму чисел, пр иэтом функции произведения и суммы должны быть заранее определены, до входа в main. Затем я должен пригласить пользователя ко вводу(* реализовав кирилицу), и если пользователь вводить не 2 числа, а число и букву, или 2 буквы, попросить ввести еще раз. Привожу текст: #include <stdio.h>... подробнее

Показать сообщение отдельно
Avazart
 Аватар для Avazart
6903 / 5143 / 253
Регистрация: 10.12.2010
Сообщений: 22,613
Записей в блоге: 17
01.03.2012, 23:31     Ошибка в программе для вывода меню
Чет не пойму для чего стрелочки?

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
88
89
90
91
92
93
94
95
96
97
98
99
#include <string>
#include <vector>
using namespace std;
struct menu
{
  menu* parent;
  string name;
  vector<menu*> items;
 
  menu(string name,menu* parent=NULL)
    {
    this->name=name;
    this->parent=parent;
    }
 
  ~menu()
    {
    cout<<"destroy  "<<name<<endl;
    for(unsigned i=0;i<items.size();i++)
       if(items[i]) delete items[i];
    }
 
  menu* add_item(string item_name)
   {
   menu* new_item= new menu(item_name,this);
   items.push_back(new_item);
   return  new_item;
   }
 
  void show()
   {
    for(unsigned i=0;i<items.size();i++)    cout<<items[i]->name<<endl;
   }
 
  string path()
   {
   string s=name;
   menu* pos=parent;
   for(;pos;) { s.insert(0,pos->name+"\/"); pos=pos->parent;}
   return s;
   }
};
//-------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
 menu* main_menu= new menu("main_menu");
 
 main_menu->add_item("0. item0");
 main_menu->add_item("1. item1");
 main_menu->add_item("2. item2");
 main_menu->add_item("3. item3");
 
 main_menu->items[1]->add_item("0 sub item 1.1");
 
    main_menu->items[1]->items[0]->add_item("0 sub sub item 1.1.1");
 
 main_menu->items[1]->add_item("1 subitem 1.2");
 
 menu* current_menu;
 
 current_menu= main_menu;
 cout<<"\/"<<current_menu->path()<<endl;
 current_menu->show();
 
 char key;
 unsigned index;
 string str;
 
 for(;;)
   {
    cin>>str;
    key=str[0];
 
    if(isdigit(key))
     {
     index= atoi(str.c_str());
 
     if(index<current_menu->items.size())
        {
        current_menu= current_menu->items[index];
        cout<<"\/"<<current_menu->path()<<endl;
        current_menu->show();
        }
     else cerr<<"error"<<endl;
     }
    else
     if(str=="exit"||str=="quit")  break;
     else
          if(str=="back" && current_menu->parent)
            {
            current_menu= current_menu->parent;
            cout<<current_menu->path()<<endl;
            current_menu->show();
            }
   }
delete  main_menu;
cout<<"...";
Sleep(10000);
}
 
Текущее время: 19:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru