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

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

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

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

25.05.2012, 14:27. Просмотров 317. Ответов 0
Метки нет (Все метки)

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

Собственно,проблема одна. Не получается сделать сортировку фамилий по алфавиту в case 1. Максимум что вышло сортировка по первой букве

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
#include<iostream.h>
#include<string.h>
#include<iomanip.h>
#include<windows.h>
#include<conio.h>
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
struct notebook
{char family[20];
char name[20];
int day,month,year;
char telephone[11];
};
 
struct notebook *tr;
tr=new notebook[50];
 
int i,n,m=0,nom,min=30;
 
cout<<"Ââåäèòå êîëè÷åñòâî ÷åëîâåê"<<endl;
cin>>n;
for(i=0;i<n;i++)
{cout<<"Ââåäèòå ГґГ*ìèëèþ(Г§Г*ГЈГ«Г*ГўГ*ûìè ГЎГіГЄГўГ*ìè)"<<endl;
cin>>tr[i].family;
cout<<"Ââåäèòå èìÿ"<<endl;
cin>>tr[i].name;
cout<<"Ââåäèòå Г¤Г*ГІГі ðîæäåГ*ГЁГї"<<endl;
cout<<"äåГ*Гј: ";
cin>>tr[i].day;
while(tr[i].day>30)
 {cout<<"îøèáêГ*, ïîïðîáóéòå Г±Г*îâГ*"<<endl;
 cin>>tr[i].day;}
cout<<"ìåñÿö: ";
cin>>tr[i].month;
while(tr[i].month>12)
 {cout<<"îøèáêГ*, ïîïðîáóéòå Г±Г*îâГ*"<<endl;
 cin>>tr[i].month;}
cout<<"ãîä: ";
cin>>tr[i].year;
while(tr[i].year>2012)
 {cout<<"îøèáêГ*, ïîïðîáóéòå Г±Г*îâГ*"<<endl;
 cin>>tr[i].year;}
cout<<"Ââåäèòå Г*îìåð òåëåôîГ*Г*"<<endl;
cin>>tr[i].telephone;}
system("cls");
 
while(m!=4)
{
cout<<"Âûáåðèòå:"<<endl;
cout<<"'1'-ñïèñîê ГґГ*ìèëèé Гў Г*ëôГ*ГўГЁГІГ*îì ïîðÿäêå Г± ГіГЄГ*Г§Г*Г*ГЁГҐГ¬ Г*îìåðîâ òåëåôîГ*îâ"<<endl;
cout<<"'2'-ñïèñîê ëèö, êîòîðûõ Г*åîáõîäèìî ïîçäðГ*ГўГЁГІГј Г± Г¤Г*ГҐГ¬ ðîæäåГ*ГЁГї Гў Г§Г*Г¤Г*Г*Г*îì ìåñÿöå"<<endl;
cout<<"'3'-Г*îâûé ââîä Г¤Г*Г*Г*ûõ"<<endl;
cout<<"'4'-âûõîä"<<endl;
 
cin>>m;
switch(m)
 
{case 1:
      {
      cout<<"----------------------------------------------------------"<<endl;
      cout<<"|          Г”Г*ìèëèÿ          |      ГЌГ®Г¬ГҐГ° òåëåôîГ*Г*        |"<<endl;
      cout<<"----------------------------------------------------------"<<endl;
     
/*for(j=0;j<n;j++)
      cout<<"|"<<setw(26)<<tr[h[j]].family<<" | "<<setw(16)<<"8"<<tr[h[j]].telephone<<" | "<<endl;*/
     
      
      cout<<"----------------------------------------------------------"<<endl;
      cout<<"ГЌГ*æìèòå ëþáóþ ГЄГ«Г*ГўГЁГёГі äëÿ ïðîäîëæåГ*ГЁГї";
      getch();
      system("cls");
      break;}
 
case 2:
     {
     cout<<"Ââåäèòå Г*îìåð ìåñÿöГ*"<<endl;
     cin>>nom;
     while (nom>12)
      {cout<<"îøèáêГ*, ïîïðîáóéòå Г±Г*îâГ*"<<endl;
      cin>>nom;}
      cout<<endl;
      cout<<"--------------------------------------------------------"<<endl;
     cout<<"|        Г”Г*ìèëèÿ        |         Г„Г*ГІГ* ðîæäåГ*ГЁГї        |"<<endl;
     cout<<"--------------------------------------------------------"<<endl;
     
     for(i=0;i<n;i++)
     {if(tr[i].month==nom)
     if (tr[i].day<min) min=tr[i].day;}
     
     for(i=0;i<n;i++)
     {if((tr[i].day==min) && (tr[i].month==nom))
     cout<<"|*"<<setw(22)<<tr[i].family<<"|"<<setw(22)<<tr[i].day<<"."<<tr[i].month<<"."<<tr[i].year<<"*|"<<endl;
     else if((tr[i].day!=min) && (tr[i].month==nom))
     cout<<"|"<<setw(23)<<tr[i].family<<"|"<<setw(23)<<tr[i].day<<"."<<tr[i].month<<"."<<tr[i].year<<"|"<<endl;}
     
     cout<<"--------------------------------------------------------"<<endl;
     cout<<"ГЌГ*æìèòå ëþáóþ ГЄГ«Г*ГўГЁГёГі äëÿ ïðîäîëæåГ*ГЁГї";
     getch();
     system("cls");
     break;}
 
case 3:
     {system("cls");
     return main();
     break;}
     
case 4:
     {system("cls");     
     delete []tr;
     break;}    
  
default:cout<<"îøèáêГ*"<<endl;}}
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2012, 14:27     Структуры
Посмотрите здесь:

Структуры. Работа с файлами, содержащими структуры C++
C++ Динамические структуры данных. Программа ввода в структуры и вывода информации из неё.
Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла? C++
Структуры. Вызов данных структуры по указателю. с++ C++
Отличаи класса С++ от структуры на С и структуры на С++ C++
C++ Понятие структуры данных. Элементарные структуры данных. Простые структуры данных
Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) C++
C++ Оператор if и структуры. Возвращение структуры из функции
Функция внутри структуры использует указатель, как поле этой структуры C++
Структуры, нумерация полей структуры C++
Вывод структуры, строка как элемент структуры C++
Помещение структуры в вектор, удаление структуры, изменение элементов структуры C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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