Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » symmetrisches Dreieck und abfangen von Buchstaben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
06.06.2006, 23:15 Uhr
~Matthaei
Gast


Ich glaubs nicht... es läuft )
Vielen lieben Dank!!!!!
Das war meine Rettung..
Jetzt darf ich noch 2 Stunden Strutogramm schreiben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
07.06.2006, 09:59 Uhr
~Matthaei
Gast


Hmm..

Also C++ ist wohl nicht meine welt...
Warum passen diese Programmteile nicht zusammen und wer kann mir bitte sagen, wie ich das machen muss?
Gruß



C++:
#include<iostream.h>
#include<math.h>
#include<stdlib.h>
#include <iomanip>    //Bibliothek für den Befehl setw(x)
#include <string.h>      //Abfangen von Buchstaben
#include <sstream>
using namespace std;

int main()
{

    char Wahl;
    bool Stop;
    int i,schleife;
        
        
    struct Gruppenmitglied
    {
        int    n;
        double N, Xanfang, Xende, Streifenbreite,Y,Xn,A,An,Exponent;
        double Vektor[3][5],SumHauptD,SumNebenD,HauptProdukt[3],NebenProdukt[3],Det;

    };
    
    Gruppenmitglied Felix, Philipp;

    do
    {
        cout<<"W"<<char(132)<<"len Sie ein Programm aus:"<<endl;
        cout<<"[1]: Berechnung von Untersummen quadratischer Funktionen von Felix Uptmoor"<<endl;
        cout<<"[2]: Determinantenberechnung nach Sarrus von Philipp Grevemeyer"<<endl;
        cout<<"[3]: ...von Ralph Bayer"<<endl;
        cout<<"[4]: ...von Frank Steenweg"<<endl;
        cin>>Wahl;
    

        switch (Wahl)
        {
        case '1':
            {
                cout<<"ainz";
                
                
                    
                cout<<endl;
                cout<<"PROGRAMM ZUR BERECHNUNG VON UNTERSUMMEN QUADRATISCHER FUNKTIONEN"<<endl;
                for(i=0;i<64;i++)
                    cout<<char(196);
                cout<<endl;

                cout<<"W"<<char(132)<<"hlen Sie eine Funktion aus:"<<endl;
                cout<<"1: Y=1"<<endl;
                cout<<"2: Y=X"<<endl;
                cout<<"3: Y=1/X"<<endl;
                cout<<"4: Y=X^2"<<endl;
                cout<<"5: Y=Wurzel X"<<endl;
                cout<<"6: Manuelle Einganbe des Exponenten"<<endl;
                cin>>Wahl;

                switch (Wahl)
                {
                    case '1':
                        Felix.Exponent = 0;
                        break;

                    case '2':
                        Felix.Exponent = 1;
                        break;
            
                    case '3':
                        Felix.Exponent = -1;
                        break;
                        
                    case '4':
                        Felix.Exponent = 2;
                        break;    
            
                    case '5':
                        Felix.Exponent = 0.5;
                        break;
            
                    default:
                        {
                        cout<<"Y=X^";
                        cin>>Felix.Exponent;
                        }
                        break;
                }
                    
                cout<<endl;
                cout<<"Geben Sie bitte die gew"<<char(129)<<"nschte Anzahl der Streifen an: ";
                cin>>Felix.n;
            
                cout<<endl;
                cout<<"Geben Sie Bitte die Grenzen X1 und X2 an: ";
                cout<<endl;
                cout<<"X1= ";
                cin>>Felix.Xanfang;
                cout<<"X2= ";
                cin>>Felix.Xende;
                
                Felix.N = double(Felix.n);
                Felix.Streifenbreite = (Felix.Xende - Felix.Xanfang)/Felix.N;
            
                Felix.A=0;
                for(i=0;i<Felix.n;i++)
                {
                    Felix.Y=1;
                    Felix.Xn=Felix.Xanfang+(i*Felix.Streifenbreite);
            
                    Felix.Y=pow(Felix.Xn, Felix.Exponent);
                    
                    Felix.An=Felix.Y*Felix.Streifenbreite;
            
                    Felix.A=Felix.A+Felix.An;
                }    
                
                cout<<endl;
                cout<<Felix.n<<" Streifen";
                cout<<" in den Grenzen von "<<Felix.Xanfang<<" bis "<<Felix.Xende<<endl;
                cout<<"Ein Streifen hat die Breite "<<Felix.Streifenbreite<<endl;
            
                cout<<endl;
                cout.precision(12);
                cout<<"Untersumme = "<<Felix.A<<endl;
                cout<<endl;
            }
            break;
        
        case '2':
            {
                cout<<"zwo"<<endl;
            
                /*
Programmname: "Sarrus"
Ziel:Sarrusberechnung
Autor:Philipp Grevemeyer
Version:1.0final
Datum der Erstellung:22.05.06
Datum der letzten Änderung:23.05.06
*/

                



                                    
                do
                {
                    system("cls");

                    cout<<"       *Determinante einer 3x3 Matrix - Sarrusregel*      "<<endl;
                    cout<<"__________________________________________________________"<<endl;
            
                    cout<<endl;
            
                    cout<<"Geben sie bitte die Determinante nach folgendem Schema ein."<<endl;
                    cout<<"Zwischen den Zahlen in einer Zeile ist ein Leerzeichen,"<<endl;
                    cout<<"einzusetzen. Danach bestaetigen sie mit der [Entertaste]"<<endl;
                    cout<<endl;
                    cout<<"z.B:1 2 3"<<endl;
                    cout<<endl;
                
            
                    cout<<char(179)<<" a00      a01      a02"<<char(179)<<"  Zeile 1"<<endl;
                    cout<<char(179)<<"                      "<<char(179)<<endl;
                    cout<<char(179)<<" b10      b11      b12"<<char(179)<<"  Zeile 2"<<endl;
                    cout<<char(179)<<"                      "<<char(179)<<endl;
                    cout<<char(179)<<" c20      c21      c22"<<char(179)<<"  Zeile 3"<<endl;

                    cout<<endl;
    
                    for(i=0;i<3;i++)
                    {
                        cout<<"Zeile "<<i+1<<" der Matrix eingeben"<<endl;
                        cin>>Philipp.Vektor[i][0]>>Philipp.Vektor[i][1]>>Philipp.Vektor[i][2];
                    }
    
                    cout<<endl;
        
                    for(i=0;i<3;i++)
                    {
                        Philipp.Vektor[i][3]=Philipp.Vektor[i][0];
                        Philipp.Vektor[i][4]=Philipp.Vektor[i][1];
                    }
            
                    for(i=0;i<3;i++)
                    {
                        Philipp.HauptProdukt[i]=Philipp.Vektor[0][i]*Philipp.Vektor[1][i+1]*Philipp.Vektor[2][i+2];
                    }
    
                    Philipp.SumHauptD=Philipp.HauptProdukt[0]+Philipp.HauptProdukt[1]+Philipp.HauptProdukt[2];
                    cout<<"Summe der *Hauptdiagonalen* :"<<Philipp.SumHauptD<<endl;
    
                    for(i=0;i<3;i++)
                    {
                        Philipp.NebenProdukt[i]=Philipp.Vektor[0][i+2]*Philipp.Vektor[1][i+1]*Philipp.Vektor[2][i];
                    }
        
                    Philipp.SumNebenD=Philipp.NebenProdukt[0]+Philipp.NebenProdukt[1]+Philipp.NebenProdukt[2];
                    cout<<"Summe der *Nebendiagonalen* :"<<Philipp.SumNebenD<<endl;
    
                    Philipp.Det=Philipp.SumHauptD-Philipp.SumNebenD;
                    cout<<"Ergebnis der *Determinante* :"<<Philipp.Det<<endl;
                    cout<<endl;
    



                    cout<<"Fuer die erneute Berechnung einer Determinante druecken sie die [1]"<<endl;
                    cout<<endl;
                    cout<<"Zum Beenden druecken sie eine andere Zahl"<<endl;
                    cin>>schleife;

                }while(schleife==1);

                cout<<"Programmteil ist beendet!"<<endl;

            }
            break;


        case 3:
            {
        
                
                  
                

                {

                    int hoehe,breite,wiederholen,x,i,weite;
                    char weiter, spitze;




                    do
                    {
    
                        //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


                        x=35;        //Mitte der Spitze
                        weite=2;    //Weite des Dreiecks

                        //allgemeine Initialisierung der Werte

                        hoehe=0;    
                        breite=0;
                        wiederholen=0;
                        weiter=0;
                        spitze=0;
                        i=0;



                        //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


                        system("cls"); // Säubern des Bildschirms

                        cout<<endl;
                        cout<<"\t  ********************************************"<<endl;
                        cout<<"\t\tPruefungsleistung 4 - Aufgabe 4"<<endl<<endl;
                        cout<<"\t  Die Darstellung eines symmetrischen Dreiecks"<<endl;
                        cout<<"\t  ********************************************"<<endl<<endl;

                        string str;
                        istringstream istr;
  
  
                        while (breite == 0)
                        {
                            cout<<"Bitte geben sie die Breite an (Bereich von 6 - 24) :"<< endl;
                            cin >> str;
                            istr.str(str);
                            istr >> breite;
                            if (breite < 6 || breite > 24)
                                breite = 0;
                            istr.clear();
                        }
  
                        while (hoehe == 0)
                        {
                            cout<<"Bitte geben sie die Hoehe an (Bereich von 6 - 24) : "<< endl;
                            cin >> str;
                            istr.str(str);
                            istr >> hoehe;
                            if (hoehe < 6 || hoehe > 24)
                                hoehe = 0;
                            istr.clear();
                        }

                        cout<<"Wie soll das Dreieck dargestellt werden?"<<endl<<endl;
                        cout<<"\t (1) = mit der Spitze nach oben  (2) = mit der Spitze nach unten";
                        cout<<endl<<endl;
                        cout<<"Ihre Wahl:  ";
                        cin>>spitze;


                        system("cls"); // Säubern des Bildschirms
                        cout<<endl<<endl;
    
                        switch (spitze)
                        {
                        case '1':
                            {
                                cout<<setw(x);                        //Ausgabe der Spitze
                                cout<<char(15)<<endl;
                                x=x--;                                //Abzug von x damit die Darstellung der Schärge gewährleistet ist

                                for (i=3;i<=hoehe; i++)                // i ist die Laufvariable der "for Schleife"
                                {
                                    cout<<setw(x);
                                    cout<<char(06)<<setw(weite)<<char(06)<<endl;
                                    x--;                                //Abzug von x
                                    weite=weite+2;
                                }

                                cout<<setw(x);                            //aktuelles x für die untere Darstellung des Dreiecks
            
                                for (i=0; i<breite; i++)
                                {
                                    cout<<char(06);
                                    cout<<char(00);                        //Ascii für Leerzeichen
                                }
                                cout<<endl<<endl;
                            }    break;

                        case '2':
                        {
                            x=x-breite;                                //Berechnung der oberen Darstellung des Dreiecks
                            cout<<setw(x);                            //aktuelles x für die obere Darstellung des Dreiecks
                    
                            for(i=+1; i<=breite; i++)
                            {
                                cout<<char(06);
                                cout<<char(00);                        //Ascii für Leerzeichen
                            }

                            cout<<endl;
                            x++;

                            for (i=3; i<=hoehe; i++)
                            {
                                cout<<setw(x);
                                cout<<char(06)<<setw((breite*2)-weite-2)<<char(06)<<endl;
                                x++;
                                breite--;                            
                            }

                            cout<<setw(34)<<char(15)<<endl;
                    
                        }
                        break;
                        
                        default:
                        {
                            cout<<"Falschen Wert fuer die Spitze eingegeben"<<endl<<endl;
                            
                        }
                        break;
                    }

                    cout<<"Moechten sie nochmal ein Dreieck anzeigen lassen?"<<endl<<endl;
                    cout<<"Druecken sie (1) fuer Ja [Anykey] fuer Nein";
                    cout<<endl;
                    cin>>wiederholen;
                }
                while(wiederholen==1);

                cout<<endl<<endl<<endl<<endl;
                cout<<"Vielen Dank (Herr Olthoff) fuer die Nutzung dieses Programms";
                cout<<endl<<endl;

            }    
            break;

        default:
            {
                cout<<"Bitte nochmal"<<endl;
                
            }
            break;
        }

        cout<<"Nochmal? [j/n]";
        cin>>Wahl;

        if(Wahl=='j')
            Stop=false;
        else
            Stop=true;

    }
    while(Stop==false);


}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
07.06.2006, 10:07 Uhr
(un)wissender
Niveauwart


Was machen?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
07.06.2006, 13:05 Uhr
~gast
Gast



C++:
       case 3:
            {
                 {     <----- Was kann C++ dafür, wenn ne Klammer zuviel drinnsteht ??
                              

                    int hoehe,breite,wiederholen,x,i,weite;


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
07.06.2006, 13:36 Uhr
0xdeadbeef
Gott
(Operator)


Was die Einlesensproblematik angeht, schau dir mal www.dev-geeks.org/index.php?module=scripts&sub=2&action=show&id=50 an, das macht die Sache oft deutlich einfacher.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
07.06.2006, 13:52 Uhr
~gast
Gast


case 3: ist auch noch falsch

C++:
       case '3' :

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: