Fehlersuche in einem Quelltext - Schulnote



  • Sonnenblume schrieb:

    Natürlich sind ein paar ganz offensichtliche Fehler drin.

    Bist du sicher? Ich kann keine einzige deiner Markierungen oder gar Korrekturen entdecken!? 😕 ⚠



  • Text wurde von mir Original vom Arbeitsblatt übernommen, finde aber nur 7/8 Fehler...



  • Sonnenblume schrieb:

    Text wurde von mir Original vom Arbeitsblatt übernommen, finde aber nur 7/8 Fehler...

    Verdammt ich finde 10 Fehler, irgendwas stimmt da nicht.

    Villeicht noch das void main() und die globalen Variablen, dann sind es noch mehr, das sind aber keine syntaktischen Fehler. (Oder die Spaces bei scanf)

    Gruß



  • gib doch erstma die fehler an die du findest. einfach als kommentar (//) danebenschreiben, und warum du denkst das es falsch ist.
    der rest wird dir dann schon beantwortet



  • Welches Fach und welche Stufe genau, wenn ich fragen darf ?

    Und woher hast du die Aufgabe? *g*



  • das /* am anfang würde den ganzen code kommentiren(nutzlos machen) also noch ein */dran 😉



  • Ich lerne IT-Systemelektroniker.. da muss man sowas können... gerade erst angefangen, grundlagen...

    Die Arbeit hab ich aus der parallel - klasse... der schreibt immer die gleichen...



  • /*Testprogramm.cpp

    #include <stdio.h> 
    float MwstSatz, Nettowarenwert; Auszeichnungspreis;  // Semikolon statt Komma
    char Wahl="w";     // Zeichen muss in '' stehen, nicht in ""
    void main()   // hm, Int main vllt?
    {  
      printf("==========Rechnungspreis========= /n"); 
      while (Wahl !='e')   
     {                             // geschweifte klammer müsste wohl weg              
     do                            // kein do, es sei denn bei C ist das so...
     { printf (Nettowarenwert: "; 
       scanf(" %f",&Nettowarenwert); 
     } 
     while(Nettowarenwert<=o); 
     do { 
      printf("Mehrwertsteuer: ); 
      scanf("%f", MwstSatz); 
     } while (MwstSatz<=0) 
     Auszeichnungspreis == Nettowarenwert * MwstSatz;   // kein doppeltes =
     printf(" Auszeichnungspreis= 6.2f", Auszeichungspreis); 
     Printf("\n\n Ende mit (E) -> "; 
     scanf(" %c ",&Wahl); 
    
    } 
    }
    

    Cool hab nur 6 Fehler...ich fühl mich schlecht, ich geh weinen
    Aber gut, von C hab ich auch keine Ahnung^^



  • Sonnenblume schrieb:

    Hallo schreiben morgen eine Arbeit in C++, ua. ist folgende Aufgabe dran:

    Welche Zeilen des Programmes sind fehlerhaft (12F) und warum
    (jeweilige Stelle in der zeile unterstreichen bzw. ausbessern)

    /*Testprogramm.cpp                                 // Kommentarabschluss fehlt
    #include <stdio.h>
    float MwstSatz, Nettowarenwert; Auszeichnungspreis;  // hinter Netto.. ein , statt ;
    char Wahl="w";                                       // 'w' muss es heissen 
    void main()
    {  printf("==========Rechnungspreis========= /n");
      while (Wahl !='e')
     {
     do
     { printf (Nettowarenwert: ";                       // Klammer vergessen
       scanf(" %f",&Nettowarenwert);
     }
     while(Nettowarenwert<=o);                          // eine 0 statt o
     do {
      printf("Mehrwertsteuer: );                        // " vergessen
      scanf("%f", MwstSatz);
     } while (MwstSatz<=0)
     Auszeichnungspreis == Nettowarenwert * MwstSatz;   // ein = zuviel
     printf(" Auszeichnungspreis= 6.2f", Auszeichungspreis);
     Printf("\n\n Ende mit (E) -> ";               // print f klein (?)
     scanf(" %c ",&Wahl);
    
    }
    }                            // } eine zuviel
    

    Natürlich sind ein paar ganz offensichtliche Fehler drin.

    Wäre super wenn jmd. mit "suchen" hilft! Brauch unbedingt ne 1 😃

    Danke im v******!



  • Gott bin ich schlecht, stimmt ja^^ Dämlich... -.-



  • aber jetzt fehlen mir halt noch einige ... erst 8 😞



  • /*Testprogramm.cpp//fehlendes kommentarende
    #include <stdio.h>//#include <cstdio>
    float MwstSatz, Nettowarenwert; Auszeichnungspreis;//, statt ;
    char Wahl="w";//'w'
    void main()//int main
    {  
      printf("==========Rechnungspreis========= /n");
      while (Wahl !='e')
      {
        do
        { 
          printf (Nettowarenwert: ";//fehlende " fehlende )
          scanf(" %f",&Nettowarenwert);
        }
        while(Nettowarenwert<=o);//o statt 0
    
        do
        {
          printf("Mehrwertsteuer: );//fehlende "
          scanf("%f", MwstSatz);
        }
        while (MwstSatz<=0)//fehlendes ;
    
        Auszeichnungspreis == Nettowarenwert * MwstSatz;//== statt =
        printf(" Auszeichnungspreis= 6.2f", Auszeichungspreis);//damit ist irgendwas ganz falsch^^
        Printf("\n\n Ende mit (E) -> ";//Printf statt printf fehlende )
        scanf(" %c ",&Wahl);
    
      }
    }
    

    mist, komm auf 14^^



  • Gleich noch was:

    Ist der quellcode korrekt:

    #include <stdio.h>
    #include <iostream.h>
    #include <conio.h.>
    
    void main()
    {
     int Anlagendauer;
     float zins, Kapital;
     float zinssatz1=0.06;
     float zinssatz2=0.02;
     cout << "bitte Kapital eingeben";
     cin >> Kapital;
     cout << "bitte Anlagendauer eingeben";
     cin >> Anlagendauer;
     if(Anlagendauer>=6)
       {
       zins=Kapital*zinssatz1;
       }
     else
       {
       zins=Kapital*zinssatz2;
       }
     cout << zins;
       Kapital= Kapital+zins;
     cout << Kapital;
     }
    getch()
    


  • cout << Kapital; 
     }  //muss ans ende
    getch()
    

    Ahjo und @ otze
    wieso auf 14? Hab bei dir nur 10 Kommentare gezählt 😃



  • Häää... was programmiert ihr überhaupt? C oder C++? Das vorhin war C, und nun kommst du mit C++. Die C++ Header mit .h sind veraltet und sollten nicht verwendet werden. Wenn ihr es aber sicher so gelernt habt ist es zwar dumm, aber mach es besser auch so in der Arbeit 👎

    Gruß



  • Naja also der offiziele Deckmantel ist C++... veralterte lehrer.. weiss ni ob das so richtig was wird 🙂



  • Nö, ich würds nicht so in der Arbeit machen. Wenn der Lehrer dir das hinterher als falsch anstreicht, kannst du ihn mal richtig fertig machen, denn schließlich geht es ja darum, richtige Antworten hinzuschreiben und nicht was der Lehrer hören will.
    Wenn er ne Frage stellt und du antwortest mit einer völlig korrekten Antwort drauf, die sogar noch korrekter ist als seine, weil er veraltete Header-Datein benutzt, dann kann es wohl kaum ein Fehler sein 😉



  • milo51 schrieb:

    cout << Kapital; 
     }  //muss ans ende
    getch()
    

    Ahjo und @ otze
    wieso auf 14? Hab bei dir nur 10 Kommentare gezählt 😃

    es soll ja leute geben, die in eine zeile 2 fehler packen...

    und btw sinds 12 kommentare, nur 2 sind nicht grün dargestellt, da der code da nen fehler hat 😉



  • kleiner Nachschlag:

    scanf("%f", MwstSatz); // Ampersand fehlt
    
    //#include <stdio.h>  // brauchst du nicht, und wenn, waere es <cstdio>
    #include <iostream>   // dies ist der Standard-Header
    //#include <conio.h.> // wozu? fuer getch? schau in die Konsolen-FAQ...
    
    using std::cout;
    using std::cin;
    
    int main() // void main ist ganz, ganz boese :)
    {
      int Anlagendauer;
      float zins, Kapital; // eine Deklaration pro Zeile waere schoener
      float zinssatz1=0.06f;
      float zinssatz2=0.02f;
      cout << "bitte Kapital eingeben";
      cin >> Kapital;
      cout << "bitte Anlagendauer eingeben";
      cin >> Anlagendauer;
      if (Anlagendauer>=6)
      {
        zins=Kapital*zinssatz1;
      }
      else
      {
        zins=Kapital*zinssatz2;
      }
      cout << zins;
      Kapital += zins; //
      // fehlt hier ein newline oder so was?
      cout << Kapital;
    }
    //getch()
    


  • Vielen Dank!


Anmelden zum Antworten