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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2010, 01:17   #1
Inna_L
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 13
Вопрос Классы С++

Не могу понять в чем ошибка, уже голова квадратная.
При вводе данных вылетаю...что делать???
Написать класс, описывающий группу студентов. Студент также реализуется с помощью соответствующего класса. Вот код
Код:
#include<iostream>
#include <conio.h>
#include <time.h>
using namespace std;

class Student
{public:
	char*fio;
	int age;
	char*contact;
	
	Student()
	{
		fio=new char[50];
		age=0;
		contact=new char[15];
	}
	
void Init_Student ()
{
	cout<<"Введите Ф.И.О.:\n";
	gets(fio);
	cout<<"Введите возраст:\n";
	cin>>age;
	cin.ignore(1);
	cout<<"Введите номер телефона:\n";
	gets(contact);
}

void Print_Student ()
{
	cout<<"Ф.И.О.:\t"<<fio<<endl;
	cout<<"возраст:\t"<<age<<endl;
	cout<<"телефон:\t"<<contact<<endl;
}
~Student()
	{
		delete[]fio;
		delete[]contact;
	}
};
class Group: public Student
{
public:
 int Count;
 char* Name;
 char* Specializ;

 Group()
	{
		Count=0;
		Name=new char[25];
		Specializ=new char[25];
	}
 
  void Init_Group ()
{
	cout<<"Введите имя группы:\n";
	gets(Name);
	cout<<"Введите специальность:\n";
	gets(Specializ);
}

void Print_Group ()
{
	cout<<"имя группы::\t"<<Name<<endl;
	cout<<"специальность:\t"<<Specializ<<endl;
}
~Group()
	{
		delete[]Name;
		delete[]Specializ;
	}
};


void main()
{
	setlocale(LC_CTYPE, "Rus");
	Group *gr=new Group;
	int n=0;
	
   do
   {
	cout<<"1-добавить студента\n 2-показать\n 0-выход\n";
	cin>>n;
	cin.ignore(1);
	switch(n)
	{
	case 1:
	cout<<"Введите количество студентов в группе:\n";
	       cin>>gr->Count;
	       cin.ignore(1);

			for(int i=0;i<(gr->Count);i++)
				{
				 r[i].Init_Student();
				gr[i].Init_Group ();
				}
			
			break;

	case 2:
		for(int i=0;i<(gr->Count);i++)
		{
		cout<<"Студент N"<<i+1<<"\n";
		gr[i].Print_Group();
	             gr[i].Print_Student();
		}
		break;
	}
	}
	while(n!=0);
}
Inna_L вне форума Ответить с цитированием
Старый 05.11.2010, 01:28   #2
6AZblJlb
Пользователь
 
Аватар для 6AZblJlb
 
Регистрация: 04.12.2008
Сообщений: 46
По умолчанию

во первых что такое r[i] этот массив не объявлен



если там массив gr то у меня все прекрасно работает


компилил в Builder c++6
Будь проще, и у тебя будет меньше делителей.

Последний раз редактировалось 6AZblJlb; 05.11.2010 в 01:30.
6AZblJlb вне форума Ответить с цитированием
Старый 05.11.2010, 09:06   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
class Group: public Student
Что такой группа студентов? Разве это не набор (масив) студентов?
p51x вне форума Ответить с цитированием
Старый 05.11.2010, 10:39   #4
Inna_L
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от 6AZblJlb Посмотреть сообщение
во первых что такое r[i] этот массив не объявлен
если там массив gr то у меня все прекрасно работает
компилил в Builder c++6
да, там gr, компилируется, но когда ввожу данные 2-го студента - вылетаю...........

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
class Group: public Student
Что такой группа студентов? Разве это не набор (масив) студентов?
ну, да массив студентов, а что не так? я только учусь.

Последний раз редактировалось Stilet; 05.11.2010 в 13:35.
Inna_L вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы (C#) Andrey_k Помощь студентам 0 23.09.2009 20:56
классы Dimarik Общие вопросы C/C++ 1 18.09.2009 20:32