18/03/10 18:27
wicca89
fin'ora ho fatto questo:
#include <iostream>
#include <string.h>
using namespace std;
struct Tdata{
int gg;
int mm;
int aa;
};
struct Topera{
char titolo[101];
char autore[101];
Tdata data;
int prezzo;
};
struct Tgalleria{
Topera opera[100];
int numero;//numero opere nella galleria
};
void aggiungi(struct Tgalleria& ,struct Topera&
void elimina(struct Tgalleria& ,char []);
//void ordina(struct Tgalleria& ,char );
int main() {
struct Tdata data;
struct Topera opera;
struct Tgalleria galleria;
char titolo2[100];
int scelta;
aggiungi(galleria,opera);
cout<<"vuoi elimare qualcosa? (1. Si - 2. No): ";
cin>>scelta;
if(scelta==1){
elimina(galleria,titolo2);
// ordina(galleria,scelta);
}
system ("PAUSE"
return 0;
}
void aggiungi(Tgalleria& galleria , Topera& opera){
int scelta,scelta2,i=0;
char appoggio;
galleria.numero=0;
do{
do{
cout<<"Inserisci il titolo dell'opera da aggiungere nella galleria: ";
cin>>galleria.opera[i].titolo;
cout<<"Inserisci l'autore del titolo dell'opera da aggiungere nella galleria: ";
cin>>galleria.opera[i].autore;
cout<<"Inserisci la data (gg mm aa)corrente separati da uno spazio: ";
cin>>galleria.opera[i].data.gg>>galleria.opera[i].data.mm>>galleria.opera[i].data.aa;
cout<<"Inserisci il prezzo del libro: ";
cin>>galleria.opera[i].prezzo;
cout<<"I dati inseriti sono corretti: (1. si - 2 no): ";
cin>>scelta;
}
while(scelta==2);
cout<<"Vuoi inserire un'altro titolo e autore in galleria? (1. Si - 2.No): ";
cin>>scelta2;
i++;
galleria.numero++;
scelta=0;
}
while (scelta2==1);
for(i=0;i<galleria.numero;i++){
cout<<"Titolo: "<<galleria.opera[i].titolo<<"\n";
cout<<"Autore: "<<galleria.opera[i].autore<<"\n";
cout<<"Data: "<<galleria.opera[i].data.gg<<"/"<<galleria.opera[i].data.mm<<"/"<<galleria.opera[i].data.aa<<"\n";
}}
void elimina(Tgalleria& galleria, char titolo2[20]){
int i=0,n;
int ok=0;
cout<<n<<endl;
cout<<"Scrivi il titolo da eliminare: ";
cin>>titolo2[20];
while(i<galleria.numero || ok==0){
if(strcmp(galleria.opera[i].titolo,titolo2)==0){
ok=1;
n=i;
strcpy(galleria.opera[n].titolo,galleria.opera[galleria.numero].titolo);
galleria.numero--;
cout<<galleria.opera[i].titolo<<endl;
}//if chiuso
else if(ok!=1){i++;}
} //while chiuso
for(i=0;i<galleria.numero;i++){
cout<<"Titolo: "<<galleria.opera[i].titolo<<"\n";
cout<<"Autore: "<<galleria.opera[i].autore<<"\n";
cout<<"Data: "<<galleria.opera[i].data.gg<<"/"<<galleria.opera[i].data.mm<<"/"<<galleria.opera[i].data.aa<<"\n";
}
} // void chiuso
ovviamente ho l'errore che non mi scambia i nomi in modo da eliminare quello che dico io per esempio se scrivo prima (metto solo il titolo):
ciao
e poi
gatto
e voglio elimiare ciao mi elimina gatto e mi stampa ciao.... help me
Ultima modifica effettuata da wicca89 20/03/10 11:26
aaa