Mam za zadanie stworzyć program zawierający funkcje: WCZYTAJ_dane,
WYPISZ_dane, umożliwiający:
- Stworzenie tablicy struktur w której będą przechowywane dane
książek zgromadzonych w bibliotece: imię autora, nazwisko autora,
tytuł, rok wydania, nr wydania
- Wpisanie danych do tablicy
- Wyświetlenie danych
A następnie przerobić program na klasy. Pierwszą część zadania zrobiłam, lecz przy drugiej, wyskakują mi 3 błędy:
1) Przy wersie 68: expected type-specifier before 'ksiazka' "
2)Przy obu funkcjach: " 'wpisz'/'drukuj' was not declared in this scope"
Oto oba kody:
Struktury:
Kod: Zaznacz cały
#include <iostream>
using namespace std;
struct ksiazka
{char imie_autora[15];
char nazwisko_autora[50];
char tytul[30];
int rok_wydania;
int nr_wydania;
};
void wpisz(ksiazka * ksiegozbior, int n)
{ cout<<endl;
cout<<endl;
cout << "---WPISYWANIE DANYCH KSIAZKI---"<< endl;
for (int i = 0; i < n; i++){
cout<<endl<<endl<<" Podaj dane ksiazki nr: "<<i+1<<" : "<<endl;
cout<<"_______________________________________"<< endl<<endl;
cout<<endl<< " Imie autora: ";
cin >> ksiegozbior[i].imie_autora;
cout<<endl;
cout<< " Nazwisko autora: ";
cin >> ksiegozbior[i].nazwisko_autora;
cout<<endl;
cout<<"Tytul ksiazki: ";
cin>>ksiegozbior[i].tytul;
cout<<endl;
cout << " Rok wydania: ";
cin >> ksiegozbior[i].rok_wydania;
cout << " Nr wydania: ";
cin >> ksiegozbior[i].nr_wydania;
}
}
void drukuj(ksiazka * ksiegozbior, int nr) {
int l,k;
int x;
cout<<endl;
cout << "---DRUKOWANIE DANYCH KSIAZKI---"<< endl;
cout << "__________________________________________________________________________ " << endl;
cout << " Podaj nr ksiazki: ";
cin >> nr;
cout<<endl <<endl;
cout << " Imie autora: " << ksiegozbior[nr-1].imie_autora << endl;
cout << " Nazwisko autora: " <<ksiegozbior[nr-1].nazwisko_autora<< endl;
cout << " Tytul ksiaki: " << ksiegozbior[nr-1].tytul << endl;
cout << " Rok wydania: " << (ksiegozbior[nr-1].rok_wydania) << endl;
cout << " Nr wydania: " << ksiegozbior[nr-1].nr_wydania << endl;
cout<<endl<<endl;
//}
}
int main()
{
int a;
int b;
cout<<" ---WITAJ!--- "<<endl;
cout << " Ilu ksiazek chcesz wpisac ? "<<endl;
cin >> a;
ksiazka * ksiegozbior = new ksiazka[a];
wpisz(ksiegozbior,a);
drukuj(ksiegozbior,b);
return 0;
}
Kod: Zaznacz cały
#include <iostream>
using namespace std;
class Ksiazka
{
char imie_autora[15];
char nazwisko_autora[50];
char tytul[30];
int rok_wydania;
int nr_wydania;
public:
void wpisz(Ksiazka * ksiegozbior, int n)
{ int i;
cout<<endl;
cout<<endl;
cout << "---WPISYWANIE DANYCH KSIAZKI---"<< endl;
cout<<endl<<endl<<" Podaj dane ksiazki nr: "<<i+1<<" : "<<endl;
cout<<"_______________________________________"<< endl<<endl;
cout<<endl<< " Imie autora: ";
cin >> imie_autora;
cout<<endl;
cout<< " Nazwisko autora: ";
cin >> nazwisko_autora;
cout<<endl;
cout<<"Tytul ksiazki: ";
cin>> tytul;
cout<<endl;
cout << " Rok wydania: ";
cin >> rok_wydania;
cout << " Nr wydania: ";
cin >> nr_wydania;
}
void drukuj(Ksiazka * ksiegozbior, int nr) {
cout<<endl;
cout << "---DRUKOWANIE DANYCH KSIAZKI---"<< endl;
cout << "__________________________________________________________________________ " << endl;
cout << " Podaj nr ksiazki: ";
cin >> nr;
cout<<endl <<endl;
cout << " Imie autora: " << imie_autora << endl;
cout << " Nazwisko autora: " <<nazwisko_autora<< endl;
cout << " Tytul ksiaki: " << tytul << endl;
cout << " Rok wydania: " << rok_wydania << endl;
cout << " Nr wydania: " << nr_wydania << endl;
cout<<endl<<endl;
//}
}
};
int main()
{
int a;
int b = 0;
cout<<" ---WITAJ!--- "<<endl;
cout << " Ilu ksiazek chcesz wpisac ? "<<endl;
cin >> a;
Ksiazka * ksiegozbior = new Ksiazka[a];
for(int i = 0; i < a; ++i)
ksiegozbior[i] -> wpisz();
ksiegozbior[b] -> drukuj();
return 0;
}
Pozdrawiam