Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao raga, sono alle prime, se non primissime armi con C++ . Premetto che la mia conoscenza del programma non dovrà essere approfondita più di tanto, poichè è un programma che mi serve solo per un esame nel mio percorso di studio (ingegneria) , però la cosa mi interessa perchè mi ha sempre affascinato questo mondo della programmazione.
Ora veniamo al punto, vi posto la traccia dell'esercizio:
-Realizzare un programma che calcola il massimo tra due numeri interi inseriti da tastiera
Mediante la realizzazione di un sottoprogramma
che calcoli il massimo
Io ho provato a scrivere questo codice in C++ , ma alla fine mi da come risultato sempre 0. Da quello che ho capito è perchè non faccio il giusto riferimento al sottoprogramma creato, quindi potrebbe essere che lui mi restituisce un valore default che è lo 0?
Altrimenti sono in alto mare perchè non ho idea di come procedere
Semplicemente la tua funzione deve restituire il valore con
return max;
e quindi non deve essere
void
ma
int
E nel main devi chiamare la funzione con
max=massimo(a,b);
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
Semplicemente la tua funzione deve restituire il valore con
return max;
e quindi non deve essere
void
ma
int
E nel main devi chiamare la funzione con
max=massimo(a,b);
Ok, il codice scritto ora è questo e funziona, ti ringrazio
Codice sorgente - presumibilmente C++
//Massimo tra due numeri con sottoprogramma
#include<iostream>
usingnamespace std;
int massimo(int a , int b){
int max;
if(a>b)
max=a;
else
max=b;
return max;
}
int main(){
int a,b,max;
cout<<"Inserire il primo valore : ";
cin>> a;
cout<<"Inserire il secondo valore : ";
cin>> b;
max=massimo(a,b);
cout<<"Il massimo e' : "<<max<<endl;
system("PAUSE");
return0;
}
Quindi la differenza tra int e void qual'è precisamente ? Perchè non è spiegata in modo chiaro nel mio materiale
Da quello che ho capito se metto int la mia funzione restituisce il valore cambiato , ma se void non lo fa , la sua utilità qual'è?
Chiedo scusa se le domande possono sembrare banali ma sono abbastanza confuso
Ultima modifica effettuata da cos.peluso il 03/01/2018 alle 11:24
Postato originariamente da cos.peluso: Quindi la differenza tra int e void qual'è precisamente ? Perchè non è spiegata in modo chiaro nel mio materiale
Da quello che ho capito se metto int la mia funzione restituisce il valore cambiato , ma se void non lo fa , la sua utilità qual'è?
Chiedo scusa se le domande possono sembrare banali ma sono abbastanza confuso
Allora, queste sono le basi di ogni linguaggio di programmazione, inutile tentare di fare programmi se non si sanno (non e' un rimprovero, ma un dato di fatto).
Comunque, detto brevemente:
int indica la variabile serve a contenere un VALORE NUMERICO INTERO
void indica una VARIABILE SENZA TIPO, ovvero nelle funzioni, prima del nome funzione indica che non verrà restiruito nessun tipo di dato, dentro le parentesi tonde (chiamate parametri) indica che alla funzione non veranno passate variabili di nessun genere.
L'utilità nel void sta nel fatto che spesso non hai bisogno di inviare parametri o di avere un valore di ritorno dalla tue funzioni. (Un utilità maggior poi lo vedrai con i puntatori a void (void*) ma per ora non pensarci).
Esistomo poi molti altri tipi di dato (char per contenere un VALORE PER RAPRESENTARE UN CARATTERE, double per RAPRESSENTARE UN NUMERO CON LA VIRGOLA ecc... )
Purtroppo il forum non è il luogo per spiegarti, anche se sommariamente, tutti i tipi di dato. Questo dovrebbe essere presentato se non la prima, al massimo nella seconda lezione di ogni linguaggio di programmazione perchè è la base senza di cui non si può sperare neppure di scrivere programmi di poche righe.
Ultima modifica effettuata da Mikelius il 03/01/2018 alle 12:44
Postato originariamente da cos.peluso: Quindi la differenza tra int e void qual'è precisamente ? Perchè non è spiegata in modo chiaro nel mio materiale
Da quello che ho capito se metto int la mia funzione restituisce il valore cambiato , ma se void non lo fa , la sua utilità qual'è?
Chiedo scusa se le domande possono sembrare banali ma sono abbastanza confuso
Allora, queste sono le basi di ogni linguaggio di programmazione, inutile tentare di fare programmi se non si sanno (non e' un rimprovero, ma un dato di fatto).
Comunque, detto brevemente:
int indica la variabile serve a contenere un VALORE NUMERICO INTERO
void indica una VARIABILE SENZA TIPO, ovvero nelle funzioni, prima del nome funzione indica che non verrà restiruito nessun tipo di dato, dentro le parentesi tonde (chiamate parametri) indica che alla funzione non veranno passate variabili di nessun genere.
L'utilità nel void sta nel fatto che spesso non hai bisogno di inviare parametri o di avere un valore di ritorno dalla tue funzioni. (Un utilità maggior poi lo vedrai con i puntatori a void (void*) ma per ora non pensarci).
Esistomo poi molti altri tipi di dato (char per contenere un VALORE PER RAPRESENTARE UN CARATTERE, double per RAPRESSENTARE UN NUMERO CON LA VIRGOLA ecc... )
Purtroppo il forum non è il luogo per spiegarti, anche se sommariamente, tutti i tipi di dato. Questo dovrebbe essere presentato se non la prima, al massimo nella seconda lezione di ogni linguaggio di programmazione perchè è la base senza di cui non si può sperare neppure di scrivere programmi di poche righe.
Grazie mille per il chiarimento, ora la cosa è più chiara. Però forse mi sono spiegato male, io so cosa sono char, double, float ecc...
Il problema stava proprio nel fatto che non era spiegata in maniera chiara la differenza o comunque l'utilità del void rispetto a int o comunque quando usare uno o l'altro; per il resto sono abbastanza sicuro di conoscere almeno le basi per scrivere quelle poche righe che devo scrivere.
Ti ringrazio comunque per il chiarimento, gentilissimo
Testo quotato
Allora, queste sono le basi di ogni linguaggio di programmazione, inutile tentare di fare programmi se non si sanno (non e' un rimprovero, ma un dato di fatto).
Anche i rimproveri servono, li accetto volentieri se mi aiutano ahaha
Ultima modifica effettuata da cos.peluso il 03/01/2018 alle 14:18