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

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

Войти
Регистрация
Восстановить пароль
 
Marinelle
Сообщений: n/a
#1

Структуры... - C++

04.06.2010, 00:56. Просмотров 312. Ответов 1
Метки нет (Все метки)

Помогите,пожалуйста.Что нужно добавить,чтобы стали работать функции poryadok,info и chet?
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#include <iostream>
#include <math.h>
#include <locale.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <iomanip>
#include <ctype.h>
#define number 8
using namespace std;
struct  znzd{
    char fio[20];
    char zn[10];
    int data[3];
        }znak[number];
    void poryadok(znzd*dop,int col);
    void info(znzd*dop,int col);
    void chet(znzd*dop,int col);
    int dop,min,j,i,a,kolznaka;
void main()
{
    int menu;
    setlocale(LC_ALL,"Russian_Russia.1251");
    int i=0;
    int col=0;
    int a=0;
    int j=0;
    int kolznaka=0;
    {
    int min,i,j;
    znzd znak[number];
    cout<<"Введите Фамилию Имя Отчество ";
    fflush(stdin);
    while(cin.getline(znak[col].fio,20))
        if(strcmp(znak[col].fio,"#")!=0 && col<number)
        {           
                cout<<"  Введите знак зодиака   ";
                cin>>znak[col].zn;
                cout<<"  Введите дату рождения  ";
                cin>> znak[col].data[0];
                cin>>znak[col].data[1];
                cin>>znak[col].data[2];
            cout<<"Введите Фамилию Имя Отчество ";
            col++;fflush(stdin);
            }else break;
    }
    while(1)
    {
        cout<<"\n\t\t\t"<<"Меню \n";
        cout<<"1.Упорядоченность по датам рождения \n";
        cout<<"2.Вывод на экран информации о человеке, чья фамилия введена с клавиатуры \n";
        cout<<"3.Подсчитать количество людей, принадлежащих каждому знаку Зодиака\n";
        cout<<"4.exit \n";
        cout<<"\n  Выберите пункт -> ";
        cin>>menu;
        switch (menu)
        {
        case 1:poryadok(znak, col);break;
        case 2:info(znak, col);break;
        case 3:chet(znak, col);break;
        case 4:exit(0);
       default:cout<<"\n\t Введите еще раз"<<"\n";
        }
 
     }
}
 
    // для порядка
    void poryadok(znzd*dop,int col)
    { 
    int min;
    cout<<"\n\t\tУпорядоченность по дате рождения \n";
    for (i=0;i<col;i++)
    {
        min=i;
        for (j=i+1;j<col;j++)
        {
            if (znak[j].data[2] < znak[min].data[2])
                min=j;
            else if(znak[j].data[1]<znak[min].data[1])
                min=j;
            else if (znak[j].data[0]<znak[min].data[0])
                min=j;
            znzd dop=znak[i];
            znak[i]=znak[min];
            znak[min]=dop;
        }
    }
    cout<<"\tФамилия "<<"\tЗнак Зодиака"<<"\t Дата рождения"<<endl;
    cout<<"__________________________________________________________"<<endl;
    for (i=0;i<col;i++)
    {   
        cout<<"\t"<<znak[i].fio<<"\t\t"<<znak[i].zn<<"\t\t"<<znak[i].data[0]<<"."<<znak[i].data[1]<<"."<<znak[i].data[2]<<"\n"<<endl;
    }
    }
    // для инфо
    void info(znzd*dop,int col)
    {
    a=0;
    i=0;
        int min,i,j;
    znzd znak[number];
    cout<<"Введите Фамилию Имя Отчество ";
    fflush(stdin);
    while(cin.getline(znak[col].fio,20))
        if(strcmp(znak[col].fio,"#")!=0 && col<number)
        {           
                cout<<"  Введите знак зодиака   ";
                cin>>znak[col].zn;
                cout<<"  Введите дату рождения  ";
                cin>> znak[col].data[0];
                cin>>znak[col].data[1];
                cin>>znak[col].data[2];
            cout<<"Введите Фамилию Имя Отчество ";
            col++;fflush(stdin);
            }else break;
    char familia[20];
    cout<<" Введите фамилию человека,о котором хотите получить -> ";cin>>familia;
    for (i=0;i<col;i++)
    {
        if (strstr(znak[i].fio,familia))
        {
            cout<<znak[i].fio<<" Знак зодиака: "<<znak[i].zn<<"  Дата рождения: "<<znak[i].data[0]<<"."<<znak[i].data[1]<<"."<<znak[i].data[2]<<"\n";
            a=1;
        }
    }
    if (a==0) 
        cout<<"Такого человека нет"<<endl;
    }
 
    // для счета
    void chet(znzd*dop,int col)
    { 
       char znaki[10];
       cout<<"\n\tПодсчет количества людей,принадлежащих каждому знаку Зодиака "<<endl;
       j=0;
       do
       {
       kolznaka=0;
       cout<<"Введите знак и вы получите количество людей,принадлежащих этому знаку  ";
       cin>>znaki;
       for (int i=0;i<col;i++)
       {
            if (strstr(znak[i].zn,znaki))
            kolznaka++;
           }
       cout<<"Количество людей этого знака: "<<kolznaka<<"\n";
       if(kolznaka==0) break;
       } while(j<col);
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2010, 00:56     Структуры...
Посмотрите здесь:

Помещение структуры в вектор, удаление структуры, изменение элементов структуры - C++
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный элемент структуры. 2 - удалять...

Динамические структуры данных. Программа ввода в структуры и вывода информации из неё. - C++
Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования. Для...

Функция внутри структуры использует указатель, как поле этой структуры - C++
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp, есть файл GlobalItems.h, где хранятся глобальные...

Динамическое изменение структуры таблицы для организации древовиднойой структуры - MS Access
Доброго времени суток. У меня такой вот вопрос: Необходимо сделать возможность добавления записей в таблицу определнным образом (через...

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) - C++
Есть у меня вот такая структура, например struct Subject { int cost; int Volume; }; Потом создаю экземпляр, Subject G; ...

Динамические структуры данных, списковые структуры (надо разобраться что делает программа) - Delphi
дана программа, надо помочь выяснить что в ней делает каждая подпрограмма unit Unit6; interface uses Windows,...

Вывод структуры, строка как элемент структуры - C++
Описать структуру с именем TRAIN, содержащую следующие поля: □ название пункта назначения; □ номер поезда; □ время отправления. ...

Управляющие структуры. Программирование алгоритмов разветвляющейся структуры. - Delphi
как это в delphi выполнить?((( Вычислить объем и площадь полной поверхности цилиндра, если известны высота и радиус основания V=пr^2*h,...

Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла? - C++
Ничего нельзя. Итак, новичкам напомню, что после выполнения кода FILE* f= fopen (&quot;file.txt&quot;, &quot;w&quot;); в переменной f содержится...

Структуры. Вызов данных структуры по указателю. с++ - C++
Условие задачи: Помогите, пожалуйста, с как реализовать печать вообще не представляю.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Marinelle
Сообщений: n/a
05.06.2010, 23:03     Структуры... #2
Ребят,пожалуйста,хоть кто-нибудь подкиньте идею на счет этой программы....((
Ответ Создать тему
Опции темы

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