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

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

Войти
Регистрация
Восстановить пароль
 
Xab3r
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 34
#1

Составить программу, содержащую сведения о пациентах глазной клиники - C++

16.06.2012, 10:51. Просмотров 1013. Ответов 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
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <dos.h>
void menu();
void sozd();
void prosm();
void dobav();
void zapros1();
//void zapros2();
//void zapros3();
 
struct pacient
{
char fioPacienta[40],fioVracha[40],adres[40],diagnoz[40],pol[10];
int vozrast;
} s;
void main()
{
menu();
getch();
}
void menu()
{
clrscr();
int v;
for(;;)
{
clrscr();
printf("\n[1 - Sozdanie faila]");
printf("\n[2 - Prosmotr zapisi]");
printf("\n[3 - Dobavlenie zapisi]");
printf("\n[4 - Zapros 1][Pacienti starshe 20 let]");
printf("\n[5 - Zapros 2][Kol-vo inogorodnih pacientov]");
printf("\n[6 - Zapros 3][Pacient + ukazanniy vrach]");
printf("\n[7 - Exit]");
printf("\nViberite nomer menu:");
scanf("%d",&v);
switch(v)
{
case 1:sozd(); break;
case 2:prosm(); break;
case 3:dobav(); break;
case 4:zapros1(); break;
//case 5:zapros2(); break;
//case 6:zapros3(); break;
case 7:exit(1);
}
}
}
void sozd()
{
clrscr();
FILE *f;
f=fopen("spisok","w");
int prw=1;
while (prw==1)
{
printf("\nVvedite fio pacienta:");
scanf("%s",&s.fioPacienta);
printf("\nVvedite fio vracha:");
scanf("%s",&s.fioVracha);
printf("\nVvedite pol pacienta:");
scanf("%s",&s.pol);
printf("\nVvedite vozrast pacienta:");
scanf("%d",&s.vozrast);
printf("\nVvedite diagnoz pacienta:");
scanf("%s",&s.diagnoz);
printf("\nVvedite adres pacienta:");
scanf("%d",&s.adres);
fwrite(&s,sizeof(s),1,f);
printf("\nProdolzhaem? 1-DA, 0-NET\n");
scanf("%d",&prw);
}
fclose(f);
getch();
menu();
}
void prosm()
{
clrscr();
FILE *f;
f=fopen("spisok","r");
int i;
printf("\n\t\t\tProsmotr Zapisey\n");
printf("\n[FioPacienta] | [FioVracha] | [Pol] | [Diagnoz] | [Vozrast] | [Adres]");
//printf("\n              |             |       |           |           |        ");
//printf("\n              |             |       |           |           |        ");
//printf("\n              |             |       |           |           |        ");
//printf("\n              |             |       |           |           |        ");
//printf("\n              |             |       |           |           |        ");
i=7;
f=fopen("spisok","r");
while(fread(&s,sizeof(s),1,f)==1)
{
printf("\n              |             |       |           |           |        ");
gotoxy(1,i) ;printf("%s",s.fioPacienta);
gotoxy(17,i);printf("%s",s.fioVracha);
gotoxy(31,i);printf("%s",s.pol);
gotoxy(39,i);printf("%s",s.diagnoz);
gotoxy(51,i);printf("%d",s.vozrast);
gotoxy(63,i);printf("%s",s.adres);
i++;
}
printf("\n              |             |       |           |           |        ");
fclose(f);
printf("\n\n\tAny press key\n");
getch();
menu();
}
void dobav()
{
clrscr();
FILE *f;
f=fopen("spisok","a");
int prw=1,k=0;
while (prw==1)
{
printf("\nVvedite fio pacienta:");
scanf("%s",&s.fioPacienta);
printf("\nVvedite fio vracha:");
scanf("%s",&s.fioVracha);
printf("\nVvedite pol pacienta:");
scanf("%s",&s.pol);
printf("\nVvedite vozrast pacienta:");
scanf("%d",&s.vozrast);
printf("n\Vvedite diagnoz pacienta:");
scanf("%s",&s.diagnoz);
printf("\nVvedite adres pacienta:");
scanf("%d",&s.adres);
fwrite(&s,sizeof(s),1,f);
printf("\nProdolzhaem? 1-DA, 0-NET\n");
scanf("%d",&prw);
k++;
}
printf("dobavleno zapisey: %d",k);
fclose(f);
getch();
menu();
}
void zapros1()
{
clrscr();
FILE *f;
f=fopen("spisok","r");
printf("\nPacienti starshe 20 let:\n\n");
int i;
printf("\n  ");
printf("\n  ");
printf("\n  ");
i=8;
f=fopen("spisok","r");
while(fread(&s,sizeof(s),1,f)==1)
if(s.vozrast>20)
{
printf("\n  ");
gotoxy(2,i) ;printf("%s",s.fioPacienta);
gotoxy(19,i);printf("%s",s.fioVracha);
gotoxy(39,i);printf("%s",s.pol);
gotoxy(48,i);printf("%s",s.diagnoz);
gotoxy(56,i);printf("%d",s.vozrast);
gotoxy(68,i);printf("%d%s",s.adres);
i++;
}
printf("\n ");
fclose(f);
printf("\n\n\tPress any key\n");
getch();
menu();
}
Когда ввожу в строку адрес что-либо, то там появляются какие то рожицы, как сделать чтобы было нормально?(1.jpg)
И еще когда добавляю новую запись, все пункты прохожу, менюшка с продолжением создания или прекращения тупо пропускается и перескакивает сразу на фиоврача, вместо пациента ,как исправить? (2.jpg)
Миниатюры
Составить программу, содержащую сведения о пациентах глазной клиники   Составить программу, содержащую сведения о пациентах глазной клиники  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2012, 10:51     Составить программу, содержащую сведения о пациентах глазной клиники
Посмотрите здесь:
C++ Создать файл, содержащий сведения о пациентах глазной клиники
Задача с исп. структур: массив со сведениями о пациентах клиники. C++
Организовать файл записей, содержащий сведения о пациентах больницы C++
Составить программу, помогающую узнать сведения о магазинах C++
Составить программу, содержащую функцию, которая рассчитывает площадь и периметр прямоугольного треугольника C++
C++ Составить программу, содержащую функцию, которая рассчитывает площадь и периметр правильного шестиугольника
C++ Создать структуру, содержащую сведения об абитуриентах
Сведения о тиражах книг представлены в виде таблицы. Составить программу, определяющую книгу, кото C++
Спроектировать базу данных, содержащую сведения о машинах C++
Создать структуру, содержащую сведения по учету печатающих устройств C++
Разработайте структуру, содержащую сведения о результатах ЕГЭ по предмету: (доделать) C++
Создать структуру, содержащую сведения по учету растений и выполнить указанные действия с ней C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xab3r
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 34
16.06.2012, 14:27  [ТС]     Составить программу, содержащую сведения о пациентах глазной клиники #2
Разобрался со своими ошибками. Как сделать, чтобы таблица не сбивалась, когда добавляешь запись более одного слова? Как на втором скриншоте
Yandex
Объявления
16.06.2012, 14:27     Составить программу, содержащую сведения о пациентах глазной клиники
Ответ Создать тему
Опции темы

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