You are not logged in.

  • Login

Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

21

Thursday, December 7th 2006, 9:23pm

Division durch Null warum so kompliziert? Zahl1 darf bei deinem Code jeden
beliebigen Wert haben, warum dann in die if-Abfrage nehmen und zulässige
Lösungen ausschliessen? Ich habs nicht getestet - was macht dein Rechner
bei: 3/-2=? oder -3/0=?

Folgender Code ist aus einem anderen Taschenrechner:

Quoted


if(rz=='/')
{
while(zahl2==0)
{
cout << "Bei Division muss die 2.Zahl ungleich NULL sein!!!";
cout << endl << "Neue 2. Zahl: ";
cin >> zahl2;
}
}


Fortgeschrittene lassen vielleicht auch 'try - catch' auf dieses Problem los.

MfG Bcc-fan

22

Friday, December 8th 2006, 2:06pm

So jetzt ein letztes mal hab wohl zu komplieziert gedacht aber so is es jetzt einfach und funktioniert auch.


C Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include <cstdlib>
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
int exit();
double prozent1 ( double w,double p );
double prozent2 ( double g,double p );
double prozent3 ( double w,double g );
double func ( double *zahl1, double *pzahl2 );
double potenz( double a,double b );
int main()
{   
  system ( "cls" );
  double zahl1,zahl2;
  cout << "-------------------\n";
  cout << "Mein Taschenrechner\n";
  cout << "-------------------\n";
  cout << "\nWaehlen Sie aus : \n";
  cout << "(1) Addition\n";
  cout << "(2) Multiplikation\n";
  cout << "(3) Division\n";
  cout << "(4) Subtraktion\n";
  cout << "(5) Potenzrechnung\n";
  cout << "(6) Prozentrechnung\n";
  cout << "(7) Exit\n";
  switch ( getch() )
    {
    case '1':
      {
      func( &zahl1,&zahl2 );
      cout << zahl1 << " + " << zahl2 << " = " << zahl1 + zahl2 << endl;
      break;
      }      
    case '2':
      {
      func( &zahl1,&zahl2 );
      cout << zahl1 << " * " << zahl2 << " = " << zahl1 * zahl2 << endl;
      break;
      }      
      case '3':
        {
        func( &zahl1,&zahl2 );        
        if( zahl2==0 )
          {
          cout << "Teilen durch 0 unmoeglich!" << endl;
          }
        else
          cout << zahl1 << " / " << zahl2 << " = " << zahl1 / zahl2 << endl;  
        break;
        }      
      case '4':
        {
        func( &zahl1,&zahl2 );
        cout << zahl1 << " - " << zahl2 << " = " << zahl1 - zahl2 << endl;
        break;
        }      
      case '5':
        {
        system( "cls" );
        double a,b;
        cout << "Bitte geben Sie eine Zahl ein :";
        cin >> a;
        cout << "Geben Sie die Potenz an :";
        cin >> b;
        cout << "Das Ergebniss betraegt : " << potenz( a,b ) << endl;
        break;
        }
      case '6':
        {
        system( "cls" );
        cout << "Was moechten Sie Berechnen?\nWaehlen Sie aus:\n";
        cout << "(1) Grundwert [G]\n";
        cout << "(2) Prozentwert [W]\n";
        cout << "(3) Prozentsatz [p]\n";
        switch ( getch() )
          {
          case '1':
            {
            system( "cls" );
            double w,p;
            cout << "bitte geben Sie den Prozentwert W ein: ";
            cin >> w;
            cout << "bitte geben Sie den Prozentsatz p ein: ";
            cin >> p;
            cout << "G = W*100/p = " << prozent1( w,p ) << "\n";
            break;
            }
          case '2':
            {
            system( "cls" );     
            double p,g;
            cout << "bitte geben Sie den Grundwert G ein: ";
            cin >> g;
            cout << "bitte geben Sie den Prozentsatz p ein: ";
            cin >> p;
            cout << "W= G*p/100 = "<<prozent2(p,g)<<"\n";
            break;
            }
          case '3':
            {
            system( "cls" );
            double w,g;
            cout << "bitte geben Sie den Grundwert G ein: ";
            cin >>g;
            cout << "bitte geben Sie den Prozentwert W ein: ";
            cin >> w;
            cout << "p= 100*W/G = "<<prozent3(w,g)<<" %\n";
            break;
            }
          }
 
          break;
        }
      case '7':
      return 0; 
      default:
      cout << "Falsche Eingabe!\n";     
    }
  exit();
 
}
//////////////////////////////
double potenz ( double a,double b )
{
  if ( b==0 )
    return 1;
  else
    return a * potenz( a,b-1 );
}
//////////////////////////////////
double func ( double *pzahl1,double *pzahl2 )
{
  system( "cls" );
  cout << "Bitte Geben Sie die erste Zahl ein :";
  cin >> *pzahl1;
  cout << "Bitte Geben Sie die zweite Zahl ein :";
  cin >> *pzahl2;
}
////////////////////////////////////////
double prozent1 ( double w,double p )
{
  return W*100/p;
}
 
 
////////////////////////////////////////
double prozent2 ( double g,double p )
{
  return g*p/100;
}
////////////////////////////////////////
double prozent3 ( double w,double g )
{
  return 100*w/g;
}
////////////////////////////////////////
int exit()
{
  cout << "Moechten Sie das Programm Beenden?? j/n :\n";
  switch ( getch() )
    {
    case 'j' :
      return 0;
    case 'n' :
      return main();
    default :
      cout << "!Falsche Eingabe!\n";
      return exit();
    }        
}

