Wieso wird immer nur "..." ausgegeben?



  • Wie muss ich den Code dafür umschreiben? 😕 Kannst du das vieleicht mal an dem Code von oben zeigen und kommentieren?



  • Ich hab dir das schonmal erklärt, aber du hast es ignoriert: http://www.c-plusplus.net/forum/viewtopic.php?t=54100&highlight=



  • geht aber immer noch nicht... 😞

    /*
      Programm Name: Pruefungsbescheid
      Funktion: Prüfen ob bestanden oder nicht
      Datum: 29.10.03
    */
    
    #include <stdio.h>
    #include <conio.h>
    
    void Ueberschrift(void);
    float Noteneingabe();
    void Notenvergleich(void);
    void Beenden(void);
    //-----------------------------Variablendeklaration-----------------------------
     float main()
    {
     float Note
    
     Note = PruefungsNote();
     Notenvergleich(Note);
     return 0;
    }
    //---------------------------------Hauptfunktion--------------------------------
     void main(void)
    {
     clrscr();              //Bildschirm löschen
     Ueberschrift();        //Überschrift anzeigen
     Noteneingabe();        //User gibt Zahlen an
     Notenvergleich();      //Zahlen Vergleichen
     getch();               //Auf Bestätigung warten
     Beenden();             //Beenden-Text aufrufen
    }
    //------------------------------Überschriftaufruf-------------------------------
    void Ueberschrift(void)
    {
     gotoxy (33,1);                 //gehe zu Position ...
     printf ("Pruefungsbescheid");  //drucke ...
     getch();                       //Warte auf Benutzerbestätigung
    }
    //--------------------------------Zahleneingabe--------------------------------
    float Noteneingabe()
    {
     float PruefungsNote;                   //Variablendeklaration für die Prüfungsnote
    
     gotoxy (23,3);
     printf("Geben sie die zu pruefende Note ein: ");      //gehe zu Position ...
     scanf ("%f",&PruefungsNote);
     return PruefungsNote;
    }
    //-------------------------------Zahlenvergleich--------------------------------
    void Notenvergleich(float Note)
    {
     if (Note >= 4,5)
    {
     gotoxy(17,5);                 //gehe zu Position ... und drucke ...
     printf("Sie haben die Pruefung leider nicht bestanden!");
    }
     else
     if (Note <= 4,5)
    {
     gotoxy(16,5);                 //gehe zu Position ... und drucke ...
     printf("Glueckwunsch! Sie haben die Pruefung bestanden.");
    }
     else
     if (Note == 4,5)
    {
     gotoxy(15,5);                 //gehe zu Position ... und drucke ...
     printf("Sie haben die Pruefung leider nicht bestanden!");
    }
     else
     if (Note <= 1,5)
    {
     gotoxy (10,5);                //gehe zu Position ... und drucke ...
     printf("Glueckwunsch! Sie haben die Pruefung mit Auszeichnung bestanden.");
    }
    }
    //-------------------------------Beenden----------------------------------------
    void Beenden(void)
    {
     gotoxy (15,25);
     printf ("zurueck zum Betriebssystem: Beliebige Taste druecken");
     getch();
    }
    


  • Ich gebs einfach auf.



  • [hab mich verlesen]



  • Anfänger01 schrieb:

    geht aber immer noch nicht... 😞

    Wenn du Hilfe willst, solltest du es den Helfenden leicht machen. "Geht nicht" ist eine schlechte Fehlerbeschreibung!

    Ohne Anspruch auf Vollständigkeit:

    - Der Prototyp für Notenvergleich unterscheidet sich von der tatsächlichen Funktion (anderer Parametertyp)

    - Warum hast du zwei main-Funktionen?

    - Bei der Definition von float Note fehlt das Semikolon

    - Was ist PruefungsNote? Die Funktion, die du da aufrufen willst, heißt Noteneingabe.

    Ein wenig mehr Sorgfalt wäre wohl angebracht.



  • Anfänder01 schrieb:

    ...

    void Notenvergleich(void)
    {
     .
     if (Note >= 4,5)
    ....
    }
    

    Aehh, du solltest leiber

    void Notenvergleich(void)
    {
     .
     if (Note >= 4.5)
    ....
    }
    

    schreiben. Also 4.5 nicht 4,5....



  • Also wenn ich das richtig sehe, möchtest du erfahren, dass man im C-Code Kommazahlen mit einem Punkt und nicht einem Komma macht.

    if (note <= 4,5) z.B. wertet (note <= 4) aus, schmeißt das ergebnis weg und nimtm die 5. 5 ist eine Zahl ungleich 0, damit ist der Fall erfüllt, die Note wird nicht einbezogen.



  • @Anfänder01:

    👍 Advanced Trolling!



  • Hi,

    langsam gehört das hier aber wirklich ins Trollforum.

    Der Code, den er oben postet, ist absolut nicht compilefähig (falsche Prototypen, Semikolon fehlt, Komma statt Punkt).

    Falls es ernstgemeint ist, würde ich mir mal überlegen, ob Coding wirklich das richtige für mich ist: Durch pure Logik kommt man darauf, dass nur die ersten beiden ifs überhaupt jemals ausgeführt werden und dass NotenVergleich() zweimal aufgerufen wird und beim zweiten Mal ohne Parameter (d.h. eine der beiden Stellen kann gar nicht compilen :D).

    ChrisM


Anmelden zum Antworten