PHP Forum - Coding Board

Programmierung => Code Schnipsel => Thema gestartet von: Kybernetik am Februar 07, 2009, 12:51:43



Titel: First C++ Programm
Beitrag von: Kybernetik am Februar 07, 2009, 12:51:43
Code:

[COLOR=Red]Hab gestern angefangen und hab nun ein bisschen intepretiert,
macht mal paar Kommentare was man in diesen kleine Anwendungen beachten sollte[/COLOR] :D:D

/*Calc Möglichkeiten

+    Addieren
-    Subtrahieren
*    Multiplizieren
/    Dividieren

*/

#include<iostream>
using namespace std;

//vari.
int main()
{
int zahl1;
int zahl2;
int calc;

//in.out.put.
cout<<&quot;Der Konsolen Kalkulator(integer)\n\n&quot;
&quot;Bitte geben sie die erste Zahl an\n&quot;;
cin>>zahl1;
cout<<&quot;Tragen Sie nun die zweite Zahl ein\n&quot;;
cin>>zahl2;
cout<<&quot;Auswahl des Operator\n&quot;
&quot;1=Add,2=Sub,3=Mult,4=Div\n&quot;;
cin>>calc;

//if.else
if(calc==1)
{
cout<<zahl1<<&quot; + &quot;<<zahl2<<&quot; ergibt &quot;<<zahl1+zahl2<<&quot;\n&quot;;
}

if(calc==2)
{
cout<<zahl1<<&quot; - &quot;<<zahl2<<&quot; ergibt &quot;<<zahl1-zahl2<<&quot;\n&quot;;
}

if(calc==3)
{
cout<<zahl1<<&quot; * &quot;<<zahl2<<&quot; ergibt &quot;<<zahl1*zahl2<<&quot;\n&quot;;
}

if(calc==4)
{
cout<<zahl1<<&quot; / &quot;<<zahl2<<&quot; egibt &quot;<<zahl1/zahl2<<&quot;\n&quot;;
}

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

}    



Titel: First C++ Programm
Beitrag von: CodeDown am Februar 07, 2009, 11:20:37
Methode 4 würd ich so machen:

Code:

if(calc==4)
   {
   cout << zahl1 << &quot; / &quot; << zahl2 << &quot; egibt &quot; << double (zahl1) / zahl2 << endl;
   //endl steht für eine neue Zeile.. &quot;\n&quot; stimmt aber auch.
   }


Was hab ich gemacht?
Ich habe zahl1 in ein double (Kommazahl) umgewandelt.

Wozu?
Wenn jetzt jemand 10/3 rechnet kommt wegen integer 3 raus, da er nur mit ganzen Zahlen rechnet.
Wenn er jetzt eine Zahl in Double umwandelt, wird gleichzeitig die andere auch in ein Double umgwandelt, weil Double grö?er als Integer ist.

Ergebnis: 10.33333..


Titel: First C++ Programm
Beitrag von: fred777 am Februar 07, 2009, 01:36:39
Jop, ganz gut für den Anfang, ich hätte jetzt auch double genommen bei Rechenoperationen


Titel: First C++ Programm
Beitrag von: Kybernetik am Februar 07, 2009, 10:24:13
danke :) werde habs noch nich gelernt


Titel: First C++ Programm
Beitrag von: SQL am Februar 09, 2009, 04:51:10
yo für 1. versuch net schlecht xD jeder hat ma klein angefang... weiterhin viel erfolg ;)

mfg 0x53514C


Titel: First C++ Programm
Beitrag von: retarn33 am März 15, 2009, 10:12:47
sieht eigentlich ganz gut aus blos bei die Division stimmt nicht so
wenn man 11:5 rechnet kommt 2 heraus
int : int  = int
double :int = double

Mach einfach das was oben gepostet wurde hin.

Was ich dir noch empfehlen kann ist die Videotutorial section da gibts C++ von V2B da wird das spitze erklärt!


