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

Структура "Ученик" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как сделать код меньше http://www.cyberforum.ru/cpp-beginners/thread1138699.html
Здравствуйте, вообще меня интересует вопрос как можно уменшить этот код switch(a){ case 1: field=1; break; case 2: field=1; break; case 3: field=1; break; case 4: field=1; break; case 5: field=1; break; case 6: field=1; break; case 7: field=1; break; case 8: field=1; break;
C++ Надо поменять файл main.cpp, подстроив его под другие помогите, пожалуйста, надо исправить файл main.cpp под остальные 3 файла, что бы все нормально работало. Заголовочные файлы data.h #ifndef lab1_data_h http://www.cyberforum.ru/cpp-beginners/thread1138691.html
C++ Найти среднее геометрическое всех положительных чисел файла.
Файл содержит действительные числа. Найти среднее геометрическое всех положительных чисел файла. Помогите написать программу,заранее спасибо.
Помогите написать класс Книга C++
Помогите решить задачку ( написать класс ) Класс Книги: название автор цена количество найти: среднюю цену, суммарное количество, упорядочить по убыванию цены, найти максимальную цену.
C++ Определить лежит ли точка внутри заданного прямоугольника http://www.cyberforum.ru/cpp-beginners/thread1138683.html
Даны стороны прямоугольника a и b, Составить программу, определяющую лежит ли точка с координатами (x, y) внутри прямоугольника.
C++ Даны действительные числа a0,.a5, d0,.d5 . Получить многочлен шестой степени d0+d1(x-a0)+d2(x-a0)(x-a1)+.+d5(x-a0) Даны действительные числа a0,...a5, d0,...d5 . Получить многочлен шестой степени d0+d1(x-a0)+d2(x-a0)(x-a1)+...+d5(x-a0)...(x-a5).:umbrage: подробнее

Показать сообщение отдельно
don_keyhot
 Аватар для don_keyhot
4 / 4 / 2
Регистрация: 02.04.2014
Сообщений: 60
04.04.2014, 11:45     Структура "Ученик"
вот я похожую делал с месяц назад, пользуйся )
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
// -----------------------------------------------------------------
// Лабораторная работа №2. Указатели и структуры. Динамическое распределение памяти
// Задание 3.
// Захватить память для массива из 10 структур задания 1.
// Заполните массив данными из файла "1.dat".
// Вывести информацию о людях, родившихся в определенный месяц. 
// Высчитать для них среднюю зарплату.
// Перед завершением программы освободить память.        
//
// Вариант 1.
// студента группы 107213 Абрамчука Антона Алексеевича
//
// -----------------------------------------------------------------
 
#include <iostream>
#include <locale>
#include <fstream>
 
using namespace std;
 
int main()
{
    // русификация
    setlocale(LC_CTYPE, "Russian");
    
 
    // тип структуры note
    struct note
    {
        char fam[20];   // фамилия
        char name[20];  // имя
        char phone[10]; // телефон
        int data_r[3];  // дата рождения массив из трех чисел: год, месяц, день
        int oklad;      // оклад
    };
 
    note *pa_note = new note[10];         // указатель на массив из 10 структур
 
    ifstream file_in;                             // объявляем входной файл
    file_in.open("1.dat", ios::in|ios::binary);   // открываем его для чтения из него
    if ( !file_in.is_open() )                     // если файл не удалось открыть
    {
        cout << "Не могу открыть файл 1.dat";       // сообщаем об ошибке
        return 1;                                   // и завершаем программу с ошибкой
    }
 
    // читаем данные из файла
    cout << "Список первых 10-ти сотрудников: \n";
    cout << "Фамилия, Имя, Телефон, Дата рождения, Оклад \n";
    for (int i = 0; i < 10; i++)
    {
        // читаем по одному сотруднику за раз
        file_in.read((char *) &pa_note[i], sizeof note);
 
        // вывод для проверки
        cout << "\n" << i+1 << ") "
        //cout << "фамилия        " 
        << pa_note[i].fam << " " 
        //<< "имя            " 
        << pa_note[i].name << ", " 
        //<< "телефон        " 
        << pa_note[i].phone << ", " 
        //<< "день рождения  " 
        << pa_note[i].data_r[2] << "/" 
        //<< "месяц рождения " 
        << pa_note[i].data_r[1] << "/" 
        //<< "год рождения   " 
        << pa_note[i].data_r[0] << ", " 
        //<< "оклад          "
        << pa_note[i].oklad << " руб";
    }
 
    file_in.close(); // закрываем файл
 
    int mes;                  // месяц рождения
    int kol = 0;              // количество сотрудников рожденных в указанном месяце
    double summa = 0;         // сумма окладов
    double sredn_oklad = 0;   // средний оклад
 
    cout << "\n\n Введите месяц рождения -> "; cin >> mes;
    for (int i = 0; i < 10; i++)
        if (pa_note[i].data_r[1] == mes)
        {
            cout << "\n" << i+1 << ") "
            //cout << "фамилия        " 
            << pa_note[i].fam << " " 
            //<< "имя            " 
            << pa_note[i].name << ", " 
            //<< "телефон        " 
            << pa_note[i].phone << ", " 
            //<< "день рождения  " 
            << pa_note[i].data_r[2] << "/" 
            //<< "месяц рождения " 
            << pa_note[i].data_r[1] << "/" 
            //<< "год рождения   " 
            << pa_note[i].data_r[0] << ", " 
            //<< "оклад          "
            << pa_note[i].oklad << " руб";
 
            kol++; // увеличиваем кол-во сотрудников рожденных в месяце = mes
            summa = summa + pa_note[i].oklad; // сумма их окладов
        }
 
    // получим средний оклад разделив всю сумму на количество сотрудников
    sredn_oklad = summa / kol;
    cout << "\n\n Средний оклад сотрудников, рожденных в " << mes << " месяце = " << sredn_oklad;
 
    // освобождаем выделенную нами память
    delete [] pa_note;
 
    cout << "\n\n";
    // пауза перед выходом
    system("pause");
}
 
Текущее время: 10:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru