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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2012, 22:49   #1
vovik4385
Пользователь
 
Регистрация: 13.03.2012
Сообщений: 36
По умолчанию классы дружественые

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


вот сам код:




Во-первых выдается ошибка при вводе фамилии:"нарушение права доступа записи". во вторых помогите с более рациональным способом ввода-вывода информации о пациенте?????

заранее спасибо!!!
vovik4385 вне форума Ответить с цитированием
Старый 11.04.2012, 22:49   #2
vovik4385
Пользователь
 
Регистрация: 13.03.2012
Сообщений: 36
По умолчанию

Код:
#include "stdafx.h"
#include<iostream>
using namespace std;
class homeaddres{
		friend class patient;
		int index;
		char *country;
		char *city;
		char* street;
		int house;
		int kvartira;
	public:
		void sethome(){
		cout<<"input index\n";
		cin>>index;
		cout<<"input country\n";
		cin>>country;
		cout<<"input city\n";
		cin>>city;
		cout<<"input name of street\n";
		cin>>street;
		cout<<"input number of house\n";
		cin>>house;
		cout<<"input number of kvartira\n";
		cin>>kvartira;
		}
		int getindex(){return index;}
		char* getcountry(){return country;}
		char* getcity(){return city;}
		char* getstreet(){return street;}
		int gethouse(){return house;}
		int getkvartira(){return kvartira;}

	};
class patient{
	//friend class homeaddres;
	char * family;
	char *name;
	int god;
	int telefon;
	homeaddres record;
	int medcard;
	int groupblood;
public:
	patient(){}
	
	void setdata(){
		cout<<"input family\n";
		cin>>family;
		cout<<"input name\n";
		cin>>name;
		cout<<"input year of birthday\n";
		cin>>god;
		cout<<"input number of telefon\n";
		cin>>telefon;
		cout<<"input home address\n";
		record.sethome();
		
	    cout<<"input number of medicament card \n";
		cin>>medcard;
		cout<<"input group of blood\n";
		cin>>groupblood;
	}
	int getindex(){return record.index;}
	char* getfamily(){return family;}
	char* getname(){return name;}
	int getgod(){return god;}
	int gettelefon(){return telefon;}
	int getmedcard(){return medcard;}
	int getgroup(){return groupblood;}
	
	char* getcountry(){return record.country;}
	char* getcity(){return record.city;}
	char* getstreet(){return record.street;}
	int gethouse(){return record.house;}
	int getkvartira(){return record.kvartira;}
	
};
	
	void printmenu(){
		cout<<"Hello, my friend\n";
		cout<<"1.input data about patient\n";
		cout<<"2.print data about patients\n";
		cout<<"3.searching data about patients of city\n";
		cout<<"4.searching data about patient of medicament cards\n";
		cout<<"5.kol-vo patientov in city\n";
		cout<<"6.exit\n";}
int _tmain(int argc, _TCHAR* argv[])
{int counter=0;
int z=0;

int choice=0;
int smedcard;
patient *rec=new patient[20];
char *city1=new char[30];
while(true){
	printmenu();
	cout<<"choice:\n";
	cin>>choice;
	switch(choice)
	{
	case 1:
		rec[counter].setdata();
		counter++;
		break;
	case 2:
		for(int i=0;i<counter;i++){
			cout<<"dannie "<<i+1<<"patients\n";
			cout<<"family: "<<rec[i].getfamily()<<"\n"; 
			cout<<"name: "<<rec[i].getname()<<"\n";
			cout<<"year of birthday: "<<rec[i].getgod()<<"\n";
			cout<<"number of telefon: "<<rec[i].gettelefon()<<"\n";
			cout<<"home address:\n "<<"index: "<<rec[i].getindex()<<"\n";
			cout<<"country: "<<rec[i].getcountry()<<"\n";
			cout<<"city: "<<rec[i].getcity()<<"\n";
			cout<<"street: "<<rec[i].getstreet()<<"\n";
			cout<<"house: "<<rec[i].gethouse()<<"\n";
			cout<<"kvartira: "<<rec[i].getkvartira()<<"\n";}
		break;
	case 3:
		cout<<"vvedite city for searching:\n";
		cin>>city1;
		for(int i=0;i<counter;i++){
			if((strcmp(rec[i].getcity(),city1))==0){
			cout<<"family: "<<rec[i].getfamily()<<"\n"; 
			cout<<"name: "<<rec[i].getname()<<"\n";
			cout<<"year of birthday: "<<rec[i].getgod()<<"\n";
			cout<<"number of telefon: "<<rec[i].gettelefon()<<"\n";
			cout<<"home address:\n "<<"index: "<<rec[i].getindex()<<"\n";
			cout<<"country: "<<rec[i].getcountry()<<"\n";
			cout<<"city: "<<rec[i].getcity()<<"\n";
			cout<<"street: "<<rec[i].getstreet()<<"\n";
			cout<<"house: "<<rec[i].gethouse()<<"\n";
			cout<<"kvartira: "<<rec[i].getkvartira()<<"\n";}}
		break;
	case 4:
		cout<<"vvedite number of medicament card for searching:\n";
		cin>>smedcard;
		for(int i=0;i<counter;i++){
			if(rec[i].getmedcard()==smedcard){
			cout<<"family: "<<rec[i].getfamily()<<"\n"; 
			cout<<"name: "<<rec[i].getname()<<"\n";
			cout<<"year of birthday: "<<rec[i].getgod()<<"\n";
			cout<<"number of telefon: "<<rec[i].gettelefon()<<"\n";
			cout<<"home address:\n "<<"index: "<<rec[i].getindex()<<"\n";
			cout<<"country: "<<rec[i].getcountry()<<"\n";
			cout<<"city: "<<rec[i].getcity()<<"\n";
			cout<<"street: "<<rec[i].getstreet()<<"\n";
			cout<<"house: "<<rec[i].gethouse()<<"\n";
			cout<<"kvartira: "<<rec[i].getkvartira()<<"\n";}}
	case 5:
		cout<<"vvedite city for searching numeral of patient:\n";
		cin>>city1;
		
		for(int i=0;i<counter;i++){
			if((strcmp(rec[i].getcity(),city1))==0){
				z++;
			}}
			cout<<"numeral of patient in "<<city1<<": "<<z<<" \n";
			break;
	case 6:
		delete[]rec;
		return 0;
	default:
		break;
		}
	}

	return 0;
}
просто не уместилось в одно сообщение

Последний раз редактировалось pproger; 11.04.2012 в 23:31.
vovik4385 вне форума Ответить с цитированием
Старый 11.04.2012, 22:55   #3
monolit111
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 95
По умолчанию

неужели код так и в редакторе выглядит?Ужос просто...
Хоть бы форматировали его, что ли)
monolit111 вне форума Ответить с цитированием
Старый 11.04.2012, 23:31   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2monolit111
у всех он так выглядит в начале
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 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы в C# Lucky777 Помощь студентам 1 27.04.2011 01:41
Классы ymanety Общие вопросы C/C++ 2 09.11.2010 22:13
СИ++ Классы mikl9 Помощь студентам 2 17.06.2009 21:49