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

Создать управление программой - C++

Восстановить пароль Регистрация
 
Сеня 2007
2 / 2 / 0
Регистрация: 03.10.2010
Сообщений: 182
11.03.2011, 22:06     Создать управление программой #1
Нужно было сделать программу, чтобы она управлялась через switch-case
Вот что получилось:
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h>
 
 
 
int* vvod_s_klavi(int size);
int* vvod_s_f(int size);
int vivod(int a[], int size);
int num_more_c(int a[], int size);
int* ssort(int a[], int size);
int mult(int a[], int size);
 
int main(void)
{
    setlocale (LC_ALL, "Russian");
    int a[500];
    int size,i,b;
    do
{
    printf("Введите 1 - для ввода с клавиатуры\n");
    printf("Введите 2 - для ввода из файла\n");
    printf("Введите 3 - для вывода\n");
    printf("Введите 4 - для нахождения элементов больших C\n");
    printf("Введите 5 - для нахождения произведения\n");
    printf("Введите 6 - для сортировки\n");
    scanf("%d",&b);
    switch(b)
    {
    case 1:vvod_s_klavi(a,size); break;
    case 2:vvod_s_f(a,size); break;
    case 3:vivod(a,size); break;
    case 4:printf("\nКоличество элементов больших С=%d",num_more_c(a,size)); break;
    case 5:printf("\nПроизведение=%d",mult(a,size)); break;
    case 6:ssort(a,size);
        printf("\nОтсортированный массив");
     for(i=0; i<size; i++)
     {
         printf("%d ",a[i]);
     }break;
    }
 
 
} while(b!=0);
    printf("Введите количество элементов  n= \n");
    scanf("%d",&size);
    
    
    getch();
    return 0;
}
 
int vivod(int a[], int size)
{
    int i;
    printf("Массив:\n");
    for(i=0; i<size; i++)
    {
        printf("%d",a[i]);
    }
 
}
 
int* vvod_s_klavi(int a[],int size)
{
    int i;
    printf("Введите числа:\n");
    for(i=0; i<size; i++)
     {
         scanf("%d",&a[i]);
         printf("%d ",a[i]);
     }
    return a;
}
 
int* vvod_s_f(int a[],int size)
{
    int i;
    file*In;
    In=fopen("f1.txt","r");
    if(In)
        for(i=0; i<size; i++)
        {
            fscanf(In, "%d", &a[i]);
        }
        fclos(In);
        return a;
}
 
int num_more_c(int a[], int size)
{
    int num=0,i,c;
    printf("\nВведите С\n");
    scanf("%d",&c);
     for(i=0; i<size; i++)
     {
         if(a[i]>c)
         {
             num++;
         }
     }
    return num;
}
 
 
int* ssort(int a[], int size)
{
    int i,j,tmp;
     for(i=0; i<size; i++)
     {
         for(j=i; j<size; j++)
         {
             if(a[i]>a[j])
             {
                 tmp=a[i];
                 a[i]=a[j];
                 a[j]=tmp;
             }
         }
     }
    return a;
}
 
 
int mult(int a[], int size)
{
    int mult=1,i,mod_max=a[0],num_mod_max=0;
    for (i=0; i<size; i++)
      {
         if (abs(a[i])>=mod_max)
            {
               mod_max=abs(a[i]);
               num_mod_max=i;
            }
      }
    for (i=num_mod_max+1; i<size; i++)
      {
               mult*=a[i];
      }
     return mult;
}
Программа не работает, чуствую где то запарка в функциях и управлении с ними. Помогите исправить программу, но не переписать на свой лад!

Добавлено через 1 час 23 минуты
Помогите кто нить пожалуйста!

Добавлено через 1 час 24 минуты
Помогите завтра сдавать уже надо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2011, 22:06     Создать управление программой
Посмотрите здесь:

управление другой программой C++
Помогите с программой C++
Управление другой программой C++
C++ Помогите с программой
C++ Записать программой #1 и прочитать программой #2
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nxnx
Формучанин
361 / 292 / 16
Регистрация: 02.11.2010
Сообщений: 1,226
11.03.2011, 22:59     Создать управление программой #2
C++
1
2
int* vvod_s_klavi(int a[],int size)
int* vvod_s_klavi(int size);
а чё это такое?

Добавлено через 1 минуту
на каком моменте не работает?

Добавлено через 4 минуты
C++
1
2
   printf("Введите количество элементов  n= \n");
    scanf("%d",&size);
а эти строки не должны стоять перед циклом?
Сеня 2007
2 / 2 / 0
Регистрация: 03.10.2010
Сообщений: 182
11.03.2011, 23:03  [ТС]     Создать управление программой #3
Цитата Сообщение от nxnx Посмотреть сообщение
int* vvod_s_klavi(int a[],int size) int* vvod_s_klavi(int size);
Это функция ввода с клавиатуры. Разве она не такая как у меня должна быть?
А вот насчет строк незнаю у вас хотелось бы узнать!
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
11.03.2011, 23:06     Создать управление программой #4
Сеня 2007, у вас в прототипе функция принимает один параметр, а в реализации - два, что не правильно.
nxnx
Формучанин
361 / 292 / 16
Регистрация: 02.11.2010
Сообщений: 1,226
11.03.2011, 23:07     Создать управление программой #5
Удали:
C++
1
2
3
4
5
6
int* vvod_s_klavi(int size);
int* vvod_s_f(int size);
int vivod(int a[], int size);
int num_more_c(int a[], int size);
int* ssort(int a[], int size);
int mult(int a[], int size);
Функцию main перемести в самый низ кода.
C
1
2
 printf("Введите количество элементов  n= \n");
    scanf("%d",&size);
