Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2010, 22:06   #1
Andru}{a
Новичок
Джуниор
 
Регистрация: 25.02.2010
Сообщений: 5
Смущение Ввод данных в файл, выборка по критериям

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

Задание: «Пациент».
Пункты: ФИО, Год рождения, Номер телефона, Домашний Адрес, Номер Медкарты, Группа Крови, Диагноз
А. Получить список пациентов имеющих одну и ту же группу крови.
Б. Получить список пациентов, родившихся в период с 1940 по 1970г. с одинаковым диагнозом, фамилли которых начинаются на «С».


Вот решил сам маленько...проверьте пожалуйста, правильно ли??И прошу помощи в реализации выборки данных по критериям...никак не получается...а завтра уже сдавать...очень прошу о помощи....

Код:
#include "stdio.h"
#include "stdlib.h"
#include "iostream.h"
#include "iomanip.h"
 
typedef struct
{ 
char FIO [30];
int nomer_telefona;
char adres [30];
int nomer_medkarti;
int gruppa_krovi;
int diagnoz;
} Pacient;
 
int main()
{Pacient *st;
FILE *pf;
int var,i,count_1;
long int n;
var=-1;
while(var!=0)
{
                cout<<"0-exit;\n1-write;\n"
                        <<"2-dobavlenie;\n"
                        <<"3-xarakteristiki:\nvar=";
                cin>>var;
                switch(var)
                {
                case 1:
                                cout<<"n=";cin>>n;
                                st=(pacient*)malloc(n*sizeof(school));
                for(i=0;i<=n-1;i++)
                {
                                cout<<"FIO=";cin>>((st+i)->FIO);
                                cout<<"nomer_telefona="cin>>((st=i)->nomer_telefona);
                                cout<<"adres="cin>>(st=i)->adres);
                                cout<<"nomer_medkarti="cin>>(st=i)->nomer_medkarti);
                                cout<<"gruppa_krovi="cin>>(st=i)->gruppa_krovi);
                                cout<<"diaznoz="cin>>(st=i)->diagnoz);
                }
                if((pf=open("my_f.dat","w"))==NULL)
                {               
                                printf("fail no open\n");break;
                }
                fwrite(st,sizeof(pacient),n,pf);
                fclose(pf)
                free(st)
                break;
                case 2:
                                cout<<"n=";cin>>n;
                                st=(pacient*)malloc(n*sizeof(school));
                for(i=0;i<=n-1;i++)
                {
                                cout<<"FIO=";cin>>((st+i)->FIO);
                                cout<<"nomer_telefona="cin>>((st=i)->nomer_telefona);
                                cout<<"adres="cin>>(st=i)->adres);
                                cout<<"nomer_medkarti="cin>>(st=i)->nomer_medkarti);
                                cout<<"gruppa_krovi="cin>>(st=i)->gruppa_krovi);
                                cout<<"diaznoz="cin>>(st=i)->diagnoz);
                }
                if((pf=open("my_f.dat","w"))==NULL)
                {
                                printf("fail no open\n");break;
                }
                fwrite(st,sizeof(pacient),n,pf);
                fclose(pf);
                free(st)
                break;
                case 3:

Последний раз редактировалось Andru}{a; 25.02.2010 в 23:50.
Andru}{a вне форума Ответить с цитированием
Старый 25.02.2010, 23:26   #2
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
typedef struct
{
char FIO [30]
int nomer_telefona
char adres [30]
int nomer_medkarti
int gruppa_krovi
int diagnoz
} Pacient;
А разве так можно структуры описывать?
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 25.02.2010, 23:29   #3
Andru}{a
Новичок
Джуниор
 
Регистрация: 25.02.2010
Сообщений: 5
По умолчанию

ROD
А как правильное будет???
Вот так?
Код:
struct pacient
{
char FIO [30]
int nomer_telefona
char adres [30]
int nomer_medkarti
int gruppa_krovi
int diagnoz
};
Andru}{a вне форума Ответить с цитированием
Старый 25.02.2010, 23:36   #4
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

насчет "правильнее" сказать не могу, ибо не знаю, можно-ли сделать, как в изначальном варианте, а так второй вариант правильный, только точкозапятые забыли

Код:
struct pacient
{
char FIO [30];
int nomer_telefona;
char adres [30];
int nomer_medkarti;
int gruppa_krovi;
int diagnoz;
};
Цитата:
а что тебя смущает?
Мое незнание - никогда не встречал такую форму записи.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 25.02.2010 в 23:42.
ROD вне форума Ответить с цитированием
Старый 25.02.2010, 23:37   #5
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2
Цитата:
А разве так можно структуры описывать?
а что тебя смущает?

2Andru}{a
без разницы.
вообще создание псевдонимов для структур пошло из сей, где при создании объекта структуры требовалось писать struct myStructTag s; в плюсах не обязательно, но и не является ошибкой, естественно...
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 25.02.2010, 23:37   #6
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

вот так
Код:
typedef struct
{
char FIO [30];
int nomer_telefona;
char adres [30];
int nomer_medkarti;
int gruppa_krovi;
int diagnoz;
} Pacient;
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 25.02.2010, 23:37   #7
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2
Цитата:
А разве так можно структуры описывать?
а что тебя смущает? кроме недостающих точек с запятыми...

2Andru}{a
без разницы.
вообще создание псевдонимов для структур пошло из сей, где при создании объекта структуры требовалось писать struct myStructTag s; в плюсах не обязательно, но и не является ошибкой, естественно...

пс. код как обычно не смотрел
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 25.02.2010, 23:37   #8
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

вот так
Код:
typedef struct
{
char FIO [30];
int nomer_telefona;
char adres [30];
int nomer_medkarti;
int gruppa_krovi;
int diagnoz;
} Pacient;
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 25.02.2010, 23:45   #9
Andru}{a
Новичок
Джуниор
 
Регистрация: 25.02.2010
Сообщений: 5
По умолчанию

Ок...поправил...
Я немного не могу понять вот этой части кода:
Код:
int main()
{Pacient *st;
FILE *pf;
int var,i,count_1;
long int n
var=-1
while(var!=0)
{
                cout<<"0-exit;\n1-write;\n"
                        <<"2-dobavlenie;\n"
                        <<"3-xarakteristiki:\nvar=";
                cin>>var;
                switch(var)
Можете маленечко разъяснить??
Andru}{a вне форума Ответить с цитированием
Старый 25.02.2010, 23:48   #10
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Цитата:
Сообщение от Andru}{a Посмотреть сообщение
Ок...поправил...
Я немного не могу понять вот этой части кода:
Код:
int main()
{Pacient *st;
FILE *pf;
int var,i,count_1;
long int n
var=-1
while(var!=0)
{
                cout<<"0-exit;\n1-write;\n"
                        <<"2-dobavlenie;\n"
                        <<"3-xarakteristiki:\nvar=";
                cin>>var;
                switch(var)
Можете маленечко разъяснить??
А может проще взять учебник по С++ и прочитать? А то исходя из того что тут написано складывается мнение, что ты не знаешь азов синтаксиса.
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа. Типизированый файл. Ввод данных. ArtS Помощь студентам 0 07.12.2009 17:02
Выборка по двум критериям массива в Excel Ultramax Microsoft Office Excel 1 26.11.2009 17:41
Выборка данных ADRENALIN86 Microsoft Office Excel 1 13.08.2009 15:51
суммирование данных по двум критериям misht Microsoft Office Excel 10 31.03.2009 12:58
ввод данных и параллельное их сохранение в файл в С Grind Помощь студентам 1 23.04.2008 22:36