Titel: First C++ Programm
Beitrag von: slimline am März 17, 2009, 07:25:31
Ich würde meinen Code einrücken.
Bei grö?eren Anwendungen kann das ganz schön unübersichtlich werden.
slimline


Titel: First C++ Programm
Beitrag von: Kybernetik am Juni 26, 2009, 08:07:47
Wollte nen Taschenrechner vorkurzem für ein Mini LowWettbewerb bei FH schreiben doch nun kam ich zu spät :D

Nun hab ich mal mein erstes Programm hier im Thread gesehen
und hatte Lust die beiden zuvergleichen =-0=-0

main_32.cpp
Code:

#include &quot;function.h&quot;
using namespace std;

int main (int argc, char **argv)
{
double one,two,result;
char opt,end=1;

while(end)
{
message();
if(!(cin>>opt)) {
cerr << &quot;\n\t Fehler bei der Eingabe !&quot;;
return 1;
}
else
{
opt_scan(opt);
}

cout <<&quot;\t Erste Zahl: &quot;;
if(!(cin>>one)) {
cerr << &quot;\n\t Fehler bei der Eingabe !&quot;;
return 1;
}

cout <<&quot;\t Zweite Zahl: &quot;;
if(!(cin>>two)) {
cerr << &quot;\n\t Fehler bei der Eingabe !&quot;;
return 1;
}

switch(opt)
{
case '+':
result = dAddition(one,two);
cout << &quot;\t Summe: &quot; <<result;
break;
case '-':
result = dSubtraktion(one,two);
cout << &quot;\t Differenz: &quot; <<result;
break;
case '*':
result = dMultiplikation(one,two);
cout << &quot;\t Produkt: &quot; <<result;
break;
case '/':
null_suche(two);
result = dDivision(one,two);
cout << &quot;\t Quotient: &quot; <<result;
break;
case 'l':
null_suche(two);
result = dLogarithmus(one,two);
cout << &quot;\t Potenz: &quot; <<result;
break;
}
cin.get(); cin.get();
system(&quot;CLS&quot;);

/*
Eine Abfrage für Retry ist sinnlos,
denn es ist einfacher den [x]Button anzuklicken :>
*/

}

return 0x0;
}



function.h
Code:


#include
#include
#include
using namespace std;

//**************************************************

void message(void);
bool opt_scan(char chopt);
double dAddition(double done, double dtwo);
double dSubtraktion(double done, double dtwo);
double dMultiplikation(double done, double dtwo);
double dDivision(double done, double dtwo);
bool null_suche(double dtwo);
double dLogarithmus(double done, double dtwo);


//**************************************************

void message()
{
cout << "\n\t Anwendung: Taschenrechner 1.00 "
"\n\t ______________________________ "
"\n\t [+] Addition "
"\n\t [-] Subtraktion "
"\n\t [*] Multiplikation "
"\n\t [/] Division "
"\n\t [l] Nat\x81rlicher Logarithmus "
"\n\t ______________________________ ";

cout << "\n\t W\x84hle die Operation: ";
}

bool opt_scan(char chopt)
{
if((chopt== '+') || (chopt== '-') || (chopt== '*') || (chopt== '/'))
{
return true;
}
else if ((chopt=='l'))
{
cout <<"\n\t Struct: Logarithmus von Zahl2 zur Basis Zahl1. \n";
return true;
}

else
{
cerr << "\t BRAiN.EXE NOT FOUNDED ! :> ";
Sleep(2000);
exit(1);
}
}

double dAddition(double done, double dtwo)
{
return done + dtwo;
}

double dSubtraktion(double done, double dtwo)
{
return done - dtwo;
}

double dMultiplikation(double done, double dtwo)
{
return done * dtwo;
}

double dDivision(double done, double dtwo)
{
return done /
dtwo;
}
bool null_suche(double dtwo)
{
if(dtwo==0)
{
cerr << "\t BRAiN.EXE NOT FOUNDED ! :> ";
Sleep(2000);
exit (2);
}
else
{
return true;
}
}

double dLogarithmus(double done, double dtwo)
{
return (log(done)/log(dtwo));
}


//**************************************************