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

Программа обработки структур - C++

Восстановить пароль Регистрация
 
VitaliyH
3 / 3 / 0
Регистрация: 05.09.2012
Сообщений: 41
04.02.2013, 21:19     Программа обработки структур #1
Разработайте программу обработки структур. В программе
используйте структуру, содержащую поля с информацией об
учащихся:
- фамилия и инициалы;
- дата рождения;
- номер группы;
- оценки за семестр по предметам: физика, математика, ин-
форматика, этика, психология.
Организуйте ввод исходных данных, средний балл каждого
учащегося рассчитайте по введенным оценкам.
На экране отобразите всю введенную информацию и осуще-
ствите поиск данных:
Выведите анкетные данные учащихся-отличников интере-
сующей вас группы (вводится с клавиатуры).

Есть программа решения аналогичной задачи, выводит по предметам а не по группам, анкеты с оценками ниже 4-х.
Как изменить вывод на группы, с оценками от 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 <iostream>
#include <string.h>
#include <locale.h>
 
using namespace std;
 
const int size=50;
const int o=5; //количество предметов
const int MaxItems=3;   //max количество элементов в таблице
int n=-1;
 
struct Item
{
    char name[size];
    char date[size];
    int numberGr;
    int estimation[o];
};
 
Item table[MaxItems];   // определение рабочего вектора
 
char *oc[]=
{
    "1. физика ",
    "2. математика ",
    "3. информатика" ,
    "4. этика ",
    "5. психология "
};
char *mes[]=
{
    "1. Занести в таблицу\n",
    "2. Просмотреть таблицу\n",
    "3. Поиск в таблице\n",
    "4. Завершить работу\n"
};
int mes_count=sizeof(mes)/sizeof(mes[0]);
 
void Insert (void);
void Find (void);
void Show (void);
void Quit(void);
void (*Sunc[])()={Quit, Insert, Show, Find};
 
int menu ()
{
    int ans;
    do
    {
        for (int j=0; j<mes_count; j++)
            cout<<mes[j];
        cout<<endl;
        cout<<"Выберете действие: ";
        cin>>ans;
    }
    while (ans<0||ans>mes_count);
    return ans%mes_count;
}
int main()
{
    setlocale(LC_ALL,"Russian");
    int answer;
    while (answer = menu())
        Sunc[answer]();
    cout << "\n******* Завершение *******" << endl;
}
void Insert()
{
    int k, i=0;
    char buf[size];
    char buf2[size];
    if (n==MaxItems-1)
        cout<<"Таблица заполнена!\n";
    else
    {
        n++;
        cout<<"Имя: ";
        cin>>table[n].name;
        cout<<"Дата рождения: ";
        cin>>table[n].date;
        cout<<"Номер группы: ";
        cin>>table[n].numberGr;
        cout<<"Введите оценки: \n";
        for (i=0; i<o; i++)
        {
            cout<<oc[i];
            cin>>table[n].estimation[i];
        }
 
    }
}
void Show ()
{
    int i=0;
    if (n<0)
        cout<<"Таблица пуста!\n";
    else
    {
        cout << "\n==================="<< endl;
        cout << "Индекс"<<'\t'<<"Имя" << '\t' << "Дата рождения"<<'\t'<<"Номер группы";
        cout << "\n==================="<< endl;
        for (i=0; i<=n; i++)
        {
            cout<<i<<'\t'<<table[i].name<<"\t"<<table[i].date<<'\t'<<table[i].numberGr;
            cout<<endl;
            cout<<"Оценки: \n";
            //cout<<"физика, математика, информатика, этика, психология\n";
            for (int j=0; j<o; j++)
            {
                cout<<oc[j];
                cout<<table[i].estimation[j]<<endl;
            }
        }
 
            cout << "\n==================="<< endl;
    }
}
void Quit ()
{
    n=0;
}
void Find ()
{
    int i=0, z;
    if (n<1)
        cout<<"Таблица пуста!\n";
    else
    {
        do
        {
            cout<<"Выберите предмет: \n";
            cout<<" 1. физика\n 2. математика\n 3. информатика\n 4. этика\n 5. психология\n";
            cin>>z;
        }
        while (z>o ||z<0);
        cout << "\n==================="<< endl;
        cout << "Индекс"<<'\t'<<"Имя" << '\t' << "Дата рождения"<<'\t'<<"Номер группы";
        cout << "\n==================="<< endl;
        for (i=0; i<=n; i++)
        {
            if (table[i].estimation[z]<4)
                cout<<i<<'\t'<<table[i].name<<"\t"<<table[i].date<<'\t'<<table[i].numberGr;
            cout<<endl;
        }
 
            cout << "\n==================="<< endl;
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2013, 21:19     Программа обработки структур
Посмотрите здесь:

C++ обработки структур данных
Разработайте программу обработки структур C++
C++ обработки структур данных
Программирование задач обработки структур и файлов. C++
Рекурсивные алгоритмы обработки структур данных C++
C++ Программирование задач обработки структур и файлов
Функции обработки структур BOX C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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