Warum kostenlos registrieren?

Nur als registriertes Mitglied hast Du vollen Zugriff auf alle Funktionen unserer Website. So kannst Du eigene Fragen stellen und hast die volle Übersicht über neue interessante Themen im Forum.
Jetzt kostenlos registrieren.

Login


nochmal-abfrage ohne goto c++

Programmier-Tipps und -Tricks. Artikel zum Thema Java, PHP, C++, Delphi, VB, etc.

nochmal-abfrage ohne goto c++

Beitragvon Kirro am 09.02.2006, 17:47

Hallo

wir lernen gerade c++ in der schule

wir sollen ein taschenrechner programmieren und dabei keine Funktion anwenden (irgendwie doof ;) ) und kein goto befehl

also so weit bin ich alles klappt auch nur die nochmal-abfrage!
Code: Alles auswählen
#include <iostream>

using namespace std;
int main()

{
   char nochmal;
   do
   {
      system ("cls");
      float zahl1;
      float zahl2;
      char wahl;


   
      cout.width(40);
      cout.fill('*');
      cout <<"Menu";
      cout.width(40);
      cout.fill('*');
      cout <<"\n\n";
      cout <<" <+> Addition\n";
      cout <<" <-> Subtraktion\n";
      cout <<" <*> Multiplikation\n";
      cout <<" </> Division\n";
   
      cin >> wahl;
      switch (wahl)
      {
         case '+':
         {
            cout <<"Geben Sie die erste Zahl ein: ";
            cin >> zahl1;
            cout <<"\nGeben Sie nun die zweite Zahl ein: ";
            cin >>zahl2;
            cout <<"\nDas Ergebnis lautet "<< zahl1+zahl2;
            break;
         }
         case '-':
         {
            cout <<"Geben Sie die erste Zahl ein: ";
            cin >> zahl1;
            cout <<"\nGeben Sie nun die zweite Zahl ein: ";
            cin >>zahl2;
            cout <<"\nDas Ergebnis lautet "<< zahl1-zahl2;
            break;
         }
         case '*':
         {
            cout <<"Geben Sie die erste Zahl ein: ";
            cin >> zahl1;
            cout <<"\nGeben Sie nun die zweite Zahl ein: ";
            cin >>zahl2;
            cout <<"\nDas Ergebnis lautet "<< zahl1*zahl2;
            break;
         }
         case '/':
         {
            cout <<"Geben Sie die erste Zahl ein: ";
            cin >> zahl1;
            cout <<"\nGeben Sie nun die zweite Zahl ein: ";
            cin >>zahl2;
            cout <<"\nDas Ergebnis lautet "<< zahl1/zahl2;
            break;
         }
         default:
         {
            cout <<"\n\nFehler!";
            cin.get();
            cin.get();
               
         }
      }
      cout <<"\n\nWollen Sie noch mal rechnen?(J/N) ";
      cin >>nochmal;
      while (nochmal!='J' || nochmal!='j' || nochmal!='n' || nochmal!='N')
      {
         cout <<"\nFalsche Angabe!Bitte Geben Sie es erneut ein: ";
         cin>>nochmal;

         if (nochmal=='n' || nochmal=='N')
         {
            cout <<"\n\nOK, CIAO\n";
            cin.get();
            cin.get();
            return 0;
         }
         
         if (nochmal=='J' || nochmal=='j')
         {
            cout <<"\nCOOL COOL\n";
            cin.get();
            cin.get();
         }
      };      

   }while (nochmal=='J' || nochmal=='j');

cin.get();
cin.get();
return 0;
}


also brauch ich eigentlich nur die nochmalige abfrage, ich weiß aber nicht wie ich das machen soll( also nur mit funktionen oder goto) aber das sollen wir nicht benutzen

für jeden tip bin ich dankbar
Kirro
 
Beiträge: 561
Registriert: 26.04.2004, 15:41
Wohnort: Oldenburg


Beitragvon Holy Marcell am 09.02.2006, 20:31

??

Warum machst du es nicht mit Funktionen?

Du lagerst die immer wieder genutzten Teile aus:

Code: Alles auswählen
{
            cout <<"Geben Sie die erste Zahl ein: ";
            cin >> zahl1;
            cout <<"\nGeben Sie nun die zweite Zahl ein: ";
            cin >>zahl2;
            cout <<"\nDas Ergebnis lautet "<< zahl1+zahl2;
            break;
         }


Setze das z.B. in die Funktion "adition"

den Code von der Multiplikation definierst du als "multi" usw.

Dann fragst du in der Main-Funktion ab:

do loop


while


und schreibst als letztes eine abfrage: "nochmal"... usw.
Holy Marcell
 

Beitragvon Kirro am 09.02.2006, 20:52

Ja klar ich weiß dass das in den funktion leichter ist, kann ich ja auch , aber weil wir in der schule noch nicht so weit sind darf ich das nicht benutzen...

do loop hatten wir aber auch noch nicht (kann ich auch nicht wenn ich ehrlich bin...

gibt es noch ne andere möglichkeit??

danke schonmal
Kirro
 
Beiträge: 561
Registriert: 26.04.2004, 15:41
Wohnort: Oldenburg

Beitragvon TaipanWall am 11.02.2006, 00:39

Ändere :
while (nochmal!='J' || nochmal!='j' || nochmal!='n' || nochmal!='N')

in:
while (nochmal!='J' && nochmal!='j' && nochmal!='n' && nochmal!='N')
TaipanWall
 
Beiträge: 6
Registriert: 09.02.2006, 14:48
Wohnort: Madrid

Beitragvon Kirro am 11.02.2006, 10:54

Ich habe es jetzt mit einer while (true) -schleife gelöst

danke an alle

gruß
kirro
Kirro
 
Beiträge: 561
Registriert: 26.04.2004, 15:41
Wohnort: Oldenburg



Ähnliche Themen


Zurück zu Artikel Softwareprogrammierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste