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);
}
|
|