Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Taschenrechner in C++ --- Quellcode Problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
21.11.2007, 19:45 Uhr
~N003
Gast


hi leutz,
ich programmiere seit einigen TAGEN in C++.Nun wollte ich mal einen taschenrechner schreiben,der addieren ,substrahieren,multiplizieren und dividieren kann.Hab den code in den compiler angegebn und versucht das Proggi zum laufen zu bringen.doch irgendwei klappts einfach nicht.Vielleicht könnte mir jemand helfen????

Hier der Quellcode:


C++:
    #include <iostream>

     using namespace std;
    
     int main()
     {  
         int ANFANG;
         int x;
         int y;
        
         char a,s,m,d;
        
         cout << "Wählen Sie eine Zahlen aus";
        
         cin >> x;
        
         cout << "Jetzt büdde die zweite Zahl oda TOT";
        
         cin >> y;
        
         cout <<"SO.Drücken Sie a für Addition s für Substraktion m für Multiplikation";
         cout <<" oder d für Division";
        
         if(cin >>"a")
        
         cout <<" Das Ergebniss ist " << x + y;
        
         else
         goto ANFANG;
        
         if(cin >> "s")
        
         cout << "  das Ergebniss ist  " << x - y;
        
         else
         goto ANFANG;
        
         if(cin >> "m")
        
         cout <<" Das Ergebniss ist    " << x * y;
        
         else
         goto ANFANG;
        
         if(cin >> "d")
        
         cout << "   Das Ergebniss ist    " << x/y;
        
         else
         goto ANFANG;
        
            
}


Dieser Post wurde am 21.11.2007 um 19:48 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.11.2007, 19:55 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi,

vergess goto ganz ganz ganz ganz ganz ganz schnell ...
für sowas gibts schleifen oder notfalls rekursion!

ansonsten musste sprungmarke mit


C++:
ANFANG:



setzen, nicht eine Variable ANFANG anlegen ...

dann wartest du bei jedem if auf die eingabe des benutzers, den du in eine konstante einlesen willst, was natürlich so nicht funktioniert.

Dann wird Ergebnis natürlich nur mit einem s geschrieben

also z.b so:


C++:
#include <iostream>

using namespace std;
    
int main()
{  
    int x;
    int y;
    char s;

    for(;;)
    {
         cout << "Geben sie die erste Zahl ein: ";
         cin >> x;
        
         cout << "Jetzt büdde die zweite Zahl: ";
         cin >> y;
        
         cout << "Geben Sie a für Addition, s für Substraktion,";
         cout << "m für Multiplikation oder d für (Ganzzahl-)Division ein: ";
         cin >> s;
        
         switch(s)
         {
         case 'a':
              {
                   cout << "Ergebnis: " << x+y << endl;
              } break;
         case 's':
              {
                   cout << "Ergebnis: " << x-y << endl;
              } break;
         case 'm':
              {
                   cout << "Ergebnis: " << x*y << endl;
              } break;
         case 'd':
              {
                   if(y != 0)
                        cout << "Ergebnis: " << x/y << endl;
              } break;
         }
    }
}


--
class God : public ChuckNorris { };

Dieser Post wurde am 21.11.2007 um 19:56 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.11.2007, 20:13 Uhr
öni



Wer bringt einem am Anfang des programmierens goto bei?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.11.2007, 20:19 Uhr
0xdeadbeef
Gott
(Operator)


Du wärst erstaunt, wie viele Professoren und Lehrer programmiertechnisch in den 60er Jahren hängengeblieben sind.

Teilweise ist es echt schwierig, den Leuten beizubiegen, warum sowas in modernen Sprachen nicht nur unschön, sondern geradezu gefährlich ist.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.11.2007, 21:33 Uhr
~N003
Gast


@FloSoft: danke hast mir sehr weitergeholfen.hoffe dass chi mal genauso gut programmireren kann wie ein "richtig guteer".dass ergebniss mit einem s geschrieben wird weuß ich jetzt auch,aslo noch mal danke XD.
@öni:
irgendein unsymphatischer Professor,der nicht will,dass ich c++ erlern ^^

thx at all
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
22.11.2007, 04:23 Uhr
Hans
Library Walker
(Operator)



Zitat von öni:
Wer bringt einem am Anfang des programmierens goto bei?

Hi,
ich kann mich noch gut dran erinnern, dass das erste Programm, das ich gesehen (und nach etwas Nachforschung auch verstanden) habe, dieses sinnfreie Basic-programm war:

Code:
10 print"Hallo"
20 goto 10


Allerdings sollte man goto heutzutage wirklich nur noch verwenden, um zu zeigen, wie man etwas NICHT macht.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
22.11.2007, 10:34 Uhr
Bruder Leif
dances with systems
(Operator)



Zitat von Hans:
Allerdings sollte man goto heutzutage wirklich nur noch verwenden, um zu zeigen, wie man etwas NICHT macht.
Hans



Anfaenger sollten goto meiden, weil es zu schlechtem Stil verleitet und unlesbare Programme erzeugt.
Fortgeschrittene sollten goto meiden, weil es zu schlechtem Stil verleitet und unlesbare Programme erzeugt.
Profis duerfen goto verwenden, weil sie verstehen, an welchen Stellen und in welchen Faellen es Sinn macht, sollten aber darauf verzichten, um Anfaenger und Fortgeschrittene nicht zu verwirren oder zu Dummheiten zu verleiten
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.

Dieser Post wurde am 22.11.2007 um 10:35 Uhr von Bruder Leif editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
22.11.2007, 11:55 Uhr
RedEagle



Da fällt mir folgendes Test-programm ein, dass ich mal geschrieben habe:

C++:
typedef int(*fnc)(int,int);

int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
int div(int a, int b);

int main()
{
fnc op[4];
op[0] = div;
op[1] = add;
op[2] = sub;
op[3] = mul;

int choise,a,b;
printf("1-add\n2-sub\n3-mul\n4-div\n");
scanf("%i %i %i",&choise,&a,&b);

int c = op[choise%4](a,b);

printf("erg=%i\n",c);

return 0;
}


auch ohne goto,...
--
MFG RedEagle

Dieser Post wurde am 22.11.2007 um 11:58 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: