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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
#1

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

04.04.2014, 10:52. Просмотров 495. Ответов 2
Метки нет (Все метки)

Составить программу, выводящую на экран анкетные данные учеников (Ф. И. О., год рождения, адрес, сведения о родителях). Распечатать данные об учениках, родившихся ранее заданного года.
мы вводим в программе данные через структуру
записываем их в новый файл
а потом открываем этот файл еще раз и задам условие
и исохдя из условия выводим учеников на экран
КАК ЭТО РЕАЛИЗОВАТЬ???????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2014, 10:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структура "Ученик" (C++):

Структура "Ученик". Отсортировать по фамилии - C++
Годовые оценки по десяти предметам,10ти учеников класса напечатаны в виде таблицы (в первой строке — оценки первого ученика, во ...

Структура «Преподаватель» с полями "ФИО", "стаж", "категория", "нагрузка" - C++
Функция - расчёт зарплаты по нагрузке и оплате часа для определенной категории. Категория Оплата часа Вторая 150 Первая 200 ...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Структура: error C2079: "A::myElem" использует неопределенный struct "A::B" - C++
class A { public: struct B; private: B myElem; }; struct A::B {

Структура ORDER с полями "номер счета плательщика", "номер счета получателя" и "сумма платежа" - C++
написать структуру ORDER. с полями 1.номер счета плательщика 2.счета получателя 3.сумма платежа

Структура "Автомобиль". Контейнер "Рынок б/у автомобилей" - C++
Как реализовать такую структуру? 1. Найти иномарки стоимостью до 300тыс. руб. Предусмотреть в программе меню, позволяющее...

2
don_keyhot
5 / 5 / 2
Регистрация: 02.04.2014
Сообщений: 60
04.04.2014, 11:45 #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
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");
}
0
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
08.04.2014, 19:11  [ТС] #3
спасибо конечно, но для меня пока это сложно, препод не поверит
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 19:11
Привет! Вот еще темы с ответами:

Структура записи "Фирма", "Судебное дело" - C++
Помогите пожалуйста в чом ошибка Нужно Определить, в каком году чаще всего возбуждали уголовное дело против определенной фирмы.. ...

Объединение (union) "Ученик" - C++
Имеется информация об учениках младшей школы. Для всех учеников известны: фамилия, имя и класс. Для учеников 1-х классов дополнительно...

Структура, доступная из всех файлов проекта ("глобальная" структура) - C++
Есть четыре структуры (body, gun, enemy, st), описанные в main.cpp. К main.cpp подключен хедер save.h, в котором имеется функция void...

Структура: Вывести тех студентов, кто сдал оба экзамена либо на "4" либо на "5" - C++
Условие задачи: Дана ведомость студентов: Фамилия студента, оценка_1, оценка_2. Вывести тех студентов, кто сдал оба экзамена либо на...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru