|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.05.2009, 18:14 | #1 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 12
|
Паскаль. СРОЧНО
Ребята,помогите пожалуйста. Я девушка-будуший врач, пишу программу на дурацком Free паскале, для дурацкого зачета по программированию.
Задача такая. Виртуальная регистратура. Есть глав врач, просто врач и пациент. Глав врачу присваевается номер 0. Просто врачам от 1 до 20. Пациенты от 21 до 100. Система такая, Пачиент заходит программу, вводит "2"(ну тип он пациент,а не врач), потом регистрируется(логин-пароль)вводит все данные о себе, потом он может выбрать себе врача, и посмотреть его график работы, и если пациенту надо - записаться на прием. Если входит просто врач, он вводит "1", потом тоже регистрируется-блаблабла, и он может помотреть свой график, и на какое время у него есть пациенты, а так же может посмотреть данные о своем пациенте. Если входит Главврач, то он типа Бог, может все, т.е. вводит "0", потом регится,а потом может посмотреть данные о любом пациенте и о любом враче, а так же графиг работы своих врачей. -------------------------------------------------------------------------- |
04.05.2009, 18:14 | #2 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 12
|
Я вот как бы написала уже часть, и даже скомпилировалось все:
program REGISTRATURA; uses crt; Type Date = record day: byte; month: byte; year: word; End; Person=record code: integer; speciality: String; login: String; password: String; lastname: String; irstname: String; patronymic: String; bdate: Date; address: String; End; Recept_Table= array [1..20,1..31,9..17] of integer; var r,gerson; number, nomber_doktor, nomber_pacient: integer; t: Recept_Table; pers: array [1..100] of person; numberp: integer; procedure Registration (var person); var k:integer; begin writeln ('Введите:'); writeln ('если вы главный врач - 0'); writeln ('если вы врач - 1'); writeln ('если вы пациент - 2'); readln(k); if k=0 then p.code:=0; if k=1 then begin inc (nomber_doktor); p.code:=nomber_doktor; end; if k=2 then begin inc (nomber_pacient); p.code:=nomber_pacient+20; end; writeln ('Введите логин'); readln (p.login); writeln ('Введите пароль'); readln (p.password); writeln ('Введите Имя'); readln (p.firstname); writeln ('Введите Отчество'); readln (p.patronymic); writeln ('Введите Фамилию'); readln (p.lastname); writeln ('Введите Дату рождения'); writeln ('день'); readln (p.bdate.day); writeln ('месяц'); readln (p.bdate.month); writeln ('год'); readln (p.bdate.year); writeln ('Введите Место жительства'); readln (p.address); writeln ('Регистрация Завершина!'); end; procedure PrintPersson (p: person); begin if (p.code=0) then writeln ('ГлавВрач'); writeln ('Имя - ',p.firstname); writeln ('Отчество',p.patronymic); writeln ('Фамилия',p.lastname); writeln ('Датa рождения',p.bdate.day,p.bdate.month ,p.bdate.year); end; Procedure Get_Table (); var ft: file of Recept_Table; begin assign (ft, 'table.dat'); reset (ft); read (ft,t); close (ft); end; Procedure Put_Table (); var ft: file of Recept_Table; begin assign (ft, 'table.dat'); rewrite (ft); write (ft,t); close (ft); end; Procedure Get_Person (); var fp: file of person; i: integer; begin assign (fp, 'person.dat'); reset (fp); i:=1; While not EOF (fp) do begin read (fp, pers[i]); i:=i+1; end; numberp:=i-1; close (fp); end; Procedure Put_Person (); var fp: file of person; i: integer; begin assign (fp, 'person.dat'); rewrite (fp); For i:=1 to numberp do begin write (fp, pers[i]); end; close (fp); end; Procedure Service_P (i: integer); begin end; Procedure Service_MD (i: integer); begin end; Procedure Service_D (i: integer); begin end; Procedure Init (); var i,j,k: integer; begin for i:=1 to 20 do for j:=1 to 31 do for k:=9 to 17 do t[i][j][k]:=-1; Put_Table(); number:=1; registration (pers[1]); Put_Person () end; Procedure Login(); var str: string; l:string; p:string; i:integer; begin writeln ('Введите логин'); readln (l); writeln ('Введите пароль'); readln (p); for i:=1 to numberp do begin if (l=pers[i].login) and (p=pers[i].password) then begin if pers[i].code =0 then Service_MD(pers[i].code) ; if (0 < pers[i].code) and (pers[i].code<=20) then Service_D(pers[i].code); if pers[i].code>20 then Service_P(pers[i].code) ; end; end; end; BEGIN nomber_doktor:=0; nomber_pacient:=0; Registration (r); PrintPersson (g); readln; END. =================================== ==================== вот. вся эта фигня рабатает. Надо ее причесать и доватьв нее какую нить простенькую фишку, а-ля модификацию и все.... P/S- Молодые люди,если кто может помочь, пишите плиз в аську 363175720. буду оч благадарна. интим не предлагать=) |
04.05.2009, 18:59 | #3 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 12
|
*help**help**help* *help**help**help*
=(( |
04.05.2009, 19:04 | #4 |
Участник клуба
Регистрация: 16.03.2009
Сообщений: 1,013
|
вообще неплохо бы исходники помещать в тег CODE (решетка такая..) И вопрос формулировать точнее... честно не хочется сидеть за этим кодом.. если есть конкретные вопросы - спросите..
Uguu~
|
04.05.2009, 20:34 | #5 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 12
|
__STDC__, Вапще да,есть конкретные вопросы. Я так понимаю, что тут надо еще добавить процедуру которая будет при входе проходить. ну то есть типа "введите 1 для регистрации, 2 для входа в программу, 3 - чтобы покинуть программу" Я вот не знаю как это прописать, там как то ведь надо при первоп прогоне прописывать Init, а потом заменять это на Get_Person и Get_Table ... ни оч пинимаю как это должно быть, но так обьясняла препод..
|
04.05.2009, 20:38 | #6 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 12
|
ну и как бы дальше надо прописать,если выбрали "1" (регистрация), то надо процедуру регистрации запустить. Но, тут опять же я в ступоре, не знаю как делать, ибо если это регится врач, то надо учесть что врачей от 1 до 20, если регится пациент, то от 21 до 100, и чтоп присвоить каждому зарегистрированому пользователю очередной номер
|
04.05.2009, 20:39 | #7 | ||
Участник клуба
Регистрация: 16.03.2009
Сообщений: 1,013
|
Цитата:
Цитата:
Uguu~
|
||
04.05.2009, 20:55 | #8 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 12
|
ну они может и подходят, у меня просто проблемы с тем как это использовать))
да,верняк=)меню) |
04.05.2009, 20:57 | #9 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 12
|
пропишите ктонить это все мне=((пожалуста...
|
04.05.2009, 20:59 | #10 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 12
|
я как бэ ваще не прогер...я не шарю совсем=\
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Циклы. Паскаль. Срочно. | Кирилл17 | Помощь студентам | 1 | 05.12.2008 22:21 |
Паскаль рекурсии СРОЧНО | Solana | Помощь студентам | 3 | 14.12.2007 17:49 |