 |
|
 |
| Precedente :: Successivo |
Autore |
Messaggio |
|
|
Sax_93 Novizio
Registrato: 28/04/11 22:00 Messaggi: 2
|
Inviato: Gio Apr 28, 2011 10:01 pm Oggetto: Aiuto esercizio in C++ |
|
|
//Dato un numero di un reparto stampare i dati dei prodotti che si trovano in quei reparti//
//Dato in input il codice di un prodotto controllare se è presente il prodotto e stampare i suoi dati//
# include <stdio.h>
# include<stdlib.h>
# include <iostream>
using namespace std;
# define MAX 100
class prodotto{
char descrizione[MAX];
int reparto;
float prezzo;
public:
char codice [MAX];
void inserimento_dati(char d[],float p,int r,char c[]){
strcpy(descrizione,d);
prezzo=p;
reparto=r;
strcpy(codice,c);
return;}
void stampa(char d[],float p,int r,char c[]){
cout<<"descrizione"<<d<<endl;
cout<<"prezzo"<<p<<endl;
cout<<"reparto"<<r<<endl;
cout<<"codice"<<c<<endl;
return;}
};
prodotto prod[MAX];
main(){
char codice_prodotto[MAX];
int a;
char d[MAX];
char c[MAX];
int n,i,r;
float p;
cout<<" quanti elementi vuoi inserire?"<<endl;
cin>>n;
for(i=0;i<n;i++){
cout<<"inserisci reparto"<<endl;
cin>>r;
cout<<"descrizione"<<endl;
cin>>d;
cout<<"inserisci prezzo"<<endl;
cin>>p;
cout<<"codice"<<endl;
cin>>c;
prod[i].inserimento_dati(d,p,r,c);}
cout<<"inserisci numero reparto"<<endl;
cin>>a;
prod[a].stampa(d,p,r,c);
cout<<"inserisci codice da cercare "<<endl;
cin>>codice_prodotto;
for(i=0;i<n;i++){
if (strcmp (c,codice_prodotto)==0)
prod[i].stampa(d,p,r,c);}
system("PAUSE");
return 0;}
--------------------------------------…
io voglio ke funzioni come dice la traccia, ma non so cosa non va. Mi aiutate? |
|
Top |
|
 |
cali1981 Site Admin
Registrato: 16/01/06 22:01 Messaggi: 836
|
|
Top |
|
 |
Sax_93 Novizio
Registrato: 28/04/11 22:00 Messaggi: 2
|
Inviato: Ven Apr 29, 2011 1:46 pm Oggetto: |
|
|
beh mi hanno detto questo:
1) La funzione main è di tipo int.
2) Nella ricerca per reparto, chiami la stampa dell'oggetto prod[a], con "a" che rappresenta il reparto, ma prod rappresenta i prodotti; devi fare una ricerca dei prodotti tali che prod[i].reparto==a, e stampare tutti gli oggetti trovati.
3) La funzione "stampa" è errata: è membro della classe prodotto, ma stampa i valori passati come argomenti, quindi gli ultimi inseriti. In realtà non deve avere parametri e stampare i valori descrizione, reparto, prezzo, codice, relativi all'oggetto chiamato.
4) Il test alla quartultima riga è sbagliato: la stringa "c" contiene l'ultimo codice inserito, in realtà il confronto va fatto con il codice dell'i-esimo oggetto prodotto, quindi:
if (strcmp(prod[i].codice, codice_prodotto)==0).
5) Dovresti controllare i valori immessi in input: che n sia minore di MAX, che il reparto o il prodotto cercati esistano (vedi punto 2).
-------------------------------------------------------------------------------------
ma il punto è ke non so come correggerlo come faccio? |
|
Top |
|
 |
|
|
|
|
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi
|
|