Wskaźniki w strukturach

0

Witam, robię program na zaliczenie. Wszystko działa dobrze, o ile nie dodam wskaźników. Nie mam pojęcia co jest nie tak, prosiłbym o nakierowanie mnie co robię źle.

 #include <iostream>
#include <cstdlib>

using namespace std;
	
struct ksiazka
	{
		char *tytul [50];
		char *autor [30];
		double *cena;
		int *naklad;
	};
	ksiazka egz;

int main()
{
	ksiazka *a1=new ksiazka;

	cout<<"Podaj tytul ksiazki: ";
	cin>>*a1->tytul;
	cout<<"Podaj autora ksiazki: ";
	cin>>*a1->autor;
	cout<<"Podaj cene ksiazki: ";
	cin>>*a1->cena;
	cout<<"Podaj naklad ksiazki: ";
	cin>>*a1->naklad;
	
	cout<<"\nTytul: "<<*a1->tytul<<endl;
	cout<<"Autor: "<<*a1->autor<<endl;
	cout<<"Cena: "<<*a1->cena<<endl;
	cout<<"Naklad: "<<*a1->naklad<<endl;
	return 0;
}
0

Po co chciałbyś trzymać to wszystko jako wskaźniki? :|

0
char *tytul [50];
char *autor [30];

to jest wskaznik na tablice. zamien to na

 char tytul [50];
char autor [30];

albo skorzystaj z std::string
podobnie z

 double *cena;
int *naklad;

nie ma sensu korzystac tu ze wskaznikow.
w mainie:

*a1->tytul; 

zamien na:

a1->tytul;

a i nie zapomnij na samym koncu usunac zaalakowana strukture.

delete a1;

I PRZESTAN KORZYSTAC Z DEVA!

0

Wszystko działa, dziękuję bardzo.
PS. Czemu Dev jest zły?

0

PS. Czemu Dev jest zły?

Bo na 99% korzystasz ze starej wersji mającej od czasu do czasu niezłe odpały, plus która wykorzystuje przestarzały GCC (kompilator).
Pobierz Orwell Dev-C++ lub Code::Blocks lub Visual lub cokolwiek innego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1