salve a tutti,non essendo molto bravo con il linguaggio c++ ho avuto dei problemi.
il mio problema e che nel while del main non so cosa mettere come condizione della stringa
anche perchè cosi mi stampa sempre lo stesso carattere(l'ultimo inserito).codice:#include <iostream> #include <string.h> using namespace std; typedef struct lista_spesa{ char *nome_prodotto; int quantita; struct spesa *next; }lista; lista *aggiungi(lista *primo,char *nome,int q){ if(primo==NULL){ primo=new lista; primo->nome_prodotto=new char[30]; primo->nome_prodotto=nome; primo->quantita=q; primo->next=NULL; }else { lista *p2; p2=new lista; p2->nome_prodotto=new char[30]; primo->nome_prodotto=nome; p2->quantita=q; p2->next=primo; primo=p2; } return primo; } void stampa(lista *primo){ while(primo!=NULL){ cout<<"il nome del prodotto e' : "<<primo->nome_prodotto<<"\n"<<"la quantita e' : "<<primo->val<<"\n"; ; primo=primo->next; } } int main(){ lista *primo=NULL; int q; char np[30]; cout<<"inserisci il nome del prodotto : "<<endl; cin>>np; cout<<"inserisci la quantita : "<<endl; cin>>q; while(q!=0){ /*nel while non riesco a capire cosa mettere per far terminare l'inserimento di stringhe*/ primo=aggiungi(primo,np,q); cout<<"inserisci il nome del prodotto : "<<endl; cin>>np; cout<<"inserisci la quantita : "<<endl; cin>>q; } stampa(primo); return 0; }

Rispondi quotando