Zeigt zu viel im Fenster.



  • Hi also der zeigt mir viel zu viel an. Nachdem der Zeile "cin>>Menue1;" zeigt er mir dann alles an. Ahja noch was wie lautet der Befehl um Speicher zu reservieren der dann auch Kommerzahlen nehmen kann alsod as cih auch sowas wie 1,56 eingeben kann und es sollen auch negatieve Zahlen gehen. DANKE FÜR HILFE!

    #include <iostream>
    #include <stdlib.h>
    
          int main()
    {
          int Menue1;
    
          const int m1=1;
          const int m2=2;
          const int m3=3;
          const int m4=4;
          const int m5=5;
          const int m6=6;
          const int m7=7;
          const int m8=8;
          const int m9=9;
          const int m10=10;
          const int m11=11;
          const int m12=12;
          cout<<"******************************************************************************"<<endl;
          cout<<"*                       Papa_Baer Modul 1# (Geometrie)                       *"<<endl;
          cout<<"******************************************************************************"<<endl;
    
          cout<<"[0]Beenden  "<<endl;
          cout<<"   >>>>>>>>>>1-5 2D<<<<<<<<<<"<<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-13 3D<<<<<<<<<<"<<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==m1)
              cout<<"[1]"<<endl;
              cout<<"Sie haben das Rechteck gewaehlt."<<endl;
              cout<<"Formeln"<<endl;
              cout<<"Flaecheninhalt:A=a*b"<<endl;
              cout<<"Umfang:--------"<<endl;
    
           if(Menue1==m2)
              cout<<"[2]"<<endl;
              cout<<"Sie haben das Parallelogramm gewaehlt."<<endl;
              cout<<"Formeln"<<endl;
              cout<<"Flaecheninhalt:A=g*h"<<endl;
              cout<<"Umfang:--------"<<endl;
    
          if(Menue1==m3)
              cout<<"[3]"<<endl;
              cout<<"Sie haben das Dreieck gewaehlt."<<endl;
              cout<<"Formeln"<<endl;
              cout<<"Flaecheninhalt:A=g*h:2*h"<<endl;
              cout<<"Umfang:--------"<<endl;
    
           if(Menue1==m4)
              cout<<"[4]"<<endl;
              cout<<"Sie haben das Trapez gewählt."<<endl;
              cout<<"Formeln"<<endl;
              cout<<"Flaecheninhalt:A=a+c:2*h"<<endl;
              cout<<"Umfang:--------"<<endl;
    
           if(Menue1==m5)
              cout<<"[5]"<<endl;
              cout<<"Sie haben den Kreis gewählt."<<endl;
              cout<<"Formeln"<<endl;
              cout<<"Flaecheninhalt:A=Pi*h*h=Pi*d*d/4"<<endl;
              cout<<"Umfang:U=Pi*d=2Pir"<<endl;
    
           if(Menue1==m6)
              cout<<"[6]"<<endl;
              cout<<"Sie haben den Kreisausschnit(Sektor) gewählt."<<endl;
              cout<<"Formeln"<<endl;
              cout<<"Kreisausschnitt:A=Pi*r*r*Alpha/360*360"<<endl;
              cout<<"Umfang:U=Pi*r*r*Alpha/180*180"<<endl;
    
           if(Menue1==m7)
              cout<<"[7]"<<endl;
              cout<<"Sie haben den Quader gewaehlt."<<endl;
              cout<<"Formeln"<<endl;
              cout<<"Volumen: V= a*b*c"<<endl;
              cout<<"Oberflaeche: O=2ab+2ac+2bc"<<endl;
    
           if(Menue1==m8)
              cout<<"[8]"<<endl;
              cout<<"Sie haben das Prisma(gerades) gewaehlt."<<endl;
              cout<<"Formeln"<<endl;
              cout<<"Volumen: V=G*h"<<endl;
              cout<<"Oberflaeche: O=2G+M"<<endl;
    
           if(Menue1==m9)
              cout<<"[9]"<<endl;
              cout<<"Sie haben den Zylinder gewaehlt."<<endl;
              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;
    
           if(Menue1==m10)
              cout<<"[10]"<<endl;
              cout<<"Sie haben die Pyramide gewaehlt."<<endl;
              cout<<"Formeln"<<endl;
              cout<<"Volumen: V=1/3*G*h"<<endl;
              cout<<"Oberflaeche: O=G+M"<<endl;
    
           if(Menue1==m11)
              cout<<"[11]"<<endl;
              cout<<"Sie haben den Kegel gewaehlt."<<endl;
              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;
    
           if(Menue1==m12)
              cout<<"[12]"<<endl;
              cout<<"Sie haben die Kugel gewaehlt."<<endl;
              cout<<"Formeln"<<endl;
              cout<<"Volumen: V=4/3*Pi*r*r*r"<<endl;
              cout<<"Oberflaeche: O=4*Pi*r*r"<<endl;
    
          system("PAUSE");
          return 0;
    }
    


  • bei ifs mit mehreren Zeilen {} um die anweisungen

    zB

    if(Menue1==m1){
              cout<<"[1]"<<endl;
              cout<<"Sie haben das Rechteck gewaehlt."<<endl;
              cout<<"Formeln"<<endl;
              cout<<"Flaecheninhalt:A=a*b"<<endl;
              cout<<"Umfang:--------"<<endl;
    }
    

    des weiteren würde ich ne switch anweisung nehmen und auch die Konstanten verstehe ich nicht. aber die fehlenden Klammern sind auf jeden fall ein Fehler.

    btw: hast du using namespace std; nur hier weggelassen ?



  • Also was ist das 😛 ? Ja, hab es ganz wech gelassen.Ist das wichtig?



  • Naja, ich weiss ja nicht, aber mich wunderts dass du den Code compilieren kannst , wenn du nicht sagst woher die funktionen cin und cout stammen.
    Denn mit using namespace std; machst du in deinem Programm alle Funktionen
    die im Namespace(namensraum) std stehen, bekannt.
    Dies ist nötig da dein Compiler sonst cin und cout nicht kennen kann.
    Also um deine Frage zu beantworten: JA ist es.
    btw du solltest include <cstdlib> und nicht stdlib.h nehmen und evtl diese Zeile
    weglassen und system("Pause"); durch zB cin.get(); ersetzen ..
    Siehe faq



  • nur mal so am Rande: Auch die ersten 4 haben einen Umfang



  • So habe es ersetzt. Hm.. habe immer noch ein Problem mit den Zahlen. wenn ich "int" brichte r ebi Kommerzahlen ab. Ich brauche aber was um auch Kommerzahlen zu speichern.

    //edit: ich weiss ^^ habe diese sachen aus eineem mathebuch übernommen.^^ Naja wir noch erweitert.



  • Ahja wie stelle ich es an das, wenn man am Anfang 0 eingibt, dass das Programm sich schießt?



  • öhm: Kommerzahlen kann man weder in c++ noch sonst einer Sprache darstellen.
    Wenn du aber Kommazahlen meinst nimm float statt int.
    Denn int ist ein ganzzahliger Typ und float einer für Fließkommazahlen.

    zu deinem Menu, falls du switch kennst und ggf string könntest du es deutlich verkürzen . hier mal eine ungetestete Alternative:

    #include <iostream>
    #include <cstdlib>
    using namespace std;
    
    int main(){
          int Menue1;
    	  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"};
    
          cout<<"******************************************************************************"<<endl;
          cout<<"*                       Papa_Baer Modul 1# (Geometrie)                       *"<<endl;
          cout<<"******************************************************************************"<<endl;
    
          cout<<"[0]Beenden  "<<endl;
          cout<<"   >>>>>>>>>>1-5 2D<<<<<<<<<<"<<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-13 3D<<<<<<<<<<"<<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<<"Flaecheninhalt:A=a*b"<<endl;
              		   cout<<"Umfang:--------"<<endl;
    				   break;
    		case 2:    cout<<"Flaecheninhalt:A=g*h:2*h"<<endl;
              		   cout<<"Umfang:--------"<<endl;
    				   break;
    		case 3:    cout<<"Flaecheninhalt:A=g*h:2*h"<<endl;
              			cout<<"Umfang:--------"<<endl;
    				   break;
    		case 4:    cout<<"Flaecheninhalt:A=a+c:2*h"<<endl;
              			cout<<"Umfang:--------"<<endl;
    				   break;
    		case 5:    cout<<"Flaecheninhalt:A=Pi*h*h=Pi*d*d/4"<<endl;
              			cout<<"Umfang:U=Pi*d=2Pir"<<endl;
    				   break;
    		case 6:    cout<<"Kreisausschnitt:A=Pi*r*r*Alpha/360*360"<<endl;
              			cout<<"Umfang:U=Pi*r*r*Alpha/180*180"<<endl;
    				   break;		
    		case 7:    cout<<"Volumen: V= a*b*c"<<endl;
              			cout<<"Oberflaeche: O=2ab+2ac+2bc"<<endl;
    				   break;
    		case 8:    cout<<"Volumen: V=G*h"<<endl;
              			cout<<"Oberflaeche: O=2G+M"<<endl;
    				   break;
    		case 9:    cout<<"Volumen: V=Pi*r*r*h"<<endl;
              			cout<<"Oberflaeche: O=M+2G=2*Pi*r*h+2*Pi*r*r"<<endl;
    				   break;
    		case 10:   cout<<"Volumen: V=1/3*G*h"<<endl;
              			cout<<"Oberflaeche: O=G+M"<<endl;
    				   break;		
    		case 11:   cout<<"Oberflaeche: O=G+M=Pe*r*r+Pi*r*S"<<endl;
              			cout<<"Mantelflaeche: M=Pi*r*s"<<endl;
    				   break;
    		case 12:  cout<<"Volumen: V=4/3*Pi*r*r*r"<<endl;
              			cout<<"Oberflaeche: O=4*Pi*r*r"<<endl;
    				   break;
    
    }
    
          return 0;
    }
    


  • mose schrieb:

    Ahja wie stelle ich es an das, wenn man am Anfang 0 eingibt, dass das Programm sich schießt?

    if(Menue1==0)
    return 0; //
    


  • Also am 😕 schuaen wir mahl ob ich das ganz verstanden habe.
    string figure[] = reservier Speicher oder?
    cout<<"Sie haben "<<figure[Menue1]<<" gewaehlt."<<endl; = Ind er Mittw wird dann etwas von oben eingefügt doer?

    switch(Menue1)= Ka

    case 1: Wird dann etwas vom gespeicherten eingefügt.



  • Naja ich sagte wenn du switch kennst ..gg

    mit string figure[]={...}
    definiere ich ein array von strings die den namen der Körper haben die du später benutzt.

    cout<<"Sie haben "<<figure[Menue1-1]<<" gewaehlt."<<endl;
    hiermit kannst du die gleiche ausgabe machen wie bei dir denn bei der eingabe 1
    bekommst du figure[0] ausgegeben . Dies ist der erste string im Array also "rechteck" , da der erste Index eines Arrays 0 und nicht 1 ist.

    switch(Menue1)
    du betrachtest hiermit den wert der Variablen Menue1

    mit "case wert :" kannst du dann das gleiche machen wie mit
    if(Menue1==wert)

    so kürzt du dein Programm nur ein wenig ab.

    also machst du mit case 1: das gleiche wie du vorher mit
    if(Menue1==1) gemacht hättest



  • ^^ Das ist cool 🙂 finde das gut 🙂 So 😕 jetzt muss man nur noch das Problem mit den Kommerzahlen lösen. 😕



  • shapeless schrieb:

    öhm: Kommerzahlen kann man weder in c++ noch sonst einer Sprache darstellen.
    Wenn du aber Kommazahlen meinst nimm ->

    float
    

    statt

    int
    

    Denn int ist ein ganzzahliger Typ und float einer für Fließkommazahlen.

    Wie gesagt...



  • JO danke.
    die Sache geht nicht. 😞

    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"



  • hast du
    };

    am ende vergessen ?
    und bitte : wenn was "nicht geht" ssg mir bitte was du damit meinst.
    Compiliert dein Code nicht ? Wenn dem so ist poste bitte deine Fehlermeldungen.

    ggf musst du mal

    #include<string>
    

    oben hinzufügen.

    also weiter kann ich dir erst helfen wenn du mir sagst "was nicht geht" bzw Was für einen Fehler du bekommst



  • So die Fehler die er mir zeigt

    In function int main()': 35: parse error before;'
    41: break statement not within loop or switch
    42: parse error before ;' 48: break statement not within loop or switch 49: parse error before;'
    55: break statement not within loop or switch
    56: parse error before ;' 62: break statement not within loop or switch 63: parse error before;'
    69: break statement not within loop or switch
    70: parse error before ;' 76: break statement not within loop or switch 77: parse error before;'
    83: break statement not within loop or switch
    84: parse error before ;' 90: break statement not within loop or switch 91: parse error before;'
    97: break statement not within loop or switch
    98: parse error before ;' 104: break statement not within loop or switch 105: parse error before;'
    112: break statement not within loop or switch
    113: parse error before `;'
    149: parse error at end of input



  • dann zeig mir doch deine Zeile 35 gleich mal.
    also am besten die drumherum auch also 30-40,aber bitte kennzeichne die Zeile mal.
    Parse error heisst meistens du hast ne klammer zu wenig , eine nicht geschlossen oder sowas in der richtung. oder semikolon vergessen ...



  • {case 1;
              cout<<"Formeln"<<endl;
              cout<<"Flaecheninhalt:A=a*b"<<endl;
              cout<<"Umfang:--------"<<endl;
              break;
           case 1;
              cout<<"Formeln"<<endl;
              cout<<"Flaecheninhalt:A=g*h"<<endl;
              cout<<"Umfang:--------"<<endl;
              break;
          case 3;
              cout<<"Formeln"<<endl;
              cout<<"Flaecheninhalt:A=g*h:2*h"<<endl;
              cout<<"Umfang:--------"<<endl;
              break;
           case 4;
    

    so ist es.



  • nach den cases kommt ein Doppelpunkt und kein Semikolon.

    also

    switch(variablenname)
    {
    case 1: tu dies;break;
    case 2: tu das ;break;
    
    }
    


  • mose schrieb:

    [cpp]
    {case 1;
    cout<<"Formeln"<<endl;
    cout<<"Flaecheninhalt:A=ab"<<endl;
    cout<<"Umfang:--------"<<endl;
    break;
    case 1; //warum 2x case 1??
    cout<<"Formeln"<<endl;
    cout<<"Flaecheninhalt:A=g
    h"<<endl;
    cout<<"Umfang:--------"<<endl;
    break;
    case 3;
    cout<<"Formeln"<<endl;
    cout<<"Flaecheninhalt:A=g*h:2*h"<<endl;
    cout<<"Umfang:--------"<<endl;
    break;
    case 4;
    [/cpp]



  • Ahso gut 🙂


Anmelden zum Antworten