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

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

Войти
Регистрация
Восстановить пароль
 
Rom@
22 / 31 / 3
Регистрация: 29.11.2009
Сообщений: 210
#1

Меню к программе - C++

02.06.2010, 14:51. Просмотров 617. Ответов 9
Метки нет (Все метки)

кто может помочь сделать меню к програмке(строковый калькулятор) типа
1: ввести выражение
2: запись в файл
3: вивести из файла
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
#include <string.h>
#include <math.h>
#include <ctype.h>
#include <assert.h>
#include <conio.h>
#include <stdio.h>
 
int tok;
double tokval;
 
int next() {
    for (;;) {
        int c = getchar();
        if (c == EOF || strchr("+-*/^()\n", c) != NULL) return tok = c;
        if (isspace(c)) continue;
        if (isdigit(c) || c == '.') {
            ungetc(c, stdin);
            scanf(" %lf", &tokval);
            return tok = 'n';
        }
        fprintf(stderr, "Bad character: %c\n", c); 
    }
}
 
void skip(int t) { assert(tok == t); next(); }
 
double expr();
 
 
double numpar() {
    if (tok == 'n') { double x = tokval; skip('n'); return x; }
    skip('('); double x = expr(); skip(')'); return x;
}
 
 
double factor() {
    double x = numpar();
    if (tok == '^') { skip('^'); x = pow(x, factor()); }
    return x;
}
 
 
double term() {
    double x = factor();
    for (;;) {
        if (tok == '*') { skip('*'); x *= factor(); }
        else if (tok == '/') { skip('/'); x /= factor(); }
        else return x;
    }
}
 
 
double expr() {
    double x = term();
    for (;;) {
        if (tok == '+') { skip('+'); x += term(); }
        else if (tok == '-') { skip('-'); x -= term(); }
        else return x;
    }
}
 
int main() {
    next();
    while (tok != EOF) {
        if (tok == '\n') { skip('\n'); continue; }
        printf("%.9g\n", expr());
    }
    getch();
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2010, 14:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Меню к программе (C++):

Организация меню в программе - C++
Как правильно организовать меню в консольной программе с помощью switch case? Я делал так, но не змею правильно ли? #include &lt;cstdlib&gt; ...

Меню в программе - бесконечный loop - C++
Доброго всем дня. Разными способами пытаюсь сделать меню в программе. Если делать через switch, то всё нормально ровно до тех пор, пока не...

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

нужно составить меню к программе - C++
/*Написать программу, которая выполняет следующие действия: • вводит с клавиатуры данные в массив, состоящий из десяти структур; записи...

Ошибка в программе для вывода меню - C++
Нужно сделать раскрывающееся меню, но у меня даже обычное не получается.и так и сяк его кручу...вот код, может кто поможет исправить...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rom@
22 / 31 / 3
Регистрация: 29.11.2009
Сообщений: 210
03.06.2010, 18:24  [ТС] #2
или хотя б сделать так чтоб результат можно было записать в файл
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 18:30 #3
Вопрос о цикличности

почитай эту тему, если не поможет, пиши
Stas96
34 / 34 / 3
Регистрация: 31.08.2009
Сообщений: 116
03.06.2010, 18:41 #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
int dp;
cout << "1. " <<endl;
cout << "2." << endl;
cout << "3." <<endl;
cout << "4. "<< endl;
cin >> dp;
switch(dp)
{
case 1:
код
break;
 
case 2:
код
break;
 
case 3:
код
break;
 
case 4:
код
break;
}
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 18:43 #5
именно это описано в той теме, с разными возможными ошибками
Rom@
22 / 31 / 3
Регистрация: 29.11.2009
Сообщений: 210
03.06.2010, 18:50  [ТС] #6
Цитата Сообщение от RoY_Mu$T@nG Посмотреть сообщение
именно это описано в той теме, с разными возможными ошибками
да и я никак точно не могу роздуплить как рабоет етот код
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 18:55 #7
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
int main()
{
 phone numb[75], numbn[75];
 char next;
 char number[15];
 int i, c;
 do
 {
 cout << "1.Add contact, 2.Search contact, 3.Exit" << endl;
 cin >> c;
 switch (c)
 {
 case 1:
     {
 ofstream fileout("file.txt", fstream::in | fstream::out | fstream::app);
 if(!fileout)
 {
 cerr << "Error: opening file" << endl;
 return 1;
 }
 for(i=0;i<1;i++)
 {
 cout << "Enter firstname, lastname, middlename, number" << endl;
 cin >> numb[i];
 fileout << numb[i];
 }
 break;
     }
 case 2:
 cout << "Enter number of the contact:";
 cin >> number;
 ifstream filein("file.txt");
 if(!filein)
 {
  cerr << "Error: opening file";
  return 2;
 }
 i=0;
 while(1)
 {
  filein >> numbn[i];
  if(!strcmp(numbn[i].number, number))
  {
  cout << numbn[i];
  break;
  }
  next=filein.peek();
  if(next==EOF)break;
  i++;
 }
 break;
 }
 }
 while(c !=3);
 return 0;
}
вот кусок моей программы, т.е.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
do
{
cin >> c;
switch(c)
{
case 1:  //с = 1
{
действия; break;
}
case 2: //с = 2
{
действия; break;
}
case 3: //с = 3
{
действия; break;
}
}
while(c !=0) //0 в данном случае exit
Rom@
22 / 31 / 3
Регистрация: 29.11.2009
Сообщений: 210
03.06.2010, 19:36  [ТС] #8
RoY_Mu$T@nG, а куда надо вставить код а то у меня не получается
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 19:40 #9
ну смотри
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
int main()
{
объявление переменных тут и бла бла бла
do
{
cin >> c;
switch(c)
{
case 1:  //с = 1
{
ввод выражения; break;
}
case 2: //с = 2
{
запись в файл; break;
}
case 3: //с = 3
{
вывод из файла; break;
}
}
while(c !=4) //4 в данном случае exit, т.е. конец
return 0;
}
Rom@
22 / 31 / 3
Регистрация: 29.11.2009
Сообщений: 210
03.06.2010, 23:01  [ТС] #10
может у кого-то еще есть програмка строковый калькулятор но не очень сложный и с операциями + - * / ^
заранее спасибо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2010, 23:01
Привет! Вот еще темы с ответами:

Отправка параметров программе из контекстного меню проводника - C++
Здравствуйте))).Помогите пожалуйста решить один вопрос. Текст программы: #include &lt;iostream&gt; int main() { ...

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

В программе создать главное и контекстное меню. Вывести справку о разработчике - C++
Вывести на экран все трехзначные числа, которые начинаются и заканчиваются на одну и ту же цифру;

"О программе" (пункт меню) - C++
Здрасти. В пункте меню &quot;о программе&quot; мне куда писать эту информацию, в самой программе? или записать в файл, а функцией...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.06.2010, 23:01
Ответ Создать тему
Опции темы

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