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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
mrjerr
Сообщений: n/a
#1

Как сделать меню в программе? - C++

03.03.2012, 07:16. Просмотров 1464. Ответов 2
Метки нет (Все метки)

Всем привет)
Есть программа,в ней 4 метода,как сделать так чтоб когда её запускаешь можно было выбрать один из них??

Вот код программы
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#include <condefs.h>
#include <stdio.h>
 
#include <stdio.h>
#include <math.h>
#include <conio.h>
# include <iostream.h>
#include <fstream>
 
//---------------------------------------------------------------------------
#include "PolStr.h"
//---------------------------------------------------------------------------
USEOBJ("PolStr.obj");
//---------------------------------------------------------------------------
int main(void)
{
    ifstream fin ("input.txt", ios::in);
    ofstream fout ("output.txt", ios::in);
    int n; //Íîìåð ìåòîäГ*
    double a, b, //ГЈГ°Г*Г*èöû îòðåçêГ*
        e, //Г§Г*Г¤Г*Г*Г*Г*Гї ïîãðåøГ*îñòü
        x, ex;//ïîëó÷åГ*Г*îå ðåøåГ*ГЁГҐ, ïîãðåøГ*îñòü ïîëó÷åГ*Г*îãî ðåøåГ*ГЁГї
    char  s1[1024], s3[1024];//äëÿ ГґГіГ*êöèè ГЁ ïðîèçâîäГ*îé
    fin>>n>>s1>>a>>b>>e;//ГЁГ§ ГґГ*éëГ*
    char *s2, *s4;//äëÿ ГґГіГ*êöèè ГЁ ïðîèçâîäГ*îé
    s2 = CreatePolStr(s1, 0);
    cout<<"Ishodnue dannue: e = "<<e<<"\nna intervale ["<<a<<","<<b
        <<"]\nfynkciya: "<<s1<<endl<<endl;
    if(Error) printf("Error: %d.\n", Error);
    double d, g = (sqrt(5)+1)/2;//äëÿ ìåòîäГ* çîëîòîãî Г±ГҐГ·ГҐГ*ГЁГї d ГЁ ГЈГ*ììГ*
    switch (n){
        case 1://ìåòîä äèõîòîìèè
            cout<<"Metod dihotomii.\n";
            double c;
            while (((b - a)/2> e)||((a - b)/2> e)){
            //while ((double)abs((long)(pow(10,15)*(b - a)))/pow(10,15)/2 > e){//ïîêГ* Г*ГҐ âûïîëГ*ГЁГІГ±Гї óñëîâèå |b-a|/2 < e
                c = (a + b) / 2;//(2.1.6)
                if (EvalPolStr(s2, a) * EvalPolStr(s2, c) <= 0)//(2.1.7)
                    b = c;
                else a = c;
            }
            x = (a + b) / 2;//ïîëó÷åГ*Г*îå ðåøåГ*ГЁГҐ
            ex = (double)abs((long)(pow(10,15)*(b - a)))/pow(10,15)/2;//ïîãðåøГ*îñòü ïîëó÷åГ*Г*îãî ðåøåГ*ГЁГї
            cout<<"x = "<<x<<"\ny(x) = "<<EvalPolStr(s2, x)<<endl
                <<"e = "<<ex;
            break;
        case 2://ìåòîä õîðä
            cout<<"Metod hord.\n";
            while ((double)abs((long)(pow(10,15)*(b - a)))/pow(10,15)/2 > e){
                c = a-EvalPolStr(s2, a)/  //(2.1.9)
                    (EvalPolStr(s2, b)-EvalPolStr(s2, a))*(b - a);
                if (EvalPolStr(s2, a) * EvalPolStr(s2, c) <= 0)
                    b = c;
                else a = c;
            }
            x = (a + b) / 2;
            ex = (double)abs((long)(pow(10,16)*(b - a)))/pow(10,16)/2;
            cout<<"x = "<<x<<"\ny(x) = "<<EvalPolStr(s2, x)<<endl
                <<"e = "<<ex;
            break;
        case 3://ìåòîäå çîëîòîãî Г±ГҐГ·ГҐГ*ГЁГї
            cout<<"Metod zolotogo secheniya.\n";
            while ((double)abs((long)(pow(10,15)*(b - a)))/pow(10,15)/2 > e){
                d = a + (b-a)/g;//(2.1.10)
                c = a + (b-a)/pow(g, 2);
                if (EvalPolStr(s2, a) * EvalPolStr(s2, d) <= 0)//(2.1.12)
                    b = d;
                else a = c;
            }
            x = (a + b) / 2;
            ex = (double)abs((long)(pow(10,15)*(b - a)))/pow(10,15)/2;
            cout<<"x = "<<x<<"\ny(x) = "<<EvalPolStr(s2, x)<<endl
                <<"e = "<<ex;
            break;
        case 4://ìåòîä ГЌГјГѕГІГ®Г*Г*
            cout<<"Metod Njutona.\n";
            double x0, x1;
            if(fin.eof()){//åñëè Гў ГґГ*éëå áîëüøå Г*ГҐГІ ГЁГ*ôîðìГ*öèè ГІГ® Г*ГіГ¦Г*Г® ïîëó÷èòü ñòðîêó îò ïîëüçîâГ*òåëÿ
                cout<<"Otsytstvyet analiticheskoe vurajenie proizvodnoi v faile.\n"<<
                //ГЋГІГ±ГіГІГ±ГІГўГіГҐГІ Г*Г*Г*ëèòè÷åñêîå âûðГ*æåГ*ГЁГҐ ïðîèçâîäГ*îé Гў ГґГ*éëå.\n"<<
                    "Vvedite dlia yravneniia: "<<s2<<"\n yravnenie proizvodnoi: ";
                //"Ââåäèòå äëÿ ГіГ°Г*ГўГ*ГҐГ*ГЁГї: "<<s2<<"\nГіГ°Г*ГўГ*ГҐГ*ГЁГҐ ïðîèçâîäГ*îé: ";
                cin>>s3;
            }
            else fin>>s3;//ГЁГ*Г*Г·ГҐ áåðåì ГЁГ§ ГґГ*éëГ*
            s4 = CreatePolStr(s3, 0);//ïðîèçâîäГ*Г*Гї
            c = a-(b - a)*EvalPolStr(s2, b)/   //(2.1.9)
                (EvalPolStr(s2, b)-EvalPolStr(s2, a));
            if (EvalPolStr(s2, a) * EvalPolStr(s2, c) <= 0)//(2.1.16)
                x0 = a;
            else x0 = b;
            x1 = x0 - EvalPolStr(s2, x0)/EvalPolStr(s4, x0);//(2.1.17)
            while ((double)abs((long)(pow(10,15)*(x0 - x1)))/pow(10,15) > e){//(2.1.13)
                x0 = x1;
                x1 = x0 - EvalPolStr(s2, x0)/EvalPolStr(s4, x0);
            }
            x = x1;
            ex = (double)abs((long)(pow(10,15)*(x0 - x1)))/pow(10,15);
            cout<<"x = "<<x<<"\ny(x) = "<<EvalPolStr(s2, x)<<endl
                <<"e = "<<ex;
            break;
    }
    //Г§Г*ГЇГЁГ±Гј Гў ГґГ*éë: ðåøåГ*ГЁГҐ, Г§Г*Г*Г·ГҐГ*ГЁГҐ ГґГіГ*êöèè, ïîãðåøГ*îñòü
    fout<<x<<endl<<EvalPolStr(s2, x)<<endl<<ex;
    fout.close();
    fin.close();
    getch();
    delete [] s2;
    return 0;
}
Там коменты по русски написаны,но эт не суть важно)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2012, 07:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сделать меню в программе? (C++):

