PDA

Visualizza la versione completa : C# comparazione variabile,campo struttura


nubsthead
26-03-2010, 21:56
Salve, stavo lavorando ad un esercizio stupido poichè studio il c da poco tempo e ho riscontrato un problema... non so come fare una comparazione tra un campo di una struttura ed una variabile... vi posto un pezzo di codice dove sorge il problema...


void ordine(struct prodotto*p){
char x[20];
int y;
visualizzazione();
printf(" *ORDINE*\n\n");
printf("Inserisci il nome del prodotto da acquistare: ");
scanf("%s",& x);
printf("Inserisci la quantita: ");
scanf("%d",&y);
if (x==p->descrizione){
printf("prodotto non presente nel magazzino\n\n");
}
else{
p->quantita=(p->quantita)-y;
}
if(y<p->quantita)
printf("quantita' richiesta maggiore di quella presente nel magazzino");
else{
printf("Ecco il tuo ordine: ");
printf("%s %d",x,y);
}}


precisamente nei due if la condizione nn funziona come vorrei...

oregon
27-03-2010, 10:10
Questo codice è C e non C# ...

Il confronto tra array di char in C si fa tramite la funzione di libreria strcmp o simili ...

Alex'87
27-03-2010, 10:35
Originariamente inviato da nubsthead
printf("Inserisci il nome del prodotto da acquistare: ");
scanf("%s",& x);

[/CODE]
Inoltre quel &x è sbagliato. x è un array ed il suo nome è già l'indirizzo del primo elemento!

nubsthead
27-03-2010, 14:00
Intanto scusate per l errore (c#)
Comunque "x" è una stringa di 20 caratteri non un vettore di stringhe... poi non so se ci sono errori nella dichiarazione...
Grazie ad entrambi ora provo

Ok questa parte del programma è risolta... grazie mille

oregon
27-03-2010, 14:03
Originariamente inviato da nubsthead
Cmq x è una stringa di 20 caratteri nn un vettore di stringhe...

Chi ha mai detto che è un vettore di stringhe? :confused:

P.S. Per favore ... non usare abbreviazioni ... in un forum rendono illeggibile il testo ...

nubsthead
27-03-2010, 14:14
Scusate avete ragione :D

Un altra domanda... se volessi visualizzare l insieme degli ordini eseguiti in un altra funzione dovrei passare i parametri all altra funzione... come posso fare?

MItaly
27-03-2010, 14:30
Originariamente inviato da nubsthead
Un altra domanda... se volessi visualizzare l insieme degli ordini eseguiti in un altra funzione dovrei passare i parametri all altra funzione... come posso fare?
Eh? :confused:

nubsthead
27-03-2010, 14:42
Ti spiego tutto il problema così magari chiarisco la mia domanda.
Sto facendo un programma in C che mi permetta di gestire un numero di n merci all'interno di un magazzino.Inoltre, dopo aver caricato la merce (ancora non ho studiato i file e non so se possano servire a migliorare e/o semplificare il mio algortimo) ho la possibilità di:

-Visualizzare una lista con tutta la merce,il relativo codice e quantità;
-Eseguire un ordine( acquistare merce e quindi detrarla dalla quantità del magazzino);
-Visualizzare tutti gli ordini eseguiti precedentemente;

Poichè ho un menù di scelta che gestisce le 3 funzioni e avendo terminato le prime due, volevo sapere come si potesse risolvere l'ultima parte del mio algoritmo.

Spero di essere stato chiaro.. se ci sono dubbi avverti che provo ad esprimermi meglio.

oregon
27-03-2010, 14:58
Dipende da dove memorizzi tutti gli ordini.

Comunque, questa richiesta non ha attinenza con il thread attuale ... sei OT ...

nubsthead
27-03-2010, 15:05
Ok grazie potete chiudere

Loading