Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    problemino...con C

    Per prima cosa un grande saluto a tutti quanti gli utenti del forum...mi sono iscritto da poco e sempre da poco tempo sto imparando ad utilizzare il linguaggio C e java...ora vi posto un attimo il mio problema sperando che qualcuno di voi mi possa dare gentilmente una mano ...

    allora il mio codice che cerco in tutti i modi di compilare è questo:
    codice:
    #include <stdio.h>
    #include <math.h>
    
    double ipotenusa (double a, double b);
    
    double main(){
    	double lato1;
    	double lato2;
    
    	printf("inserisci i due cateti del triangolo rettangolo:\n");
    	scanf("%s%s", &lato1, &lato2);
    
    	printf("l'ipotenusa del tuo triangolo è : %s \n", ipotenusa(double a, double b));
    
    return 0;
    }
    
    double ipotenusa (double a, double b){
    					int hypotenuse;
    
    				hypotenuse = sqrt(pow(a , 2) + pow(b , 2));
    					
    					return ipotenusa;
    					}
    alla riga 13 il programma che utilizzo per compilare il file mi trova un "parse errore before double"...ora essendo nuovo di questo linguaggio non riesco proprio a rintracciare l'errore anche se banale...qualcuno sa darmi un piccolo aiuto o qualche dritta??? grazie mille

  2. #2
    codice:
    int main(void)
    {
        double lato1;
        double lato2;
        
        printf("inserisci i due cateti del triangolo rettangolo:\n");
        scanf("%s%s", &lato1, &lato2);
        
        printf("l'ipotenusa del tuo triangolo è : %s \n", ipotenusa(lato1, lato2));
        
        return 0;
    }
    P.S.: quando posti del codice usa il tag [code]...[/code] per mantenere l'indentazione del codice e renderlo così più leggibile.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    ok grazi

  4. #4

    Re: problemino...con C

    Originariamente inviato da Sandro_88
    codice:
    ...
    	scanf("%s%s", &lato1, &lato2);
    ...
    Il carattere di conversione "%s" si usa per le stringhe, per i valori floating point si usa "%g"

    scanf("%g%g", &lato1, &lato2);
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  5. #5
    Giusto, quindi anche
    codice:
    printf("l'ipotenusa del tuo triangolo è : %g \n", ipotenusa(lato1, lato2));
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    codice:
    double ipotenusa (double a, double b){
    					int hypotenuse;
    
    				hypotenuse = sqrt(pow(a , 2) + pow(b , 2));
    					
    					return ipotenusa; //attenzione che qui ritorni qualcosa che non va!!!!!!
    					}

  7. #7
    grazie per tutte le attenzioni e le risposte... ma in teoria non dovrei ritornare alla funzione ipotenusa alla fine? pero e' anche vero che cosi non me lo fa nemmeno compilare...


    ok trovato l'errore ...in pratica dovevo ritornare al valore hypotenuse (return hypotenuse) e non alla funzione ...scusatemi per il disturbo ma non sono ancora abbastanza pratico...grazie di nuovo per gli aiuti a presto!!!

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Attenzione ai titoli: come da Regolamento (che ti invito a leggere) è necessario che esso dia una descrizione del problema... qui tutti hanno un "problemino" con un determinato linguaggio, ma ciascun "problemino" è diverso dagli altri.

    Questo lo correggo io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.