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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2010, 11:31   #1
Purr
Пользователь
 
Аватар для Purr
 
Регистрация: 18.05.2010
Сообщений: 21
Восклицание Компилятор не запускает программу

ООП, дружественная функция, создание объектов.

Задача:Библиотека. О каждой годовой подписке выходящих журналов известно: шифр, название, год издания, сколько раз читатели брали каждый из входящих в подписку журналов. Указатель типа double.

Конструктор по умолчанию :ру;
Функция ввода-член класса:а;
Внешняя функция ввода:рх;
Конструктор копии(оригинал):в(а);

Код:
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include<iomanip.h>

const N=5;

class TLibr

{
int kod;
char *naz;
int god;
int *br;
int m;
double *p;
public:
	TLibr(int kk=0,char *nn="ssss", int gd=0, int *bb=0, int mm, double pp=0);
	TLibr(const TLibr&obj);
	~TLibr ();
	void vvod();
	void vivod();
	friend void f_vvod(TLibr&x);

};

TLibr::TLibr(int kk,char *nn, int gd, int *bb,int mm, double pp)
	{
	naz= new char[m];
	strcpy(naz,nn);
	m=mm;
	kod=kk;
	god=gd;
	p=new double;
	*p=pp;
	for (int i=0;i<m;i++)
	{
	br= new int[m];
	br[i]=*bb;
	}
	}


TLibr::TLibr(const TLibr&obj)
{
	 naz= new char[m];
	 strcpy(naz, obj.naz);
	 kod=obj.kod;
	 m=obj.m;
	 god=obj.god;
	  p=new double;
	 *p=*obj.p;
	 br= new int[m];
	 for (int i=0; i<m; i++)
	 {
	 br[i]=obj.br[i];
	 }
}

TLibr::~TLibr() {delete []naz, delete []br,delete p;}

void TLibr:: vvod ()
	{
	cout<<"Vvedite kod podpiski: "<<endl;
	cin>>kod;
	cout << "Vvedite nazvanie journala: "<< endl;
	gets(naz);
	cout << "Vvedite god vipuska: "<< endl;
	cin>>god;
	cout<<"Vvedite ykazatel: "<<endl;
	cin>>*p;
	cout << "Vvedite kol-vo journalov v podpiske: " << endl;
	cin >> m;
	for (int i=0;i<m;i++)
	{
	cout<< "Vvedite kol-vo vipiski: "<<endl;
	cin>>br[i];
	}
	}
void TLibr:: vivod()
	{
		cout<<"Kod:"<<kod<<endl;
		cout<<"Nazvanie journala: "<<naz<<endl;
		cout<<"God vipyska: "<<god<<endl;
		cout<<"Ykazatel"<<*p<<endl;
		cout<<"Kol-vo journalov"<<endl;
		cin>>m;
		for(int i=0;i<m;i++)
		{
		cout<<"Kol-vo vipisivaniya"<<br[i]<<endl;
		cout<<endl;
		}
		getch();


	}
void f_vvod (TLibr&x)
	{
	cout<<"Vvedite kod podpiski:"<<endl;
	cin>>x.kod;
	cout << "Vvedite nazvanie journala:"<< endl;
	gets(x.naz);
	cout << "Vvedite god vipuska:"<< endl;
	cin>>x.god;
	cout<<"Vvedite ykazatel"<<endl;
	cin>>*x.p;
	cout << "Vvedite kol-vo journalov v podpiske" << endl;
	cin >> x.m;
	  for(int i=0;i<x.m;i++)
	   {
	    cout<< "Vvedite kol-vo vipiski:"<<endl;
	   cin>>x.br[i];
	   cout<<endl;
	   }
	}

void main()
{
clrscr();
TLibr a;
TLibr mas[N];
TLibr *py, *px;
py=new TLibr;
px=new TLibr;
TLibr b=*py;
a.vvod();
f_vvod(*px);
py->vivod();
px->vivod();
a.vivod(); b.vivod();

cout<<"Massiv ob`ektov"<<endl;
	for(int i=0;i<N;i++)
	{
	cout<<"mas["<<i<<"].  ";
	mas[i].vivod();
	cout<<endl;
	}
cout << "Press any key" << endl;



getch();
}
— Марвин, ты спас нам жизнь!
— Кошмар, правда?
(с) The Hitchhiker's Guide to the Galaxy

Последний раз редактировалось Purr; 05.10.2010 в 13:13. Причина: ошибка в коде была
Purr вне форума Ответить с цитированием
Старый 05.10.2010, 11:35   #2
savva
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 225
По умолчанию

а что за getch(); в конце кода?
За помощь: Нажмите на весы слева от сообщения!
savva вне форума Ответить с цитированием
Старый 05.10.2010, 13:07   #3
Purr
Пользователь
 
Аватар для Purr
 
Регистрация: 18.05.2010
Сообщений: 21
По умолчанию

Это задержка экрана, чтоб он сразу не закрывал результаты программы
— Марвин, ты спас нам жизнь!
— Кошмар, правда?
(с) The Hitchhiker's Guide to the Galaxy
Purr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ехе который запускает другой ехе CrOsP Фриланс 12 24.06.2010 18:59
Как сделать "программу-компилятор" kakawkin Общие вопросы Delphi 29 22.09.2009 13:58
Программа не запускает DLL ZahAlex Win Api 4 10.08.2009 20:24
В среде Delphi составить программу (процесс), который паралельно запускает два потока (нити) metamfetamin Помощь студентам 9 06.11.2007 15:26