Oppure

Loading
25/05/09 16:52
maga_maghella
Salve,vorrei chiedervi aiuto per una traccia di un progetto che sto svolgendo con Visual C,
posto il testo e il codice che ho eseguito(il programma è completo) ma c'è qualche errore che non riesco proprio a decifrare...per piacere...ci sarebbe qualcuno di così gentile da illuminarmi...perchè sto impazzendo:


Grazie anticipatamente:hail:
Ultima modifica effettuata da maga_maghella 01/06/09 15:31
aaa
25/05/09 18:17
theprogrammer
Ma l'errore ce lo dobbiamo trovare noi?

Perche' non ci dici, dato che lo sai, di che errore si tratta? O di che "malfunzionamento"?

Insomma, dicci

"faccio questo e invece di avere questo risultato ne ho un altro" ...
aaa
25/05/09 18:52
maga_maghella
Allora il problema è che io lo devo compilare con il Visual C e mi da addirittura 32 errori.
Il primo errore che mi da è ad esempio su
prodotti[0].costo = 10.2;

e nelle altre stringhe dove ho messo il costo con la parte decimale e mi dice
"'=':truncation from const double to float;

for(int i=0;i < NUM_TIPI; i++)
		smaltiti_tipo[i] = - 1;

qui mi dice che c'è un errore di sintassi che manca il ";" prima del "type"

for (int i=0; i < 10; i++)
			printf("%d\t%s\n", i+1, prodotti[i].nome);
		printf("Q\tESCI\n");
		
		printf("Scelta: ");
		scanf("%s", &scelta);

anche qui mi da lo stesso errore di prima un ; mancante
e in queste righe mi dice anche che 'scelta'è "undeclared identifier" lo stesso vale per 'continua'
	if( strcmp(scelta,"Q") == 0 ) {
			continua = 1;


'strcmp':different types from formal and actual parameter 1

aaa
25/05/09 19:08
theprogrammer
Gli unici due problemi che ho visto sono

1) nella struttura usa

double costo;

al posto del float

2) la riga

codice = (int)scelta;

e' sbagliata. Deve essere sostituita con

codice = atoi(scelta);
aaa
25/05/09 22:19
maga_maghella
ti ringrazio per il tempo che mi stai dedicando :hail:
con l'aiuto che mi hai dato tu,con il Dev C sono riuscita a
compilarlo e funziona,rispetta le restrizioni del budget e del
max per tipo di prodotto da smaltire...solo che però non mi stampa
la lista finale dei prodotti smaltiti...utilizzando il Dev C,dovrei
aggiungere Sistem ("pause";) da qualche parte per non farlo ciclare
all'infinito?!!?

GRAZIE!!! :hail:
aaa
26/05/09 6:49
theprogrammer
Inserisci

system("PAUSE";);

prima del

return 0;

per vedere i risultati.
aaa
26/05/09 8:41
maga_maghella
inizio di nuovo chiedendoti scusa...lo so che ti posso sembrare ottusa,ma questo
programma mi sta facendo impazzire...
Ho aggiunto System ("PAUSE";) prima del return 0 , ma continua a non stamparmi la
lista finale dei prodotti smaltiti una volta che ho raggiunto uno dei 2 limiti o del
budget insufficiente o del max di prodotti x tipo

 // stampa lista
    
    for(int i = 0;i < NUM_TIPI; i++) {
        printf("--- Categoria %s ---\n", tipi[i].nome);    
        for(int j = 0; (j < MAX_PER_TIPO) && (j < smaltiti_tipo[i]); j++)
        {
            printf("\tnome: %s\n", lista_smaltiti[i][j].nome);
        }
    }
return 0;
}


questa parte non me la cicla proprio,anche con il system pause prima del return...dovrei quindi metterlo prima di questo blocco di codice?!?!
scusami!!!
:hail::doubt:
aaa
26/05/09 12:00
theprogrammer
No ... il system("PAUSE";); serve solo a non chiudere la console per farti vedere i risultati.

Se non visualizzi i risultati, qualcosa e' sbagliato nel codice.

Ma fammi capire ... cosa vedi? Solamente la testata o neanche quella ? Hai controllato le condizioni di termine dei cicli ..?
aaa