Advertisement
buonaseva_fatelo

funzioni_pt1_parametri_argomenti

Nov 16th, 2023
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.06 KB | None | 0 0
  1. // FUNZIONI
  2. /*
  3. -INTRO
  4. -ORDINE DI ESECUZIONE r.25
  5. -VALORE RITORNATO DA FUNZIONE r.50
  6. -ARGOMENTI E PARAMETRI r.83
  7. */
  8.  
  9. /* Quando crei un nuovo file in C++ la schermata che solitamente compare è questa... */
  10. #include <iostream>
  11.  
  12. int main(){ //FUNZIONE main()
  13.     //INIZIO del main()
  14.     cout << "Hello world I hate school so much it's unreal!" << endl;
  15.     return 0;
  16.     //FINE del main() (e del programma)
  17. }
  18.  
  19. /*
  20. Aiutano a SPEZZARE e ORGANIZZARE il codice.
  21. main() è la 1^ ad essere eseguita SEMPRE.
  22. */
  23.  
  24. //******************************************************************************
  25. //ORDINE DI ESECUZIONE:
  26.  
  27. void funzioneStampa(){
  28.     cout << "Wela ora sei su funzioneStampa()!" << endl; //(3) Stampo...
  29. }
  30.  
  31. //INIZIO DA QUI
  32. int main(){
  33.     cout << "Ciao sei nel main()!" << endl; //(1) Si PARTE SEMPRE da qui
  34.     //DEF: CHIAMATA a funzioneStampa() (senza il "void")
  35.     funzioneStampa(); //(2) La CPU CHIAMA questa funzione
  36.     cout << "Bentornato nel main(). Ora però vado a dormire" << endl; //(4) Terminata funzioneStampa() ritorno qua.
  37.     return 0; //(5)
  38. }
  39. /*****/
  40. void funzioneStampa()
  41. void main()
  42. //sono INTESTAZIONI seguite da {...;}
  43. //Formato: "tipo_da_ritornare" + "nomeFunzione()"
  44. //mentre...
  45. funzioneStampa()
  46. //...è una CHIAMATA (senza il "tipo")
  47.  
  48. /*
  49. ******************************************************************************
  50. VALORE RITORNATO DALLE FUNZIONI:
  51. -A che serve "return"?
  52. -Perchè "void" funzioneStampa()?
  53. -Perchè c'è "int" prima di main()?
  54.  
  55. TLDR: a fine funzioneLeggiNumero() 'return tmp' rigira
  56. ciò che sta dentro tmp a 'numero' nel main()
  57. */
  58.  
  59.  
  60. int funzioneLeggiNumero(){ //stavolta "int" al posto di "void"... vedrai perchè.
  61.     int tmp;//(3)
  62.     cout << "Inserisci numero: ";//(4)
  63.     cin >> tmp;//(5)
  64.     cout << "Ty lo rigiro nel main() e se la vede lui ora." << endl; //(6)
  65.     return tmp;//(7a) !!
  66. }
  67.  
  68. //INIZIO DA QUA!
  69. int main(){
  70.     int numero;//(1)
  71.     numero = funzioneLeggiNumero();//(2) chiamo funzione
  72.     //(7b) !! int tmp -> int numero
  73.     cout << "Hai inserito: " << numero << endl;//(9)
  74.     return 0; //(10)
  75. }
  76.  
  77. /*
  78. TIP: a fine main()...
  79. -"return 0" è come dire a Windows: "Tutto a posto 0 errori"
  80. -"return -1" (o -2, -3...) è come dire: "Qualcosa è andato storto e me la squaglio"
  81. */
  82. /*******************************************************************************
  83. ARGOMENTI e PARAMETRI
  84. TL;DR: le robe che metti dentro le parentesi di robeCose(__,__)
  85. */
  86.  
  87. void robeCose(int param1, int param2){ //così scritta _richiede_ 2 PARAMETRI di tipo int
  88.     cout << param1 << " e " << param2 << " quanto fa?" << endl;
  89. }
  90.  
  91. int main(){
  92.     int arg1 = 15, arg2 = 18;
  93.    
  94.     cout << arg1 << " e " << arg2 << " quanto fa?" << endl;
  95.     //OUTPUT fin qua: "15 e 18 quanto fa?"
  96.     robeCose(arg2, arg1); //gli _devo passare_ 2 ARGOMENTI di tipo int
  97.     //OUTPUT: "18 e 15 quanto fa?"
  98.     return 0;
  99. }
  100. /*
  101. Non importa se confondi ARGOMENTI con PARAMETRI
  102. Comunque
  103. 2 PARAMETRI richiesti -> 2 ARGOMENTI da passare
  104.  
  105. ARGOMENTO int richiede PARAMETRO int,
  106. ARGOMENTO char richiede PARAMETRO char,
  107. etc....
  108.  
  109. L'IDE ti segnala se fai errori e te lo ricorderai
  110. per cui tranquillo...
  111. */
  112.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement