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

Создание пользовательских типов - C++

Восстановить пароль Регистрация
 
marnik
0 / 0 / 0
Регистрация: 02.05.2014
Сообщений: 14
05.05.2014, 15:59     Создание пользовательских типов #1
помогите пожалуйста написать программу. (необходимо написать с применением операторов "printf/scanf"); Сведения об экзамене содержат следующие данные: дисциплину (программирование, социология, иностранный язык, физика), дату сдачи экзамена (год, месяц, день), сведения о студенте (фамилия, факультет, курс, группа) и экзаменационную оценку. Задан набор сведений об экзаменах, сданных студентами за последние несколько лет; в них факультет и предмет кодируются первыми буквами названия. Определить количество отличников по программированию на технологическом факультете среди студентов первого курса, сдававших экзамены летом 1995 года, вывести на экран их фамилии и группу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2014, 15:59     Создание пользовательских типов
Посмотрите здесь:

C++ Обработка исключений в классах для пользовательских типов
C++ Создание пользовательских функций
C++ Создание пользовательских функций
C++ Преобразование пользовательских типов
Приведение пользовательских типов C++
C++ Преобразование пользовательских типов
Шаблон для пользовательских типов данных C++
Возможно ли переопределение операторов для пользовательских типов? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SergeyTszyu
0 / 0 / 1
Регистрация: 18.03.2013
Сообщений: 19
05.05.2014, 16:08     Создание пользовательских типов #2
А что не получается сделать ?
marnik
0 / 0 / 0
Регистрация: 02.05.2014
Сообщений: 14
05.05.2014, 16:15  [ТС]     Создание пользовательских типов #3
вот программа надо бы переделать ее(с printf scanf)
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
#include <iostream>
#include <locale>
 
using namespace std;
 
enum Discipline
{
    PROGRAMMING,
    SOCIOLOGY,
    FOREIGN,
    PHYSICS
};
 
struct Date
{
    unsigned char day : 5;
    unsigned char month : 4;
    unsigned int year : 11;
};
 
struct Student
{
    char FIO[32];
    char faculty;
    unsigned char course : 3;
    char group[8];
};
 
struct Exam
{
    Discipline discipline;
    Date date;
    Student student;
    unsigned char mark : 3;
};
 
int main()
{
    char c;
    unsigned int count;
    Exam* exam;
    unsigned int i;
    unsigned int n;
    unsigned int temp;
    setlocale(LC_ALL, "Rus");
    cout << "Введите количество записей: ";
    cin >> n;
    exam = new Exam[n];
    for (i = 0; i < n; i++)
    {
        cout << "Введите информацию об " << i + 1 << " записи:" << endl;
        cout << "Введите дисциплину (первой буквой - P - программирование, S - социология, I - иностранный язык, F - физика): ";
        cin >> c;
        switch (c)
        {
            case 'P':
                exam[i].discipline = PROGRAMMING;
                break;
            case 'S':
                exam[i].discipline = SOCIOLOGY;
                break;
            case 'I':
                exam[i].discipline = FOREIGN;
                break;
            case 'F':
                exam[i].discipline = PHYSICS;
                break;
            default:
                ;
        }
        cout << "Дата сдачи экзамена" << endl;
        cout << "Число: ";
        cin >> temp;
        exam[i].date.day = temp;
        cout << "Месяц: ";
        cin >> temp;
        exam[i].date.month = temp;
        cout << "Год: ";
        cin >> temp;
        exam[i].date.year = temp;
        cout << "Сведения о студенте" << endl;
        cout << "Фамилия: ";
        cin >> exam[i].student.FIO;
        cout << "Факультет: ";
        cin >> exam[i].student.faculty;
        cout << "Курс: ";
        cin >> temp;
        exam[i].student.course = temp;
        cout << "Группа: ";
        cin >> exam[i].student.group;
        cout << "Оценка за экзамен: ";
        cin >> temp;
        exam[i].mark = temp;
    }
    cout << "По заданным условиям найдены следующие студенты:" << endl;
    count = 0;
    for (i = 0; i < n; i++)
    {
        if (exam[i].mark == 5 && exam[i].discipline == PROGRAMMING && exam[i].student.faculty == 'T' && exam[i].student.course == 1 && 6 <= exam[i].date.month && exam[i].date.month <= 8 && exam[i].date.year == 1995)
        {
            count++;
            cout << count << ". " << exam[i].student.FIO << "\t" << exam[i].student.group << endl;
        }
    }
    if (count == 0)
    {
        cout << "Список пуст, отличников нет :(" << endl;
    }
    delete[] exam;
    return 0;
}
Yandex
Объявления
05.05.2014, 16:15     Создание пользовательских типов
Ответ Создать тему
Опции темы

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