Usuniecie ksiazki danego autora.

0

Witam.Zadanie polega na tym ,że użytkownik podaje nazwę autora książki i ta jego książka jest usuwana. Próbowałem coś znaleŹć u wujka google,ale same głupoty wyskakują na ten temat .Wskazówki mile widziane ;p

 

#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
struct lista_ksiazek
{
char tytul[30];

char autor[30];
void wczytaj();
void wypisz();		
};
void lista_ksiazek::wczytaj(void)
{
cout<<"podaj autora   :   ";
cin>>autor;
cout<<"tytul   :   ";
cin>>tytul;

	
	
	
}

int RemoveBook(lista_ksiazek*ksiazka,int n)
{
              
       
}



void lista_ksiazek::wypisz(void)
{
cout<<"tytul    :  "<<tytul<<endl
<<"autor   :    "<<autor<<endl;

	
}

int main()
{
int n;
cout<<"ile ksiazek    :  ";
cin>>n;
lista_ksiazek *ksiazka=new lista_ksiazek[n];
for(int i=0;i<n;i++)
ksiazka[i].wczytaj();
RemoveBook(ksiazka,n);
for(int i=0;i<n;i++)
ksiazka[i].wypisz();	
system("PAUSE");
}





0

Najprościej - wymień skasowaną z ostatnią.

0

int i;
cout << "Podaj numer ksiazki ktora chcesz usunac: ";
cin >> i;

   for(i ; i < n; i++)
ksiazka[i] = ksiazka[i+1]; 

Tak nie jest zbyt poprawnie ;/ Nie wiem jak to zrobić by usuwało konkretna książke autora,którego nazwe wpisze na klawiaturze.

0

Oczywiście że nie jest poprawne bo ma być: for(;i<n;++i) ksiazka[i-1]=ksiazka[i];
Z autorem najpierw wyliczasz tą i wyszukując tego autora a druga pętla jak wyżej.

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