Заблокирован
1

меню функции нужно немного переделать

15.12.2011, 09:56. Показов 732. Ответов 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include "stdafx.h"
#include "math.h"
void act1(int);
void act2(int);
void act3(int);
void act4(int);
void act5(int);
void act6(int);
float h1, r1, a, b, c, p, V; 
int menu=0;
void(*act[6])(int) = {act1,act2,act3,act4,act5,act6};
 
 
int _tmain(int argc, _TCHAR* argv[])
{
                float a;
                float b;
                float c;
                float r1;
                float h1;
                float p;
                float V;
                float V1;
                float V2;
        menu=1;
        while(menu > 0 && menu <=6)
        {
        
                printf( "MENU:\n\n");
                printf( "1. 3adacha\n");
                printf( "2. vvod razmerov konusa\n");
                printf( "3. vvod razmerov polosti\n");
                printf( "4. vvod plotnosti materiala\n");
                printf( "5. raschet i vivod ob'ema figuri\n");
                printf( "6. raschet i vivod massi figuri\n\n");
                printf( "vvedite punkt MENU: "); int
                scanf_s("%d",&menu);
                if (menu > 0 && menu <=6)
                (*act[menu-1])(int a, int b,int c,int h1,int r1,int V,int V1,int V2, p);        
                else printf("!!!!!!!!!!!ERROR!!!!!!!!!!");
 
        }
return 0;       
}
        
 
 
void act1(int menu)
{
        if (menu==1)
        {
        printf("vichislenie ob'ema figuri\n");
        }
}
 
void act2(float &r1, float &h1)
{
        //float h1, r1;
                if (menu==2)
                {
                        printf ("vvedite radius konusa: ");
                        scanf ("%f",r1);
                        printf ("vvedite visotu konusa: ");
                        scanf ("%f",&h1);
 
                }
 
}
        void act3(float &a, float &b, float &c)
{
        //float a, b, c;
        if (menu==3)
        {
                printf ("vvedite visotu, dlinu i shirinu polosti: ");
                scanf_s ("%f %f %f",&a,&b,&c);
 
        }
}
void act4(float &p)
{
        if (menu==4)
        {
                printf ("vvedite plotnost figuri: ");
                scanf_s ("%f",&p);
                
        }
}
void act5(float a, float b, float c, float r1, float V2, float V1, float V, float h1)
{
        
        if (menu==5)
        {
                V1=3*r1*r1*h1/3;
                V2=a*b*c;
                V=V1+V2;
                printf("V = %f",V);
        }
}
        
        
void act6(int menu)
{
        float m, V, p;
        if (menu==6)
        {
                    m=V/p;
                    printf ("massa= %f",m);
        }
        printf("exit/n");
        
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2011, 09:56
Ответы с готовыми решениями:

Нужно немного переделать программу: использовать функции и динамическое выделение памяти
Помогите переделать программу в соответствии с условиями: а) для хранения массивов используйте...

Динамические переменные (нужно немного переделать)
Нужно немного переделать здесь нужно найти для каждой строки количество элементов, кратные трем, и...

Нужно немного переделать программу нахождения компонент сильной связности в графе
В общем задание такое, нужно переделать эту программу, я не знаю как это сделать, помогите люди...

Нужно немного переделать функцию
Нужно чтобы не переворачивала список и кто может пояснить как она работает а то не совсем понятно...

2
41 / 41 / 36
Регистрация: 23.11.2006
Сообщений: 151
15.12.2011, 10:04 2
Сделай глобальными,
объявив public
0
Заблокирован
15.12.2011, 11:42  [ТС] 3
HackSign, забыл написать, глобальные переменные нельзя использовать
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2011, 11:42
Помогаю со студенческими работами здесь

Нужно немного переделать задачу
Программа работает так что когда доходит до буквы B начинает с буквы С, а не с буквы A,помогите...

Нужно немного переделать рабочую программу
Сделал программу сортировки массива в виде трех подпрограмм, не считая модуля main. #include...

Горизонтальное меню навигации нужно немного изогнуть
подскажите как сверстать горизонтальное меню такого типа пробывал каждую категорию наклонить...

Нужно переделать меню из горизонтального в вертикальное
Помогите переделать меню из горизонтального в вертикальное в примере &lt;!DOCTYPE html&gt; &lt;html&gt;...

Разделить меню так, чтобы каждый пункт меню был немного отдален друг от друга
Здравствуйте, на сайте есть меню: Мне нужно разделить его. Чтобы каждый пункт меню был немного...

Нужно переделать код под функции (одномерный массив)
«Однoмерные маcсивы», оформить каждый пункт задания в виде функции. Все необходимые данные для...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru