#1 5. September 2005 HI also das Program Papa Baer Modul 1# ist fertig. Wie schon gesagt ist es NUR ene Modul ^^ Brauche eure Meinung und ich suche jemanden der alles überprüft (ob es alles richtig rechnet^^. Also es kannd as alles berechnen "das Rechteck","das Parallelogramm","das Dreieck","das Trapez","den Kreis","den Sektor"," den Quader","das Prisma","den Zylinder","die Pyramide","den Kegel","die Kugel" Code: #include <iostream> #include <cstdlib> #include<string> int main() { string figure[]={"das Rechteck","das Parallelogramm","das Dreieck","das Trapez", "den Kreis","den Sektor"," den Quader","das Prisma","den Zylinder", "die Pyramide","den Kegel","die Kugel"}; int Menue1; int Menue2; int Menue3; cout<<"******************************************************************************"<<endl; cout<<"* Papa_Baer Modul 1# (Geometrie) *"<<endl; cout<<"******************************************************************************"<<endl; cout<<"[0]Beenden "<<endl; cout<<"[1]Rechteck"<<endl; cout<<"[2]Parallelogramm"<<endl; cout<<"[3]Dreieck"<<endl; cout<<"[4]Trapez"<<endl; cout<<"[5]Kreis: Flaecheninhalt"<<endl; cout<<"[6]Kreisausschnit (Sektor)"<<endl; cout<<"______________________________________________________________________________"<<endl; cout<<"[7]Quader"<<endl; cout<<"[8]Prisma(gerades)"<<endl; cout<<"[9]Zylinder"<<endl; cout<<"[10]Pyramide"<<endl; cout<<"[11]Kegel"<<endl; cout<<"[12]Kugel"<<endl; cin>>Menue1; if(Menue1==0) return 0; cout<<Menue1<<endl; cout<<"Sie haben "<<figure[Menue1-1]<<" gewaehlt."<<endl; switch(Menue1) { { case 1: cout<<"Formeln"<<endl; cout<<"Flaecheninhalt:A=a*b"<<endl; cout<<"Umfang: U=a+a+b+b"<<endl; } cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; float a; float b; switch(Menue2) { case 1: cout<<"Waehlen Sie:"<<endl; cout<<"[1]Flaecheninhalt: A=a*b"<<endl; cout<<"[2]Umfang: U=a+a+b+b"<<endl; } cin>>Menue3; { cout<<"Bitte geben Sie den Faktor a an."<<endl; cin>>a; cout<<"Bitte geben Sie den Faktor b an."<<endl; cin>>b; } switch(Menue3) { case 1: cout<<"Der Flaecheninhalt ist: "<<(a*b)<<endl; break; case 2: cout<<"Der Umfang ist: "<<(a+a+b+b)<<endl; break; } } switch(Menue1) { { case 2: cout<<"Formeln"<<endl; cout<<"Flaecheninhalt:F=g*h"<<endl; cout<<"Umfang: U=a+a+b+b"<<endl; } { cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; } float a; float b; float h; switch(Menue2) { case 1: cout<<"Waehlen Sie:"<<endl; cout<<"[1]Flaecheninhalt:A=g*h"<<endl; cout<<"[2]Umfang:U=a+a+b+b"<<endl; } cin>>Menue3; { cout<<"Bitte geben Sie den Faktor a an."<<endl; cin>>a; cout<<"Bitte geben Sie den Faktor b an."<<endl; cin>>b; } switch(Menue3) { case 1: cout<<"Bitte geben Sie die Hoehe an"<<endl; cin>>h; cout<<"Die Flaeche ist: "<<(a*b*h)<<endl; break; } switch(Menue3) { case 2: cout<<"Der Umfang ist: "<<(a+a+b+b)<<endl; break; } } switch(Menue1) { { case 3: cout<<"Formeln"<<endl; cout<<"Flaecheninhalt:A=g*h/2"<<endl; cout<<"Umfang: U=a+b+c"<<endl; } { cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; } float a; float b; float c; float h; const int zwei=2; switch(Menue2) { case 1: cout<<"Waehlen Sie:"<<endl; cout<<"[1]Flaecheninhalt:A=g*h/2"<<endl; cout<<"[2]Umfang:U=a+b+c"<<endl; } cin>>Menue3; { cout<<"Bitte geben Sie den Faktor a an."<<endl; cin>>a; cout<<"Bitte geben Sie den Faktor b an."<<endl; cin>>b; } switch(Menue3) { case 1: cout<<"Bitte geben Sie die Hoehe an."<<endl; cin>>h; cout<<"Die Flaeche ist: "<<(a*b*h/zwei)<<endl; break; } switch(Menue3) { case 2: cout<<"Bitte geben Sie c an."<<endl; cout<<"Der Umfang ist: "<<(a+b+c)<<endl; break; } } switch(Menue1) { { case 4: cout<<"Formeln"<<endl; cout<<"Flaecheninhalt:A=a+c/2*h"<<endl; cout<<"Umfang: U=a+b+c+d"<<endl; } { cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; } float a; float b; float c; float d; float h; const int zwei=2; switch(Menue2) case 1: { cout<<"Waehlen Sie:"<<endl; cout<<"[1]Flaecheninhalt:A=a+c/2*h"<<endl; cout<<"[2]Umfang:U=U=a+b+c+d"<<endl; } cin>>Menue3; { cout<<"Bitte geben Sie den Faktor a an."<<endl; cin>>a; } switch(Menue3) { case 1: cout<<"Bitte geben Sie Faktor c an"<<endl; cin>>c; cout<<"Bitte geben Sie die Höhe an"<<endl; cin>>h; cout<<"Die Flaeche ist: "<<(a+c/2*h)<<endl; break; } switch(Menue3) { case 2: cout<<"Bitte geben Sie Faktor c an"<<endl; cin>>c; cout<<"Bitte geben Sie Faktor d an"<<endl; cin>>d; cout<<"Der Umfang ist: "<<(a+a+b+b)<<endl; break; } } switch(Menue1) { { case 5: cout<<"Formeln"<<endl; cout<<"Flaecheninhalt:A=Pi*r*r=Pi*d*d/4"<<endl; cout<<"Umfang:U=Pi*d=2*Pi*r"<<endl; } { cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; } float r; float d; const float Pi=3.125; switch(Menue2) { case 1: cout<<"Waehlen Sie:"<<endl; cout<<"[1]Flaecheninhalt:A=Pi*r*r=Pi*d*d/4"<<endl; cout<<"[2]Umfang:U=Pi*d=2*Pi*r"<<endl; } cin>>Menue3; switch(Menue3) { case 1: cout<<"Bitte geben Sie den Radius an."<<endl; cin>>r; cout<<"Die Flaeche ist: "<<(Pi*r*r)<<endl; break; } switch(Menue3) { case 2: cout<<"Bitte geben Sie den Durchmesser an."<<endl; cin>>d; cout<<"Der Umfang ist: "<<(Pi*d)<<endl; break; } } switch(Menue1) { { case 6: cout<<"Formeln"<<endl; cout<<"Kreisausschnitt:A=Pi*r*r*Alpha/360*360"<<endl; cout<<"Umfang:U=Pi*r*r*Alpha/180*180"<<endl; } { cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; } float r; float Alpha; const float Pi=3.125; switch(Menue2) { case 1: cout<<"Waehlen Sie:"<<endl; cout<<"[1]Flaecheninhalt:A=Pi*r*r*Alpha/360*360"<<endl; cout<<"[2]Umfang:U=Pi*r*r*Alpha/180"<<endl; } cin>>Menue3; { cout<<"Bitte geben Sie den Radius an."<<endl; cin>>r; cout<<"Bitte geben Sie Alpha an."<<endl; cin>>Alpha; } switch(Menue3) { case 1: cout<<"Die Flaeche ist: "<<(Pi*r*r*Alpha/360*360)<<endl; break; } switch(Menue3) { case 2: cout<<"Der Umfang ist: "<<(Pi*r*r*Alpha/180)<<endl; break; } } switch(Menue1) { { case 7: cout<<"Formeln"<<endl; cout<<"Volumen: V= a*b*c"<<endl; cout<<"Oberflaeche: O=2ab+2ac+2bc"<<endl; } { cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; } float a; float b; float c; { case 1: cout<<"Waehlen Sie:"<<endl; cout<<"[1]Volumen: V=a*b*c"<<endl; cout<<"[2]Oberflaeche: O=2ab+2ac+2bc"<<endl; } cin>>Menue3; { cout<<"Bitte geben Sie Faktor a an."<<endl; cin>>a; cout<<"Bitte geben Sie Faktor b an."<<endl; cin>>b; cout<<"Bitte geben Sie Faktor c an."<<endl; cin>>c; } switch(Menue3) { case 1: cout<<"Das Volumen ist: "<<(a*b*c)<<endl; break; } switch(Menue3) { case 2: cout<<"Das Volumen ist: "<<(a*b+a*b+a*c+a*c+b*c+b*c)<<endl; break; } } switch(Menue1) { { case 8: cout<<"Formeln"<<endl; cout<<"Volumen: V=G*h"<<endl; cout<<"Oberflaeche: O=2G+M"<<endl; } { cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; } float g; float h; float u; { case 1: cout<<"Waehlen Sie:"<<endl; cout<<"[1]Volumen: V=G*h"<<endl; cout<<"[2]Oberflaeche: O=2G+M"<<endl; } cin>>Menue3; { cout<<"Grundfläche "<<endl; cout<<"____________________________"<<endl; cout<<"Bitte geben Sie Faktor g an."<<endl; cin>>g; cout<<"Bitte geben Sie Faktor h an."<<endl; cin>>h; cout<<"Mantelfläche"<<endl; cout<<"___________________________"<<endl; cout<<"Bitte geben Sie Faktor u an."<<endl; cin>>u; } switch(Menue3) { case 1: cout<<"Das Volumen ist: "<<(g*h/2*(u*h))<<endl; break; } switch(Menue3) { case 2: cout<<"Das Oberflaeche ist: "<<(g*h/2*g*h/2+u*h)<<endl; break; } } switch(Menue1) { { case 9: cout<<"Formeln"<<endl; cout<<"Volumen: V=Pi*r*r*h"<<endl; cout<<"Oberflaeche: O=M+2G=2*Pi*r*h+2*Pi*r*r"<<endl; } { cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; } float h; float r; const float Pi=3.125; switch(Menue2) { case 1: cout<<"Waehlen Sie:"<<endl; cout<<"[1]Volumen: V=Pi*r*r*h"<<endl; cout<<"[2]Oberflaeche: O=M+2G=2*Pi*r*h+2*Pi*r*r"<<endl; } cin>>Menue3; { cout<<"Bitte geben Sie Faktor h an."<<endl; cin>>h; cout<<"Bitte geben Sie Faktor r an."<<endl; cin>>r; } switch(Menue3) { case 1: cout<<"Das Volumen ist: "<<(Pi*r*r*h)<<endl; break; } switch(Menue3) { case 2: cout<<"Das Oberflaeche ist: "<<(2*Pi*r*h+2*Pi*r*r)<<endl; break; } } switch(Menue1) { { case 10: cout<<"Formeln"<<endl; cout<<"Volumen: V=1/3*G*h"<<endl; cout<<"Oberflaeche: O=G+M"<<endl; } { cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; } float a; float h; float hs; { case 1: cout<<"Waehlen Sie:"<<endl; cout<<"[1]Volumen: V=1/3*G*h"<<endl; cout<<"[2]Oberflaeche: O=G+M"<<endl; } cin>>Menue3; { cout<<"Bitte geben Sie Faktor a an."<<endl; cin>>a; cout<<"Bitte geben Sie Faktor h an."<<endl; cin>>h; cout<<"Bitte geben Sie Faktor hs an."<<endl; cin>>hs; } switch(Menue3) { case 1: cout<<"Das Volumen ist: "<<(1/3*a*a*h)<<endl; break; } switch(Menue3) { case 2: cout<<"Das Oberflaeche ist: "<<(a*a+a*hs/2)<<endl; break; } } switch(Menue1) { { case 11: cout<<"Formeln"<<endl; cout<<"Volumen: V=1/3G*h=1/3*Pi*r*r*h"<<endl; cout<<"Oberflaeche: O=G+M=Pe*r*r+Pi*r*S"<<endl; cout<<"Mantelflaeche: M=Pi*r*s"<<endl; } { cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; } float r; float h; float s; const float Pi=3.125; switch(Menue2) { case 1: cout<<"Waehlen Sie:"<<endl; cout<<"[1]Volumen: V=1/3G*h=1/3*Pi*r*r*h"<<endl; cout<<"[2]Oberflaeche: O=G+M=Pi*r*r+Pi*r*S"<<endl; cout<<"[3]Mantelflaeche: M=Pi*r*s"<<endl; } cin>>Menue3; { cout<<"Bitte geben Sie Faktor r an."<<endl; cin>>r; cout<<"Bitte geben Sie Faktor h an."<<endl; cin>>h; cout<<"Bitte geben Sie Faktor s an."<<endl; cin>>s; } switch(Menue3) { case 1: cout<<"Das Volumen ist: "<<(1/3*Pi*r*r*h)<<endl; break; } switch(Menue3) { case 2: cout<<"Das Oberflaeche ist: "<<(Pi*r*r+Pi*r*s)<<endl; break; } switch(Menue3) { case 3: cout<<"Die Mantelflaeche ist: "<<(Pi*r*s)<<endl; break; } } switch(Menue1) { { case 12: cout<<"Formeln"<<endl; cout<<"Volumen: V=4/3*Pi*r*r*r"<<endl; cout<<"Oberflaeche: O=4*Pi*r*r"<<endl; } { cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl; cin>>Menue2; if(Menue2==0) return 0; } float r; const float Pi=3.125; switch(Menue2) { case 1: cout<<"Waehlen Sie:"<<endl; cout<<"[1]Volumen: V=4/3*Pi*r*r*r"<<endl; cout<<"[2]Oberflaeche: O=4*Pi*r*r"<<endl; } cin>>Menue3; { cout<<"Bitte geben Sie Faktor r an."<<endl; cin>>r; } switch(Menue3) { case 1: cout<<"Das Volumen ist: "<<(4/3*Pi*r*r*r)<<endl; break; } switch(Menue3) { case 2: cout<<"Das Volumen ist: "<<(4*Pi*r*r)<<endl; break; } }; std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); return 0; } + Multi-Zitat Zitieren
#2 5. September 2005 ich find das gut, ^^ kann ich weng gebrauchen, für die schule, thx, hab dir sogar ne 10 gegeben... + Multi-Zitat Zitieren
#4 5. September 2005 aber ich glaub beim kegel rechnen is ein fehler, da rechnet er immer null aus ?( schau mal nach ob du das hinbekommst, ^^ aber trotzdem geil + Multi-Zitat Zitieren
#5 5. September 2005 was soll das denn? habs schnell compiliert, aber nicht weiter getestet. Sieht aber okay aus. MfG + Multi-Zitat Zitieren
#6 5. September 2005 Für den Anfang erstmal ganz nett. Ich glaube die Formeln sind richtig. Es sind nur triviale Kleinigkeiten in deinem Quelltext wie z.B. ind Zeile 43,72 oder 370 a+a+b+b warum nicht 2a + 2b?? Besser zu lesen und wenn du je studierst (oser tust du das schon?) dann musst du so weit zusammenfassen wir du nur kannst. Auserdem würde ich PI doch einwenig genauer definieren 3.141592654 sollte nicht zu viel verlangt sein. Frage zwischen durch(ich bin mir nicht sicher) hast du das Programm mal getestet?? Du definierst PI nur in Menue5 wie soll dann der Rest der Funktion bzw. switch-Anweisungen PI kennen oder ist C++.NET (darin ist das doch geschrieben oder?) so schlau und rettet PI in die anderen switch-Anweisungen rüber?? Ein Tipp noch viele deiner Abfragen sehen sich unheimlich ähnlich aus. Such mal unter google ein Paar Tuts über Vererbung. Verkürzt deinen Quelltext ungemein und ist deutlich modularer als dein jetziger QT. Ansonsten good work weiter so. + Multi-Zitat Zitieren
#7 6. September 2005 Also leider habe ich es noch nicht getestet. Das mit PI kann man endern. Sind eben noch viele Bugs drinne. Ich studiere noch nicht. Mache ne Ausbildung zu ITA. + Multi-Zitat Zitieren
#8 6. September 2005 Also ic habe mal dein Prog genommen und durch den Compiler gejagt. Abgesehen von den kleinen Sachen die ich schon geposted habe sind mir noch Kleinigkeiten aufgefallen wie z.B. wenn man bei der Kugel eine Sache sich berechnen lassen hat (abgesehen davon ist die berechnung so wie du sie schreibts Falsch-denke ich-) dann kann man nichts anderes erneut wählen und nach einer Eingabe terminiert das Prog. Ist nicht nur bei 12 sondern bei mehreren so. Die berechnung muss so lauten: (4*Pi*r*r*r)/3 ähmlich verhält sich das bei den anderen Formeln. Meine Befürchtung mit PI hat sich nicht bewahrtheitet es geht obwohl es nur in einer switch-Anweisung definiert wurde. (Komisch) Gruß Don + Multi-Zitat Zitieren
#9 6. September 2005 na dann ^^ welche formeln sind nun falsch? also damit ich sie koregieren kann. + Multi-Zitat Zitieren
#10 6. September 2005 Fehler in den Formeln sind bei 4/10/11/12 ,ich bin mir bei der Formel für den Kreisausschnitt nicht sicher ob sie richtig ist. Es sind immer die selben Fehler immer vermischst du die Rechengesetzte in C++ wobei du sie sehr genau beachten musst. Wie gesagt die meisten Fehler kannst du beheben in dem du den Bruch aus der Klammer heraus nimmst und ihn von "aussen" ansetzt. Bevor ich vergesse wenn man beim navigieren zu große Zahlen eintippt realisiert das dein Prog nicht und bricht ab. Auch eine Kleinigkeit die beachtet werden sollte. Ansonsten sehe ich auf Anhieb nix mehr. Jedoch würde es dir selber sehr viel mehr bringen wenn du selbst versuchst die Fehler rauszusuchen und zu korrigieren. Programmieren lernt man nur durch Programmieren. + Multi-Zitat Zitieren
#12 8. September 2005 wow echt klasse dein Modul, kann ich gut gebrauchen. (Vllt noch ein bisschen was am Design machen) 10er ist raus. mfg + Multi-Zitat Zitieren
#13 8. September 2005 Nicht alle Berechnungen gehen! leider! also wartet auf das neue. Werde es ueberarbeiten (Edit: Gross-Kleinschreibung, .... man muss hier ned alles GROSSSCHREIBEN) + Multi-Zitat Zitieren
#14 8. September 2005 Soll die neue Version MFC bzw. Window-Forms werden? Das würde sich wesentlich besser verkaufen. + Multi-Zitat Zitieren
#15 8. September 2005 WoW ! Du hast echt langeweile ! hast ne 10 von mir ! gruß MaStEr UfF + Multi-Zitat Zitieren