Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Problema riciclatore in C
Forum - C/C++ - Problema riciclatore in C

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
maga_maghella (Normal User)
Newbie


Messaggi: 5
Iscritto: 25/05/2009

Segnala al moderatore
Postato alle 18:52
Lunedì, 25/05/2009
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 il 01/06/2009 alle 17:31
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 20:17
Lunedì, 25/05/2009
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" ...

PM Quote
Avatar
maga_maghella (Normal User)
Newbie


Messaggi: 5
Iscritto: 25/05/2009

Segnala al moderatore
Postato alle 20:52
Lunedì, 25/05/2009
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
Codice sorgente - presumibilmente Plain Text

  1. 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;

Codice sorgente - presumibilmente Plain Text

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


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

Codice sorgente - presumibilmente C/C++

  1. for (int i=0; i < 10; i++)
  2.                         printf("%d\t%s\n", i+1, prodotti[i].nome);
  3.                 printf("Q\tESCI\n");
  4.                
  5.                 printf("Scelta: ");
  6.                 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'
Codice sorgente - presumibilmente Plain Text

  1. if( strcmp(scelta,"Q") == 0 ) {
  2.                         continua = 1;



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


PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 21:08
Lunedì, 25/05/2009
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);

PM Quote
Avatar
maga_maghella (Normal User)
Newbie


Messaggi: 5
Iscritto: 25/05/2009

Segnala al moderatore
Postato alle 0:19
Martedì, 26/05/2009
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:

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 8:49
Martedì, 26/05/2009
Inserisci

system("PAUSE");

prima del

return 0;

per vedere i risultati.

PM Quote
Avatar
maga_maghella (Normal User)
Newbie


Messaggi: 5
Iscritto: 25/05/2009

Segnala al moderatore
Postato alle 10:41
Martedì, 26/05/2009
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

Codice sorgente - presumibilmente C/C++

  1. // stampa lista
  2.    
  3.     for(int i = 0;i < NUM_TIPI; i++) {
  4.         printf("--- Categoria %s ---\n", tipi[i].nome);    
  5.         for(int j = 0; (j < MAX_PER_TIPO) && (j < smaltiti_tipo[i]); j++)
  6.         {
  7.             printf("\tnome: %s\n", lista_smaltiti[i][j].nome);
  8.         }
  9.     }
  10. return 0;
  11. }



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:

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 14:00
Martedì, 26/05/2009
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 ..?

PM Quote
Avatar
maga_maghella (Normal User)
Newbie


Messaggi: 5
Iscritto: 25/05/2009

Segnala al moderatore
Postato alle 18:28
Martedì, 26/05/2009
questo è quello che vedo io...
prima la richiesta del budget,
poi c'è l'elenco dei prodotti da smaltire da cui poter scegliere.
Il controllo del budget sufficiente lo fa,perchè se inserisco un prodotto
da smaltire oltre il budget mi esce il messaggio di errore,se inserisco
un prodotto fuori dall'elenco mi da errore,idem se provo a smaltire più di 20
volte lo stesso tipo di prodotto.
Solo che,una volta o superato il budget,o provato più di 20 volte a smaltire lo stesso
prodotto mi dovrebbe dare la lista dei prodotti smaltiti,quello che dovrebbe
fare in questo blocco di codice
Codice sorgente - presumibilmente C/C++

  1. // stampa lista
  2.    
  3.     for(int i = 0;i < NUM_TIPI; i++) {
  4.         printf("--- Categoria %s ---\n", tipi[i].nome);    
  5.         for(int j = 0; (j < MAX_PER_TIPO) && (j < smaltiti_tipo[i]); j++)
  6.         {
  7.             printf("\tnome: %s\n", lista_smaltiti[i][j].nome);
  8.         }
  9.     }
  10.    
  11.     return 0;
  12. }


ma che invece non fa ed io davvero non riesco a capire perchè 8-|:d,non è solo un problema del system pause prima del return,perchè l'ho inserito ma nulla... :-|


maga_maghella ha allegato un file: ScreenHunter_03 May. 26 18.21.gif (7215 bytes)
Clicca qui per guardare l'immagine

Ultima modifica effettuata da maga_maghella il 01/06/2009 alle 17:32
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo