Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
In ogni caso, pensaci comunque all'acquisto del libro che ho citato: la ricorsione non è solo quelle quattro cose discusse in questo topic, ed avere una valida guida introduttiva (tanto più se è possibile acquistarla al costo di un romanzo) è essenziale
Ultima modifica effettuata da Template il 13/02/2016 alle 16:54
Ti avevo consigliato di non dividere il programma in più file, e non mi hai ascoltato... va be'...
Comunque, posso sapere che senso ha la scrittura che hai usato?
Codice sorgente - presumibilmente C++
int trova_vendite(int bibita, int numero_vendite, int elenco_vendite [], int giorno, int mese , int anno, int contatore, int posizione)
{
int trova_vendite();
{
/*...*/
}
}
Dove mai s'è vista una funzione dentro un'altra funzione?
Lasciando stare che hai scritto una funzione ricorsiva sbagliata, che al caso terminale ritorna il contatore ed in tutti gli altri ritorna 0 (così che il valore effettivamente raggiunto dal contatore non tornerà mai indietro, visto che tra l'altro lo passi come parametro by value)...
Ah, quasi dimenticavo... ora te lo scrivo in grassetto così forse lo capisci (e che cazzo, te l'abbiamo detto venti volte!): SE CREI UN HEADER TUO, LO DEVI INCLUDERE NEL FILE DOVE STA IL MAIN (ED IN TUTTI GLI ALTRI FILES CHE HANNO A CHE FARE CON LE SUE FUNZIONI)!!!!!!
Ultima modifica effettuata da Template il 14/02/2016 alle 18:19
Allora i file li devo dividere perché lo vuole il prof ...
Il progetto va consegnato così , ahime .. Function in un file , chiamata in un altro e il resto nel Main ..
Chiarito questo , probabilmente avrò fatto un errore di trascrizione .. infatti in quello che tengo aperto ora c'è solo il primo rigo .. cmq l'errore che mi da è nel secondo IF ...
In verità il fatto del return non ero sicurissimo ..
Volevo inizialmente mettere al primo return numero_vendite , al secondo contatore .. però non penso sia giusto ... perché il contatore va aggiornato anche nel primo If ..
allora al primo ho messo return , al secondo volevo mettere contatore++ , ma ho dimenticato di trascrivere ...
Ultima modifica effettuata da Joker22 il 14/02/2016 alle 18:20
L'errore nel secondo if sta nel fatto che subito dopo l'istruzione condizionale hai messo un punto e virgola.
Ma non è quello il problema del programma (leggesi sopra).
Postato originariamente da Joker22: nella function da errore
L'errore è quel punto e virgola che ti ho detto.
E se continua a darti errori anche dopo averlo tolto, vuol dire che c'è qualche altro problema... in tal caso, postami le specifiche del messaggio di errore...