Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Xz
1

Структуры

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

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

Собственно,проблема одна. Не получается сделать сортировку фамилий по алфавиту в 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;
}
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2012, 14:27
Ответы с готовыми решениями:

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

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

Функция внутри структуры использует указатель, как поле этой структуры
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp, есть файл...

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

0
25.05.2012, 14:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2012, 14:27
Помогаю со студенческими работами здесь

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

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

Оператор if и структуры. Возвращение структуры из функции
Здравствуйте, имеется такая вот функция. void InputStructEmployee (int StructSize) { ...

Структуры. Работа с файлами, содержащими структуры
2) Дана совокупность сведений, каждое из которых состоит из следующих рекви-зитов: фамилия и...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru