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

Как упростить программу на С++ - C++

Восстановить пароль Регистрация
 
Alistan
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 4
09.03.2011, 18:25     Как упростить программу на С++ #1
Собственно тред:
Задание: Создать массив записей размером N с информацией о студенте: ФИО (string), Пол (char), год рождения (Integer), стипендия (real), адрес. Ввести в массив данные о некоторых студентах группы, а затем вывести информацию из массива на экран: а) всех студентов и их данные; б) студентов мужского/женского пола; в) ФИО и адреса студентов с максимальной и минимальной стипендией.
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
// proekt1.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
void input(int num);
void output(int num);
void output_all(int num);
void output_male(int num);
void output_by_grant(int num);
 
struct inv_type 
{
    char imja[100];
    char otchestvo[100];
    char familija[100];
    char pol[100];
    int godrozhdenija;
    double stipuha;
    char adres[100];
}massiv[5];
           
int main(int argc, char *argv[])
{
 
cout << "Rukavishnikov Denis DCiM 1-1\n\n";
cout << "Zadanie 1. Laba 6\n\n";
 
    int num;
     
    cout << "Enter number of students: ";
    cin >> num;
    
    input(num);
    output_all(num);
    output_male(num);
    output_by_grant(num);
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
void input(int num)
{            
    for (int i = 0; i < num; i ++) 
    {
        cout << "Imja: ";
        cin >> massiv[i].imja;
        cout << "Otchestvo: ";
        cin >> massiv[i].otchestvo;
        cout << "Familija: ";
        cin >> massiv[i].familija;
        cout << "Pol: (m/f)";
        cin >> massiv[i].pol;
        cout << "godrozhdenija: ";
        cin >> massiv[i].godrozhdenija;
        cout << "stipuha : ";
        cin >> massiv[i].stipuha;
        cout << "adres: ";
        cin >> massiv[i].adres;
        cout << "\n\n"; 
     }             
}
 
void output(int num)
{
            cout << massiv[num].imja << "    ";
            cout << massiv[num].otchestvo << "    ";
            cout << massiv[num].familija << "    ";
            cout << massiv[num].pol << "    ";
            cout << massiv[num].godrozhdenija << "    ";
            cout << massiv[num].stipuha << "    ";
            cout << massiv[num].adres << "    \n\n";
}
 
void output_all(int num)
{
     for (int i = 0; i < num; i++)
     {
        output(i);
     }
}
 
void output_male(int num)
{
     cout << "\nParni:\n";
     for (int i = 0; i < num; i++)
     {
               
         if (strstr (massiv[i].pol, "m"))
         {
           output(i);
         }   
     }             
}
 
void output_by_grant(int num)
{
     double max = massiv[0].stipuha;
     double min = massiv[0].stipuha;
     int j = 0;
     
     for (int i = 1; i < num ; i++)
     {
         if (massiv[i].stipuha > max)
         {
            max = massiv[i].stipuha;
            j = i;
         }
     }         
 
     cout << "Naibol`haja stipuha u: \n";
     output(j);
     
     j = 0;
     min = massiv[0].stipuha;
     
     for (int i = 1; i < num ; i++)
     {
         if (massiv[i].stipuha < min)
         {
            min = massiv[i].stipuha;
            j = i;
         }
     }    
          
     cout << "Naimen`shaja stipuha u: \n";
     output(j);
}
 
 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2011, 18:25     Как упростить программу на С++
Посмотрите здесь:

упростить программу нахождения ряда C++
Как можно упростить программу?(или подкорректировать) C++
C++ Упростить программу
C++ как упростить программу ?
C++ Как упростить программу и почему она не работает на Visual Studio
C++ Палиндром. Можно ли упростить программу
Поменять местами максимальные элементы заданных матриц. Как упростить программу? C++
Не могу упростить программу C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
10.03.2011, 05:36     Как упростить программу на С++ #2
это удалить
C++
1
2
3
4
int _tmain(int argc, _TCHAR* argv[])
{
        return 0;
}



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
void output_by_grant(int num)
{
     double max = massiv[0].stipuha;
     double min = massiv[0].stipuha;
     int j = 0;
     
     for (int i = 1; i < num ; i++)
     {
         if (massiv[i].stipuha > max)
         {
            max = massiv[i].stipuha;
            j = i;
         }
     }         
 
     cout << "Naibol`haja stipuha u: \n";
     output(j);
     
     j = 0;
     min = massiv[0].stipuha;
     
     for (int i = 1; i < num ; i++)
     {
         if (massiv[i].stipuha < min)
         {
            min = massiv[i].stipuha;
            j = i;
         }
     }    
          
     cout << "Naimen`shaja stipuha u: \n";
     output(j);
}
узнать max и min можно за один проход

C++
1
2
    cout << "Enter number of students: ";
    cin >> num;
количество должно проверяться на переполнение (допустимое количество структур - пять)
Yandex
Объявления
10.03.2011, 05:36     Как упростить программу на С++
Ответ Создать тему
Опции темы

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