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

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

Восстановить пароль Регистрация
 
Marinelle
Сообщений: n/a
04.06.2010, 00:56     Структуры... #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++
C++ Структуры
Структуры. Сортировка массива структуры C++
Структуры! Обработка внутри структуры C++
Структуры C++
Отличаи класса С++ от структуры на С и структуры на С++ C++
C++ Структуры и указатели на структуры
Структуры, нумерация полей структуры C++

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

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

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