Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [C] funzione ipotenusa e calcolo della stessa
Forum - C/C++ - [C] funzione ipotenusa e calcolo della stessa

Avatar
ColonelCurtiss (Normal User)
Newbie


Messaggi: 5
Iscritto: 30/11/2010

Segnala al moderatore
Postato alle 12:33
Mercoledì, 01/12/2010
Questo topic è stato chiuso dal moderatore

Ragazzi, devo creare un programma che calcoli la lunghezza dell'ipotenusa di un triangolo rettangolo prendendo come dati i due lati. La traccia mi dice di farlo tramite funzione, e io ho fatto così, ma quando vado ad eseguire il programma, come risultato mi restituisce sempre 1.#INF00.
Qualcuno potrebbe dirmi dove sbaglio?

Codice sorgente - presumibilmente C#

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<math.h>
  4.  
  5. double ipotenusa (double cat1, double cat2);
  6.  
  7. int main()
  8. {
  9.     double cat1;
  10.     double cat2;
  11.    
  12.     printf("Inserire i due cateti: ");
  13.     scanf("%f %f", &cat1, &cat2);
  14.    
  15.     printf("L'ipotenusa del triangolo rettangolo e' %f\n", ipotenusa(cat1, cat2));
  16.    
  17.     system("pause");
  18.     return 0;
  19.    
  20. }
  21.  
  22. double ipotenusa (double cat1, double cat2)
  23. {
  24.        double potenza = 00.0;
  25.        double radice = 00.0;
  26.        
  27.        potenza = (cat1 * cat1) + (cat2 * cat2);
  28.        
  29.        radice = sqrt (potenza);
  30.        
  31.        return radice;
  32.        
  33. }


PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 12:49
Mercoledì, 01/12/2010

sostituisci tutti i double con float


Ingegnere Informatico
https://ldlagency.it
PM
Avatar
ColonelCurtiss (Normal User)
Newbie


Messaggi: 5
Iscritto: 30/11/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 12:58
Mercoledì, 01/12/2010
Testo quotato

Postato originariamente da HeDo:


sostituisci tutti i double con float



Ah, così funziona, grazie. Mi sono, però, dimenticato di specificare che la traccia mi dice testualmente: "La funzione dovrà ricevere due argomenti di tipo double e restituire l'ipotenusa come un double"...

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 13:03
Mercoledì, 01/12/2010
Testo quotato

Postato originariamente da ColonelCurtiss:

Testo quotato

Postato originariamente da HeDo:


sostituisci tutti i double con float



Ah, così funziona, grazie. Mi sono, però, dimenticato di specificare che la traccia mi dice testualmente: "La funzione dovrà ricevere due argomenti di tipo double e restituire l'ipotenusa come un double"...



il problema sta nella printf: http://www.cplusplus.com/reference/clibrary/cstdio/printf/

scrivi anche che compilatore stai utilizzando.


Ingegnere Informatico
https://ldlagency.it
PM
Avatar
ColonelCurtiss (Normal User)
Newbie


Messaggi: 5
Iscritto: 30/11/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 16:21
Mercoledì, 01/12/2010
Testo quotato

Postato originariamente da HeDo:

il problema sta nella printf: http://www.cplusplus.com/reference/clibrary/cstdio/printf/

scrivi anche che compilatore stai utilizzando.



Uso Dev-C++ su Windows 7.

PM
Avatar
nihal (Ex-Member)
Pro


Messaggi: 109
Iscritto: 12/04/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 17:28
Mercoledì, 01/12/2010
Basta che nella printf usi %lf al posto di %f...


Chi lotta può perdere. Chi non lotta ha già perso...
PM
Avatar
ColonelCurtiss (Normal User)
Newbie


Messaggi: 5
Iscritto: 30/11/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 21:14
Mercoledì, 01/12/2010
Testo quotato

Postato originariamente da nihal:

Basta che nella printf usi %lf al posto di %f...



Grazie, tutto risolto.

PM