Подскажите, как сделать меню к программе - C++
Ребят, хелп Я не знаю как делать рабочее меню программы Мне нужно к программе написать меню.. Хелпаните плиз!!!!

Как сделать меню в программе под DOS, написанную в С++3.0? - C++
Уважаемые программеры! Подскажите, как сделать менюшку в программе под DOS, написанную в С++3.0! Я не знаю, с чего начать!Что вообще надо...

Не понимаю как сделать try/catch в программе - C++
в общем, у меня стек заполняется только целочисленным типом данных (int). Но также необходимо сделать исключения для типа double и букв...

Как сделать в данной программе перегрузку оператора? - C++
Нужно сделать, чтобы в этой программе была перегрузка оператора (любого). #include &lt;vcl.h&gt; #include &lt;fstream.h&gt; #pragma hdrstop ...

Как сделать меню? - C++
как объеденить эти две программы в одну через меню 1 пункт-отсортировать массив пирамидальным методом 2 пункт-отсортировать массив...

Как сделать в С++ внешнее меню? - C++
как сделать в С++ внешнее меню?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
LK
03.03.2012, 09:21
  #2
 Комментарий модератора 
mrjerr, используйте тег вставки кода :
[CPP ]без пробелов[ /CPP] или кнопка на панели окна редактирования сообщения
Правила
2.8. Используйте тэги форматирования текста для удобства восприятия ваших сообщений другими пользователями.
Регистрируясь, вы согласились выполнять Правила форума, будьте любезны - выполняйте.
0
vxg
Модератор
3163 / 1966 / 221
Регистрация: 13.01.2012
Сообщений: 7,528
03.03.2012, 21:08 #3
C++
1
2
3
4
5
6
7
cout
<< "Выберите метод:" << endl
<< "1 - дихотомии" << endl
<< "2 - хорд" << endl
//...
<< ">";
cin >> n;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2012, 21:08
Привет! Вот еще темы с ответами:

Как в программе сделать чтобы результат мог быть не целым ? - C++
#include &lt;iostream.h&gt; int pop(int* first,int* last) { int sum=0; for(; first!=last; ++first) sum+= *first; return...

Как сделать обработчик для меню? - C++
Я для для программы на c++ сделал меню, подскажите как сделать обработчик и куда этот код потом вставлять???

Как сделать меню используя оператор switch - C++
Как сделать оператором выбора switch, меню выбора процедуры. Например если есть 3 процедуры, чтобы можно было включить одну из них....

Как объединить программы и сделать для них меню? - C++
КАК ЭТО СДЕЛАТЬ???


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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