[C/C++] if else

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Can, 4. Mai 2008 .

  1. 4. Mai 2008
    if else

    folgende aufgabe :
    wickeln Sie ein Programm, dass einen Zähler durch einen Nenner dividiert. Berücksichtigen Sie hierbei auch, dass der Nenner vom Benutzer gleich Null gesetzt werden kann.

    Meine frage, das programmt so wie ich es geschrieben habe funktioniert auch... warum benutzen die diese sachen überhaupt..(clrscr... oder return...) Und überhaupt die biliothek hab ich nur eine genommen ich hab alles versucht so kurz wie möglich zu halten.. damit ich es mir leichter merken kann habe morgen eine Programmier prüfung.
    Hier ist erstmal meine Lösung und weiter unten die von der seite wo ich die aufgabenstellung her habe:

    Code:
    #include <constrea.h>
    
    int main(void)
    {
    float zaehler, nenner; //Variablen deklarieren
    
    cout << "Geben sie den Zaehler ein" << endl;
    cin >> zaehler;
    cout << "Geben sie den Nenner ein" << endl;
    cin >> nenner;
    if(nenner==0)
    {
     cout << "Nenner darf nicht 0 sein" << endl;
     getch();
     
    }
    else
     cout << zaehler / nenner << endl;
     getch();
     
    }
    
    Lösungsvorschlag ORGINAL (AUFGABENSEITE )
    
    #include<iostream.h> //Bibliotheken einbinden
    #include<conio.h>
    
    int main(void)
    {
     float zaehler, nenner; //Variablen deklarieren
     clrscr();
     cout<<"Dieses Programm dividiert einen Zaehler durch einen Nenner:\n";
     cout<<"Geben Sie den Zaehler ein: ";
     cin>>zaehler;
     cout<<"\nGeben Sie den Nenner ein: ";
     cin>>nenner;
     if (nenner==0) //Wenn der Nenner gleich Null, dann Programmende
     {
     cout<<"\nNenner darf nicht Null sein!";
     getch();
     return(1);
     }
     else //Nenner ist ungleich Null, dann Berechnung
     cout<<"\n"<<zaehler<<"/"<<nenner<<"="<<zaehler/nenner; //Ausgabe
    
     getch();
     return(0);
    }
    BEIDES FUNKTIONIERT GLEICH EGAL WAS MAN EINGIBT ( ZUMINDEST BEI MIR )
     
  2. 4. Mai 2008
    AW: if else

    return 1;
    sorgt dafür, dass dem betriebssystem mitgeteilt wird, dass das programm nicht ordnungsmäßig beendet wurde...
    außerdem will es der saubere stil, dass main einen integer zurückgibt
    clrscr sorgt imo dafür, dass der Screen gecleart wird, sprich der bildschirm gelöscht wird
     
  3. 4. Mai 2008
    AW: if else

    Jo clrscr löscht den Bildschirm; in diesem Fall also die Console.
    Return beendet die Funktion auch nachdem der Rückgabewert gesetzt wurde.
     
  4. 4. Mai 2008
    AW: if else

    wtf ist <constrea> also das in der aufgabenstellung macht mehr sinn <iostream> und <conio.h>
    //edit hm ist wohl ne combi include datei

    Du solltest vllt. net gucken das du den code gekürzt bekommst und auswendig lernst sondern in verstehst geht deutlich schneller...

    vieles was vllt. kurzer ist nicht die beste lösung. return wegzulassen ist im prinzip ein fehler da du int main deklariert hast. Dein Compiler macht zwar automatisch return 0 dran aber es ist eigentlich falsch.

    mfg tobZel
     
  5. 4. Mai 2008
    AW: if else

    dem stimm ich zu...
    aba wenn du <iostream> und nich <iostream.h> nimmst, musst du den namespace std benutzen
     
  6. 4. Mai 2008
    AW: if else

    wieso selbst beim lösungsvorschlag wurde kein namespace std benutzt ?
     
  7. 6. Mai 2008
    AW: if else

    der lösungsvorschlag bindetr auch die datei <iostream.h> und nicht die datei <iostream> ein...

    die datei iostream sieht wie folgt aus
    Code:
    namespace std {
    
    #include <iostream.h>
    
    
    }
    
    
    
    entspricht also iostream.h mit der ausnahme, dass man den namespace std usen muss
     
  8. 7. Mai 2008
    AW: if else

    Naja nich ganz, die iostream-Datei is die neuere Version von beiden (Neue Funktionen etc., Ansiedlung im std-Namensraum). Die alte Datei mit .h hat man nur aus Kompatibilitätsgründen erhalten. Also, es ist besser, iostream zu benutzen, anstatt aus Bequemlichkeit iostream.h.
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.