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

Массивы структур и массивы строк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамические массивы http://www.cyberforum.ru/cpp-beginners/thread687046.html
1. Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать 2. Выполнить указанное в варианте задание и вывести полученный массив на печать. 3. Сформировать...
C++ Написать программу вывода площадей колец с++ builder Нужно написать программу вывода площадей колец.Программа должна проверять правильность исходных данных т.е радиус кольца должен быть больше радиуса отверстия ,если условие нарушается то... http://www.cyberforum.ru/cpp-beginners/thread687045.html
Выделение памяти C++
Скажите пожалуйста что не так? Не могу получить доступ к элементу str = 12, stlb = 3 bool** tempValues = new(bool*); for(int i = 0; i < stlb; i++) tempValues = new(bool); Вылетает вот в...
C++ Вывод всех символов строки, расположенных после первого символа ":"
Есть задача: С клавиатуры вводится строка. Составить программу, которая выводит на экран все символы, расположенные после первого символа ":"; подсчитывает количество предложений, содержащие...
C++ Вывести сумму четырех чисел с 4 знаками после запятой http://www.cyberforum.ru/cpp-beginners/thread687025.html
Задача 1. Сума В стандартном входном потоке дано 4 действительные числа. В стандартный выходной поток вывести их суму из 4 знаками после запятой. ПРИМЕР: Входные данные: 3 4 2.5 1 Результаты...
C++ Доработать код записной книжки Помагите плыз доработать записную книжку вот код: #include <iostream> #include <locale.h> using namespace std; //*ОПИСЫВАЕМАЯ СТРУКТУРА*/ struct fio { char surname; подробнее

Показать сообщение отдельно
Rezvanov
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 71
02.11.2012, 19:56  [ТС]
скажи свой эмайл, я тебе кину методичку. у меня 4 вариант

Добавлено через 4 минуты
Вот пример:

Лабораторная работа №6
Массивы структур и массивы строк.
Постановка задачи:
1. Сформировать динамический массив из элементов структурного типа. Структурный тип определен в варианте.
2. Распечатать сформированный массив.
3. Выполнить поиск элементов в массиве, удовлетворяющих заданному в варианте условию и сформировать из них новый массив.
4. Распечатать полученный массив.
5. Сформировать динамический массив, состоящий из динамических строк.
6. Распечатать сформированный массив.
7. Выполнить обработку этого массива.
8. Распечатать полученный массив.

Задание:
Структура –
C++
1
2
3
4
5
6
struct employee
{
char*name;
float salary;
int stage
};
Критерий для поиска в массиве структур - сотрудники, у которых имя начинается на букву ‘Л’.
Задание для обработки массива строк - добавить строку с заданным номером.


Описание используемых в программе стандартных функций.
struct имя_структуры
{
}
– определение структуры. Структура – это объединенное в единое целое множество поименованных элементов данных.

Исходный код программы:

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
115
116
117
118
119
120
121
#include <iostream.h>;
#include <stdlib.h>;
#include <windows.h>
 
struct employee
    {
        char name[20];
        float salary;
        int stage;
    };
 
employee create_struk(int n1, int j)//функция формирования массива структур
{
    employee mass[15];
    cout<<"\n";
    cout<<"Name="; 
    cin>>mass[j].name;
    cout<<"Salary="; 
    cin>>mass[j].salary;
    cout<<"Stage="; 
    cin>>mass[j].stage; 
    cout<<"------------------------------"<<"\n"; 
    return mass[j];
};
 
void print_struct(int j, employee mass[15])//функция печати  массива
{
    cout<<"\n";
        cout<<": Name="<<mass[j].name<<"  Salary="<<mass[j].salary<<"  Stage="<<mass[j].stage; 
};
 
void find_struk(int n1, employee mass[15])//функция поиска в массиве структур элементов с  name на букву “Л”
{
    int i=0;
    employee findm[15];
    for(int j=0; j<n1; j++)
    {
        if (mass[j].name[0]=='Л')
        {
            for(int k=0; k<sizeof(mass[j].name); k++) findm[i].name[k]=mass[j].name[k];
            findm[i].salary=mass[j].salary;
            findm[i].stage=mass[j].stage;
            i++;
        }
    }
    for(j=0;j<i;j++)
    {
        cout<<"\n";
        cout<<"Name="<<findm[j].name<<" ";
        cout<<"Salary="<<findm[j].salary<<" ";
        cout<<"Stage="<<findm[j].stage<<" ";
    };
    cout<<"\n";
};
 
void insert_row(int n1, employee mass[15], int k)// функция ввода в начало массива K элементов
{
    employee kin[15];
 
    for(int i=0;i<k;i++)
    {
        cout<<"name="; cin>>kin[i].name;
        cout<<"salary="; cin>>kin[i].salary;
        cout<<"age="; cin>>kin[i].stage;
        cout<<"=========================\n";
    }
    int bn;
    bn=n1+k;
    int j=0;
    for(i=k;i<bn;i++)
    {
        for(int f=0; f<sizeof(mass[j].name); f++) kin[i].name[f]=mass[j].name[f];
        kin[i].salary=mass[j].salary;
        kin[i].stage=mass[j].stage;
        j++;
    }
    for(i=0;i<bn;i++)
    {
        for(int f=0; f<sizeof(kin[i].name); f++) mass[i].name[f]=kin[i].name[f];
        mass[i].salary=kin[i].salary;
        mass[i].stage=kin[i].stage;
    }
}
 
void main() 
{
    SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 
    int n;
    cout<<"insert n\n";
    cin>>n;
    employee mass1[15];
 
    int k; int i; int g=0; g=g+n; int r;
    
    do
    {
        cout<<"1. Создать структуру\n";
        cout<<"2. Напечатать структуру\n";
        cout<<"3. Найти в структуре имена с началом на букву Л\n";
        cout<<"4. Добавить в начало K-строк\n";
        cout<<"5. выход\n";
        cin>>k;
        switch(k)
        {
        case 1:
            for(i=0; i<n; i++)
                mass1[i]=create_struk(n,i);
            break;
        case 2:
            for(i=0; i<g; i++)
            print_struct(i, mass1);  cout<<"\n"; break;
            case 3: find_struk(n,mass1); break;
            case 4: cout<<"Введите K\n"; cin>>r; g=g+r;  insert_row(n,mass1,r); break;
        }
        
    }
    while(k!=5);
    
};
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru