€: Das ist jetzt meine ersatz Signatur für C++ Scripte.
Hallo leute,
heute gg 0 Uhr (Dienstag, 17.08.2010) habe ich es geschafft mit meinen bisherigen Kentnissen diesen "n00by" Taschenrechner zu coden.
Angefangen habe ich gestern gegen 20 Uhr mit C++
Das Script ist simpel gehalten, und ja ich könnte einiges besser machen, aber so weit so gut
hier das script:
Taschenrechner
#include<iostream>
#include<string>
using namespace std;
int main()
{//Schleifen Rechner
int Zahl1;
int Zahl2;
int Rechenart;
cout<<"Schleifen Rechner, simuliere * und /\n\n";
cout<<"Gib eine Zahl ein.\n";
cin>>Zahl1;
cout<<"Nun eine weitere.\n";
cin>>Zahl2;
cout<<"Sage mir doch bitte nun, welche Rechenart du willst.\n1 = +\n2 = -\n3 = /\n4 = *\n";
cin>>Rechenart;
switch(Rechenart)
{
case 1:
cout<<"Du hast + genommen.\n";
cout<<"Dein Ergebnis ist: "<<Zahl1+Zahl2<<"\n";
break;
case 2:
cout<<"Du hast - genommen.\n";
cout<<"Dein Ergebnis ist: "<<Zahl1-Zahl2<<"\n";
break;
case 3:
cout<<"Du hast / genommen.\n";
{
int zw = Zahl1;
int Ergebnis = 0;
while (zw-Zahl2>=1)
{
zw = zw-Zahl2;
Ergebnis = Ergebnis + 1;
}
cout<<"Dein Ergebnis ist: "<<Ergebnis<<"\n";
}
break;
case 4:
cout<<"Du hast * genommen.\n";
{
int Ergebnis = Zahl1;
for (int zw = 0; zw+1<Zahl2;zw=zw + 1)
{
Ergebnis = Ergebnis + Zahl1;
}
cout<<"Dein Ergebnis ist: "<<Ergebnis<<"\n";
}
break;
}
system("pause");
}
Alles anzeigen
Jetzt wundern sich ein paar das ich nicht * oder / genommen habe, aber die Aufgabe war wie folgt:
Deine Aufgabe ist, mit Hilfe einer Schleife und den operator+ sowie dem operator- die beiden Operatoren * und / zu simulieren. Der User gibt 2 Zahlen ein und das Programm multipliziert sie und dividiert sie nur mit Hilfe von + und -. by http://tutorial.schornboeck.net
Taschenrechner mit Funcs
#include<iostream>
#include<string>
using namespace std;
int Plus(int, int);
int Minus(int, int);
int Mal(int, int);
int Geteilt(int, int);
int main()
{
int Zahl1;
int Zahl2;
int Rechenart;
cout<<"Schleifen Rechner, simuliere * und /\n\n";
cout<<"Gib eine Zahl ein.\n";
cin>>Zahl1;
cout<<"Nun eine weitere.\n";
cin>>Zahl2;
cout<<"Sage mir doch bitte nun, welche Rechenart du willst.\n1 = +\n2 = -\n3 = *\n4 = /\n";
cin>>Rechenart;
switch(Rechenart)
{
case 1:
cout<<"Deine Rechenart war Plus.\n";
cout<<"Dein Ergebnis: "<<Plus(Zahl1, Zahl2)<<"\n";
break;
case 2:
cout<<"Deine Rechenart war Minus.\n";
cout<<"Dein Ergebnis: "<<Minus(Zahl1, Zahl2)<<"\n";
break;
case 4:
cout<<"Deine Rechenart war Geteilt.\n";
cout<<"Dein Ergebnis: "<<Geteilt(Zahl1, Zahl2)<<"\n";
break;
case 3:
cout<<"Deine Rechenart war Mal.\n";
cout<<"Dein Ergebnis: "<<Mal(Zahl1, Zahl2)<<"\n";
break;
}
system("pause");
}
int Plus(int ez, int zz)
{
return ez + zz;
}
int Minus(int ez, int zz)
{
return ez - zz;
}
int Mal(int ez, int zz)
{
int Ergebnis = ez;
for (int zw = 0; zw+1<zz;zw=zw + 1)
{
Ergebnis = Ergebnis + ez;
}
return Ergebnis;
}
int Geteilt(int ez, int zz)
{
int zw = ez;
int Ergebnis = 0;
while (zw-zz>=1)
{
zw = zw-zz;
Ergebnis = Ergebnis + 1;
}
return Ergebnis + 1;
}
Alles anzeigen
So, und heute habe ich um meine Kentnisse zu fördern folgendes gemacht:
Tic Tac Toe
#include<iostream>
#include<string>
using namespace std;
char Char[9] = {' ',' ',' ',' ',' ',' ',' ',' ',' '};
int WerteVar[9] = {0,0,0,0,0,0,0,0,0};
void DrawTicTacToe();
void DrawTicTacToeField();
void BerechnungGewinn();
int Gewonnen = 0;
int AlreadyTaken[9] = {0,0,0,0,0,0,0,0,0};
int main()
{
char Zug = 'O';
int Feld = 0;
int Ausgabe = 0;
char TicTacToe;
cout<<"Wilkommen bei Tic Tac Toe.\n";
cout<<"O beginnt\n";
while (1)
{
BerechnungGewinn();
if (Gewonnen == 1 || Gewonnen == 2)
{
return 0;
}
cout<<"\nWas willst du tun ?\n\n";
cout<<"1 um einen Stein zu platzieren\n\n";
cout<<"2 um das Spielfeld mit Steinsetzungs Nummern anzeigen zu lassen\n\n";
cout<<"3 um das Spielfeld mit Steinen anzeigen zu lassen\n\n";
cout<<"4 um es zu beenden\n\n";
cin>>Ausgabe;
switch (Ausgabe)
{
case 1:
cout<<"\n";
cout<<"Welches Feld?\n\n";
cin>>Feld;
cout<<"\n";
if (Feld<=9 && Feld>=1)
{
if (AlreadyTaken[Feld-1] != 0)
{
cout<<"Error\n";
cout<<"Feld wurde bereits benutzt.\n\n";
}
else
{
AlreadyTaken[Feld-1] = 1;
Char[Feld-1] = Zug;
cout<<"\n\n";
DrawTicTacToeField();
switch (Zug)
{
case 'O':
Zug = 'X';
WerteVar[Feld-1] = 1;
cout<<"X ist am Zug.\n";
break;
case 'X':
Zug = 'O';
WerteVar[Feld-1] = 2;
cout<<"O ist am Zug.\n";
break;
}
}
}
else
{
cout<<"Error\n";
cout<<"Ausserhalb von 0-9.\n\n";
}
break;
case 2:
DrawTicTacToe();
break;
case 3:
DrawTicTacToeField();
break;
case 4:
return 0;
break;
}
}
system("pause");
}
void DrawTicTacToe()
{
cout<<" =====\n";//Line 1
cout<<"|1|2|3|\n";
cout<<" =====\n";//Line 1
cout<<"|4|5|6|\n";
cout<<" =====\n";//Line 1
cout<<"|7|8|9|\n";
cout<<" =====\n";//Line 1
}
void DrawTicTacToeField()
{
cout<<" =====\n";//Line 1
cout<<"|"<<Char[0]<<"|"<<Char[1]<<"|"<<Char[2]<<"|\n";
cout<<" =====\n";//Line 1
cout<<"|"<<Char[3]<<"|"<<Char[4]<<"|"<<Char[5]<<"|\n";
cout<<" =====\n";//Line 1
cout<<"|"<<Char[6]<<"|"<<Char[7]<<"|"<<Char[8]<<"|\n";
cout<<" =====\n";//Line 1
}
void BerechnungGewinn()
{
//Waagerecht
if (Char[0] == 'O' && Char[1] == 'O' && Char[2] == 'O')
{
cout<<"Sieg in der ersten Reihe, waagerecht, von O.\n";
system("pause");
Gewonnen = 1;
}
if (Char[0] == 'X' && Char[1] == 'X' && Char[2] == 'X')
{
cout<<"Sieg in der ersten Reihe, waagerecht, von X.\n";
system("pause");
Gewonnen = 2;
}
if (Char[3] == 'O' && Char[4] == 'O' && Char[5] == 'O')
{
cout<<"Sieg in der zweiten Reihe, waagerecht, von O.\n";
system("pause");
Gewonnen = 1;
}
if (Char[3] == 'X' && Char[4] == 'X' && Char[5] == 'X')
{
cout<<"Sieg in der zweiten Reihe, waagerecht, von X.\n";
system("pause");
Gewonnen = 2;
}
if (Char[6] == 'O' && Char[7] == 'O' && Char[8] == 'O')
{
cout<<"Sieg in der dritten Reihe, waagerecht, von O.\n";
system("pause");
Gewonnen = 1;
}
if (Char[6] == 'X' && Char[7] == 'X' && Char[8] == 'X')
{
cout<<"Sieg in der dritten Reihe, waagerecht, von X.\n";
system("pause");
Gewonnen = 2;
}
//Waagerecht endet
//Senkrecht
if (Char[0] == 'O' && Char[3] == 'O' && Char[6] == 'O')
{
cout<<"Sieg in der ersten Reihe, senkrecht, von O.\n";
system("pause");
Gewonnen = 1;
}
if (Char[0] == 'X' && Char[3] == 'X' && Char[6] == 'X')
{
cout<<"Sieg in der ersten Reihe, senkrecht, von X.\n";
system("pause");
Gewonnen = 2;
}
if (Char[1] == 'O' && Char[4] == 'O' && Char[7] == 'O')
{
cout<<"Sieg in der zweiten Reihe, senkrecht, von O.\n";
system("pause");
Gewonnen = 1;
}
if (Char[1] == 'X' && Char[4] == 'X' && Char[7] == 'X')
{
cout<<"Sieg in der zweiten Reihe, senkrecht, von X.\n";
system("pause");
Gewonnen = 2;
}
if (Char[2] == 'O' && Char[5] == 'O' && Char[8] == 'O')
{
cout<<"Sieg in der dritten Reihe, senkrecht, von O.\n";
system("pause");
Gewonnen = 1;
}
if (Char[2] == 'X' && Char[5] == 'X' && Char[8] == 'X')
{
cout<<"Sieg in der dritten Reihe, senkrecht, von X.\n";
system("pause");
Gewonnen = 2;
}
//Senkrecht end
//Diagonal
if (Char[0] == 'O' && Char[4] == 'O' && Char[8] == 'O')
{
cout<<"Sieg in der diagonalen Reihe, links oben nach rechts unten, von O.\n";
system("pause");
Gewonnen = 1;
}
if (Char[0] == 'X' && Char[4] == 'X' && Char[8] == 'X')
{
cout<<"Sieg in der diagonalen Reihe, links oben nach rechts unten, von X.\n";
system("pause");
Gewonnen = 2;
}
if (Char[2] == 'O' && Char[4] == 'O' && Char[6] == 'O')
{
cout<<"Sieg in der diagonalen Reihe, rechts oben nach links unten, von O.\n";
system("pause");
Gewonnen = 1;
}
if (Char[2] == 'X' && Char[4] == 'X' && Char[6) == 'X')
{
cout<<"Sieg in der diagonalen Reihe, links oben nach rechts unten, von X.\n";
system("pause");
Gewonnen = 2;
}
}
Alles anzeigen
So und nach langer Zeit ein Update für mein Projekt in C++, der Satz des Pythagoras.
Kurze Erläuterung wie folgt:
Entweder man hat die beiden Katheten, oder man hat eine Hypothenuse und eine Kathete.
Hier der Code + Beispiel
Satz des Pythagoras
#include "math.h"
enum Gegeben
{
HK = 0, KK = 1
}PTyp;
double Pythagoras(double Seite1, double Seite2, Gegeben PTyp = HK);
//Seite 1 ist eine Kathete
//Seite 2 ist entweder eine Kathete oder eine Hypothenuse
double Pythagoras(double Seite1, double Seite2, Gegeben PTyp)
{
if (Seite1 == 0 || Seite2 == 0 || Seite1 < 0 || Seite2 < 0)
{
return 0;
}
else
{
switch (PTyp)
{
case 0:
{
if (Seite1 < Seite2 || Seite1 == Seite2)
{
return sqrt((Seite1 * Seite1)+(Seite2 * Seite2));
}
else if(Seite1 > Seite2)
{
return sqrt((Seite1*Seite1)-(Seite2*Seite2));
}
else
{
return 0;
}
break;
}
case 1:
{
return sqrt((Seite1 * Seite1) + (Seite2 * Seite2));
break;
}
}
}
}
Alles anzeigen
Der 2te Code für das Beispiel in der .rar
[code
]#include "Pythagoras.cpp"
#include <iostream>
using namespace std;
int main()
{
double A = 0, B = 0;
cout<<"Pythagoras von Katheten."<<endl;
cout<<"Bitte gib 2 Katheten ein."<<endl;
cout<<"A: ";
cin>>A;
if (A == 0 A < 0)
{
cout<<"Fehler: A <= 0"<<endl;
cout<<system("pause");
return 0;
}
cout<<"B: ";
cin>>B;
if (B == 0 B < 0)
{
cout<<"Fehler, B <= 0"<<endl;
cout<<system("pause");
return 0;
}
cout<<endl<<"Ausgabe Pythagoras: "<<Pythagoras(A,B,KK)<<endl<<endl;
system("pause");
return 0;
}
[/code]
Die .exen sind in den .rar's im Anhang