Fehlerkorrektur



  • Hi steh grad ziemlich auf den Schlauch.
    folgendes Programm soll auf Fehler korrigiert werden, hab das schon teilweise nicht gemacht nur bei der Ausgabe haperts:

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    
    unsigned eingabe();  /* Syn: ";" */                //Prototypen
    unsigned addition(unsigned , unsigned);
    void ausgabe(unsigned);
    
    unsigned eingabe()             //eingabe einer Zahl
    {
    	unsigned zahl; /* Log: Fehlende Deklaration von zahl */
    	printf("\nzahl eingeben: ");
    	scanf("%d",&zahl);  /* Syn:  fehlendes & Zeichen */
    	return(zahl);           //rückgabewert
    }
    
    unsigned addition(unsigned zahl1,unsigned zahl2) //Berechnung
    /* Syn: fehlende Typ Bezeichnung für zahl2) */ 
    {
    	unsigned erg;
    	erg=zahl1+zahl2;
    	return(erg);
    
    }
    
    void ausgabe(unsigned ergebnis)   /*Syn "; zu viel "*/          //Ausgabe
    {
    	printf("\ndas ergebnis lautet:%d,ergebnis"); //????????????? ZAHLENSALAT 
    }
    
    void main()
    {
    	unsigned z1,z2,erg1;
    
    	z1=eingabe();
    	z2=eingabe();
    
    	erg1=addition(z1,z2);  /* Log: fehlendes erg */
    	printf("%d",erg1);  //!!! Hier stimmt erg1 noch
    	ausgabe(erg1);
    }
    

    Und zwar testweise im HP die variable erg ausgeben lassen da stimmt sie , aber warum macht das Unterprogramm so einen zahlensalat daraus ?
    Irgendwie seh ich das gerade nicht.



  • void ausgabe(unsigned ergebnis) /*Syn "; zu viel "*/ //Ausgabe
    {
    printf("\ndas ergebnis lautet:%d,ergebnis**"**);//????????????? ZAHLENSALAT
    }

    edit nr 20000, irgendwie spinnt die c++ formatierung, achte auf deine " " in der printf



  • Das heißt int main(void).

    Schreibe bei unsigned doch auch den Datentyp noch hin, soviel Zeit muß sein.;)

    dann
    printf("\nDas Ergebnis lautet: %u \n",ergebnis);


Anmelden zum Antworten