Поставь после строки:
C
1
int size,i,b;
Проверь результат.
Сеня 2007
2 / 2 / 0
Регистрация: 03.10.2010
Сообщений: 182
12.03.2011, 06:42  [ТС]     Создать управление программой #6
Теперь пишет не удается запустить программу из за того что она не найдена как решить эту проблему?

Добавлено через 7 часов 25 минут
Ну кто нить поможет?
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
12.03.2011, 06:58     Создать управление программой #7
Цитата Сообщение от Сеня 2007 Посмотреть сообщение
она не найдена. как решить эту проблему
Найдите эту программу.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2011, 11:01     Создать управление программой
Еще ссылки по теме:

C++ Разбираюсь с программой
C++ Проблемы с программой
Голосовое управление программой C++

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

Или воспользуйтесь поиском по форуму:
LaГushan
123 / 123 / 14
Регистрация: 12.03.2011
Сообщений: 227
12.03.2011, 11:01     Создать управление программой #8
По крайней мере, теперь программа компилируется. Хотя конечно, такое дело надо переписывать
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h>
 
 
 
int* vvod_s_klavi(int a[],int size);
int* vvod_s_f(int a[],int size);
int vivod(int a[], int size);
int num_more_c(int a[], int size);
int* ssort(int a[], int size);
int mult(int a[], int size);
 
int main(void)
{
        setlocale (LC_ALL, "Russian");
    int a[500];
    int size,i,b;
        do
{
        printf("Введите 1 - для ввода с клавиатуры\n");
        printf("Введите 2 - для ввода из файла\n");
        printf("Введите 3 - для вывода\n");
        printf("Введите 4 - для нахождения элементов больших C\n");
        printf("Введите 5 - для нахождения произведения\n");
    printf("Введите 6 - для сортировки\n");
        scanf("%d",&b);
 
        printf("Введите количество элементов  n= \n");
    scanf("%d",&size);
 
        switch(b)
        {
        case 1:vvod_s_klavi(a,size); break;
        case 2:vvod_s_f(a,size); break;
        case 3:vivod(a,size); break;
        case 4:printf("\nКоличество элементов больших С=%d",num_more_c(a,size)); break;
        case 5:printf("\nПроизведение=%d",mult(a,size)); break;
        case 6:ssort(a,size);
                printf("\nОтсортированный массив");
     for(i=0; i<size; i++)
     {
         printf("%d ",a[i]);
     }break;
        }
 
 
} while(b!=0);
    printf("Введите количество элементов  n= \n");
    scanf("%d",&size);
        
    
    getch();
    return 0;
}
 
int vivod(int a[], int size)
{
        int i;
        printf("Массив:\n");
        for(i=0; i<size; i++)
        {
                printf("%d",a[i]);
        }
    return 0;
 
}
 
int* vvod_s_klavi(int a[],int size)
{
        int i;
        printf("Введите числа:\n");
        for(i=0; i<size; i++)
     {
         scanf("%d",&a[i]);
         printf("%d ",a[i]);
     }
        return a;
}
 
int* vvod_s_f(int a[],int size)
{
        int i;
        FILE*In;
        In=fopen("f1.txt","r");
        if(In)
                for(i=0; i<size; i++)
                {
                        fscanf(In, "%d", &a[i]);
                }
                fclose(In);
                fclose(In);
                return a;
}
 
int num_more_c(int a[], int size)
{
    int num=0,i,c;
    printf("\nВведите С\n");
    scanf("%d",&c);
     for(i=0; i<size; i++)
     {
         if(a[i]>c)
         {
             num++;
         }
     }
    return num;
}
 
 
int* ssort(int a[], int size)
{
    int i,j,tmp;
     for(i=0; i<size; i++)
     {
         for(j=i; j<size; j++)
         {
             if(a[i]>a[j])
             {
                 tmp=a[i];
                 a[i]=a[j];
                 a[j]=tmp;
             }
         }
     }
    return a;
}
 
 
int mult(int a[], int size)
{
    int mult=1,i,mod_max=a[0],num_mod_max=0;
    for (i=0; i<size; i++)
      {
         if (abs(a[i])>=mod_max)
            {
               mod_max=abs(a[i]);
               num_mod_max=i;
            }
      }
    for (i=num_mod_max+1; i<size; i++)
      {
               mult*=a[i];
      }
     return mult;
}
Yandex
Объявления
12.03.2011, 11:01     Создать управление программой
Ответ Создать тему
Опции темы

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