Zeigt zu viel im Fenster.



  • 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