Programmino di archiviazione libri

di il
4 risposte

Programmino di archiviazione libri

Buongiorno a tutti,

sono nuovo del sito quindi innanzi tutto saluti tutti, chi mi risponderà e chi no
Ho bisogno di iato su questo programmino stupido, la mia intenzione sarebbe quella di creare un metodo per l'archiviazione dei libri che ho nella libreria a casa, ma essendo un pochino arrugginito sul c++ sto incontrando delle difficoltà. Quello che ho partorito finora è:
# include <iostream>
using namespace std;

class libri
	{
		char titolo[50];
		char autore[50];
		char genere[50];
		int i;
		int j;
		int x;
	public:
		
		void inserisci(int);
		void ricerca_aut(char, int);
		void ricerca_gen(char, int);
		void ricerca_tit(char, int);
	};

void libri::inserisci(int n)

{
	
	for (i;i<n-1 ; i++)
		
	{
		char libro [][][];
		cout<<"inserisci titolo --> ";
		cin>>titolo[50];
		libro[i][j][x] = titolo[50];
			
		for (j ; j<n-1 ; j++)
		{
			cout<<"inserisci autore --> ";
			cin>>autore[50];
			libro[i][j][x]=autore[50];
			
			for (x ; x<n-1 ; x++)
			{
				cout<<"inserisci genere --> ";
				cin>>genere[50];
				libro[i][j][x]=genere[50];
			
			}
		}
	}
}

void libri::ricerca_aut(char a, int n)
{
	char libro [][][];
	int contatore;
	contatore=0;
	contatore++;
	cout<<"inserisci l'autore --> ";
	cin>>a;
	cout<<"ecco i libri dell'autore inserito";
	for (i ; i<n-1 ; i++)
	{
		if (a == libro[i])
			cout<<contatore<<" --> "<<libro[i][j][x]<<endl;
		else
			cout<<"non sono stati inseriti libri dell'autore inserito"<<endl;
	}
}

void libri::ricerca_gen(char g, int n)
{
	char libro [][][];
	int contatore1;
	contatore1++;
	cout<<"inserisci genere --> ";
	cin>>g;
	cout<<"ecco i libri del genere inserito";
	for (j ; j<n-1 ; j++)
	{
		if (g == libro[j])
			cout<<contatore1<<" --> "<<libro[i][j][x]<<endl;
		else
			cout<<"non sono stati inseriti libri del genere inserito"<<endl;
	}
}

void libri::ricerca_tit(char t, int n)
{
	char libro [][][];
	int contatore2;
	contatore2++;
	cout<<"inserisci titolo --> ";
	cin>>t;
	cout<<"ecco i libri del titolo inserito";
	for (x ; x<n-1 ; x++)
	{
		if (x == libro[x])
			cout<<contatore2<<" --> "<<libro[i][j][x]<<endl;
		else
			cout<<"non sono stati inseriti libri del titolo inserito"<<endl;
	}
}


int main()
{
	char l;
	libri=new libro;
	new libro=l;
	int num;
	char out;
	char gen;
	char tit;
	int inserimento;
	cout<<"digita 1 se vuoi inserire uno o più libri"<<endl;
	cout<<"digita 2 se vuoi cercare un libro per autore"<<endl;
	cout<<"digita 3 se vuoi cercare un libro per genere"<<endl;
	cout<<"digita 4 se vuoi cercare un libro per titolo"<<endl;
	cin>>inserimento;

	switch (inserimento)
	{
		case 1:
			cout<<"quanti libri vuoi inserire? -->";
			cin>>num;
			cout<<l.inserisci(num);
			break;
		case 2:
			cout<<l.ricerca_aut(out, num);
			break;
		case 3:
			cout<<l.ricerca_gen(gen, num);
			break;
		case 4:
			cout<<l.ricerca_tit(tit, num);
			break;
	}
}
Inoltre vorrei che i libri che inserisco vengano contemporaneamente salvati in una pagina word se è possibile, qualcuno sa come si fa?

Grazie a tutti quelli che mi risponderanno ;D

P.S. NON HO BISOGNO DELLA SOLUZIONE E STOP QUELLA LA POTREI TROVARE BENISSIMO SU INTERNET, è GRADITA UNA SPIEGAZIONE SUGLI ERRORI E DELLE IDEE PER UN MIGLIORAMENTO

4 Risposte

  • Re: Programmino di archiviazione libri

    Prima di tutto per dichiarare un array senza definirlo è necessario inserire il numero dei valori:
    char a[tot][tot][tot];
    In questo caso mi sembra appropriato comunque fare una struct.
    Probabilmente ci sono altri errori adesso non ho tempo...
  • Re: Programmino di archiviazione libri

    Mai dichiarare array o variabili nei cicli, ma siamo matti? Ci sono 100000000 errori gravissimi ma il compilatore non ti dice niente?
  • Re: Programmino di archiviazione libri

    Io stò facendo C++ da poco ma io userei una lista.
    Una seconda struttura dove inserisci i dati del libro;
    struct dati{string titolo;string autore; ecc...;};
    E una struttura principale composta dalla struttura per i dati del libro e un puntatore a una nuova struttura
    struct libri{dati a;libri* puntatore}
    Inizializzi un puntatore
    libri* pun=new libri;
    E poni il puntatore all'interno della struttura uguale a 0;
    pun->puntatore=0;
    Dopo se ci vuoi allacciare una nuova struttura devi mettere il suo indirizzo nel puntatore, lo 0 serve a far capire al programma quando la lista finisce.
    Con delle funzioni ci puoi fare quello che vuoi(collegare nuovi elementi,toglierli, modificarli ecc..)
    In più ha capacità teoricamente infinite per contenere dati e ti assicura che tutta la memoria che serve per il programma è quella che usi realmente per memorizzare dati.
  • Re: Programmino di archiviazione libri

    Ah sì non ci avevo pensato comunque è meglio correggere quegli erroracci... guarda nel compilatore che errori ti dice (se sai un po' di inglese dovresti sapere come risolvere)
Devi accedere o registrarti per scrivere nel forum
4 risposte