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

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

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

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

05.05.2014, 15:59. Просмотров 279. Ответов 2
Метки нет (Все метки)

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

Преобразование пользовательских типов - C++
Здравствуйте. Помогите с одним вопросом, это пример из книги Лафоре ООП С++, не могу разобраться как работают функции int getHrs() const ...

Приведение пользовательских типов - C++
#include <iostream> using namespace std; class cl { friend cl operator+(cl& s2); public: cl(int d = 0, int c = 0) { ...

Преобразование пользовательских типов - C++
Добрый день. Суть проблемы такова. Есть 2 класса. Преобразовать через оператор получается. А через конструктор нет. Причем ошибка...

Шаблон для пользовательских типов данных - C++
В общем имееются две функции. Одна принимает тип данных string другая char. Функции выполняют одну и ту же задачу. Вопрос как сделать...

Обработка исключений в классах для пользовательских типов - C++
Здорова господа! Запустил токо класс String тестю и тут у меня вылетело исключение выход за пределы индекса, и программа тупо аварийно...

Возможно ли переопределение операторов для пользовательских типов? - C++
Собственно преследуемая цель: Определить свой тип int - myint. Переопределить для него операторы как надо. Ну, например, надо мне при...

2
SergeyTszyu
0 / 0 / 1
Регистрация: 18.03.2013
Сообщений: 19
05.05.2014, 16:08 #2
А что не получается сделать ?
0
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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2014, 16:15
Привет! Вот еще темы с ответами:

Реализовать сохранение в базу данных полей разных типов (в том числе и пользовательских) - C++
Здравствуйте! Подскажите как можно реализовать такую задачу: В базе данных должны быть записи, которые состоят из полей. Поля...

Создание пользовательских функций - C++
Необходимо реализовать программный код, позволяющий найти решение следующей задачи. Для х, изменяющегося от a до b (интервал указан в...

Создание пользовательских функций - C++
Необходимо реализовать программный код, позволяющий найти решение задачи получения несократимой дроби. Помогите люди!!!!!))

помогите с создание пользовательских функций - C++
Задано n троек чисел a, b, c. Написать процедуру определения, сколько из предложенных троек можно использовать для построения треугольника,...


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

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

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