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

Функции.Динамичесские массивы и структуры - C++

Восстановить пароль Регистрация
 
Сергей Новиков1
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 25
01.12.2010, 22:36     Функции.Динамичесские массивы и структуры #1
Функции. Динамические массивы и структуры

Сформировать одномерный динамический массив порядка N, элементы которого имеют указанную ниже структуру, и организовать обработку его данных в соответствии с вариантом задания.
Примечание: для связанных данных, которые обязательно есть в каждом варианте (например, фамилия, имя, отчество или день, месяц, год и др.) формировать отдельную единицу структурного типа.
Программа должна содержать раздельные функции осуществляющие ввод, вывод и реализацию задачи.

Задание:На языке С++
Исходные данные вставить в таблицу.


1. Структура элемента массива карточка студента: фамилия, имя, отчество, курс, группа, первый семестр (математика, физика, история), 2-ой семестр (математика, физика, черчение), 3-й семестр (математика, физика, программирование), 4-ый семестр (математика, иностранный язык, программирование),. Подсчитать количество студентов в каждой группе, сдала экзамены в летних сессиях за два года только на «хорошо» и «отлично». Номера групп определять из массива аттестационных карт (предварительно номера групп неизвестны).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2010, 22:36     Функции.Динамичесские массивы и структуры
Посмотрите здесь:

C++ Структуры и массивы
C++ СТРУКТУРЫ И МАССИВЫ СТРУКТУР
Структуры, массивы, функции C++
C++ Массивы, структуры, на С++
структуры и массивы C++
C++ Структуры. Массивы структур
Массивы структуры C++
Структуры и строчные массивы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
02.12.2010, 03:36     Функции.Динамичесские массивы и структуры #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
#include <iostream>
#include <iomanip>
#include <time.h>
#include <math.h>
#include <vector>
#include <algorithm>
#include <string>
 
const std::string grade_names[4][3] = 
        {
            {"math", "physics", "history"},
            {"math", "physics", "drawing"},
            {"math", "physics", "programming"},
            {"math", "language", "programming"},
        };
 
std::string namegen(bool patronymic=false, bool surname=false)
{
    std::string prefix[] = {"Po", "De", "Ki", "Mo", "Zi", "Ni", "Di", "Li", "To", "Ba"};
    std::string syllable[] = {"sem", "grom", "grim", "grem", "bol", "bil", "le", "til", "an", "ro"};
    std::string suffix[] = {"ko", "kov", "in", "ed","ov", "iko", "ako", "onko", "enko", "dor"};
    std::string aname = prefix[rand()%10]+syllable[(rand()%10)];
    if (surname)
        aname += syllable[rand()%10] + suffix[rand()%10];
    if (patronymic)
        aname += "ovich";
    return aname;
}
 
typedef struct
{
    std::string name;
    std::string patronymic;
    std::string surname;
    int year;
    int group;
    std::vector<std::vector<int>> grades;
} student;
 
void fill_student(student& stud, int year, int group)
{
    if (stud.name=="")
    {
        stud.name = namegen();
        stud.patronymic = namegen(true);
        stud.surname = namegen(false, true);
    }
    stud.year = year;
    stud.group = group;
    stud.grades.resize(4, std::vector<int>(3, 0));
    for (int i=0; i<4; i++)
        for (int j=0; j<3; j++)
            stud.grades[i][j] = rand()%4+2;
}
 
void print_student(student a_student)
{
    std::cout << " * " << a_student.name << " " 
        << a_student.patronymic << " " << a_student.surname << ", " 
        << a_student.year << "-" << a_student.group << std::endl;
    for (int i=0; i<4; i++)
    {
        for (int j=0; j<3; j++)
            std::cout << std::setw(15) << grade_names[i][j] << ": " << a_student.grades[i][j];
        std::cout << std::endl;
    }
}
 
int main()
{
    srand(time(0));
 
    std::vector<student> students;
 
    for (int group=1; group<3; group++)
        for (int i=0; i<5; i++)
        {
            student a_student;
            for (int year=2009; year<2011; year++) 
            {
                fill_student(a_student, year, group);
                students.push_back(a_student);
                print_student(a_student);
            }
        }
    system("pause");
    return 0;
}
Yandex
Объявления
02.12.2010, 03:36     Функции.Динамичесские массивы и структуры
Ответ Создать тему
Опции темы

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