CrazyKeks

Unregistered

23

Sunday, September 4th 2011, 12:19am

Ich will ja nicht Protzen

ich will ja nicht angeben , aber zu meinen Anfängen sah mein Rechner so aus.

#include <iostream>
using namespace std;

double Rechne(int wahl, double zahl1, double zahl2)
{
double Ergebnis;

if(wahl == 1)
{
Ergebnis = zahl1 + zahl2;

}
else if(wahl == 2)
{
Ergebnis = zahl1 - zahl2;
}
else if(wahl == 3)
{
Ergebnis = zahl1 * zahl2;
}
else if(wahl == 4)
{
Ergebnis = zahl1 / zahl2;
}
else
{
cout << "falsche Eingabe!\n";
}

return Ergebnis;

}


int main()
{
int wahl;
double n1, n2, ergebnis;

cout << "Rechenart auswaehlen!:\n" << endl
<< " 1 Adieren\n" << " 2 Subtrahieren\n" << " 3 Multiplizieren\n" << " 4 Dividieren\n";

cin >> wahl;

cout <<"\n\n";

cout << "Erste Zahl eingeben:\n";
cin >> n1;

cout << "\n\n";

cout << "Zweite Zahl eingeben:\n";
cin >> n2;

ergebnis = Rechne(wahl, n1, n2);

cout << "\n\n";

cout << ergebnis;

cin.ignore();
cin.get();


return 0;
}

24

Sunday, September 4th 2011, 12:58am

ich will ja nicht angeben , aber zu meinen Anfängen sah mein Rechner so aus.

#include <iostream>
using namespace std;

double Rechne(int wahl, double zahl1, double zahl2)
{
double Ergebnis;

if(wahl == 1)
{
Ergebnis = zahl1 + zahl2;

}
else if(wahl == 2)
{
Ergebnis = zahl1 - zahl2;
}
else if(wahl == 3)
{
Ergebnis = zahl1 * zahl2;
}
else if(wahl == 4)
{
Ergebnis = zahl1 / zahl2;
}
else
{
cout << "falsche Eingabe!\n";
}

return Ergebnis;

}


int main()
{
int wahl;
double n1, n2, ergebnis;

cout << "Rechenart auswaehlen!:\n" << endl
<< " 1 Adieren\n" << " 2 Subtrahieren\n" << " 3 Multiplizieren\n" << " 4 Dividieren\n";

cin >> wahl;

cout <<"\n\n";

cout << "Erste Zahl eingeben:\n";
cin >> n1;

cout << "\n\n";

cout << "Zweite Zahl eingeben:\n";
cin >> n2;

ergebnis = Rechne(wahl, n1, n2);

cout << "\n\n";

cout << ergebnis;

cin.ignore();
cin.get();


return 0;
}


Ich will ja nicht angeben, aber ich kann Syntax benutzen :P

C/C++ Quellcode

1
 

25

Sunday, September 4th 2011, 7:26am

Wenn schon das alte Zeug wieder ausgebuddelt wird, es gibt auch andere Varianten des Taschenrechners, die hier im Forum gezeigt werden.

26

Sunday, September 4th 2011, 9:00am

Man sind mittlerweile viele Leichenschänder unterwegs...

MfG
Check

CrazyKeks

Unregistered

27

Saturday, October 29th 2011, 10:04pm

Ich will ja nicht angeben, aber ich kann Syntax benutzen :P
Najah war der erste tag wo ich mit Pogramieren angefangen hab...

C/C++ Quellcode

1
 

Social bookmarks