002
24.09.2004, 19:31 Uhr
tanne
|
wenn ich es mit DEV compilier, als dos anwendung, funktionierts einwandfrei, wenn ichs aba mit BORLAND compilier, als easywin anwendung, funzts net....
C++: |
/************************************************************************
autor: daniel tanneberg programm: rechner für lin. gleichungen datum: 23.09.04 copyright: all copyright '04 by daniel tanneberg
************************************************************************/
//***************************************************bibliotheken einbinden #include <iostream.h> #include <string.h> #include <windows.h> //*************************************************************************
//***********************************************funktionen deklarieren void zpf(float,float,float,float); void psf(float,float,float); void pp(float,float,float,float); void zfv(float,float,float,float); void clearscreen();
void clearscreen() { COORD topLeft={0,0}; CONSOLE_SCREEN_BUFFER_INFO csbi; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hOut,&csbi); FillConsoleOutputCharacter(hOut,' ',csbi.dwSize.X * csbi.dwSize.Y, topLeft,NULL); SetConsoleCursorPosition(hOut,topLeft); }
void zpf(float xa, float ya, float xb, float yb) { float m,b; m=(yb-ya)/(xb-xa); b=(m*(-1*xa))+ya; cout<<"\nf(x)="<<m<<"x + "<<b;
if(m==0) { cout<<"\n\ngraph ist parallel zur x-achse"; } }
void psf(float xa, float ya, float m) { float b; b=(m*(-1*xa))+ya; cout<<"\nf(x)="<<m<<"x + "<<b;
if(m==0) { cout<<"\n\ngraph ist parallel zur x-achse"; } }
void pp(float m, float b, float xa, float ya) { float erg; erg=(m*xa)+b; cout<<"\nf("<<xa<<") = "<<m<<" * "<<xa<<" + "<<b; if(erg==ya) { cout<<"\n\npunkt("<<xa<<" | "<<ya<<") liegt auf dem graphen von f(x)="<<m<<"x + "<<b; } else { cout<<"\n\npunkt("<<xa<<" | "<<ya<<") !!liegt nicht!! auf dem graphen von f(x)="<<m<<"x + "<<b; } }
void zfv(float m, float b, float m1, float b1) { float ort; ort=m*m1;
cout<<"\nf(x)="<<m<<"x + "<<b; cout<<"\ng(x)="<<m1<<"x + "<<b1<<endl;
if(m==m1 && b!=b1) cout<<"\nf || g";
if(m==m1 && b==b1) cout<<"\nfunktionen/graphen sind identisch";
if(ort==-1) cout<<"\ngraphen sind orthogonal zueinander";
if(m!=m1 && ort!=-1) { float x,y; x=(b-b1)/(m1-m); y=(m*x)+b; cout<<"\ngraphen schneiden sich im punkt("<<x<<" | "<<y<<")"<<endl; } } //***************************************************************************
int main() { float xa,xb,ya,yb,m,b,m1,b1; //variablen deklaration int schleife=0; int auswahl; char nochmal;
//********************************************************************** anfang des logins
char rName[]="tanne", rPw[]="blub", sName[]="BG", sPw[]="Erfolg"; std::string name, pw; int login=0; char erneutlogin=0; while(login==0) {
cout<<"\n*** login ***\n\nbenutzername: "; std::getline(std::cin, name);
if(!strcmp(rName, name.c_str())) { cout<<"passwort: "; std::getline(std::cin, pw);
if(!strcmp(rPw, pw.c_str())) { cout<<"\nlogin erfolgreich..."; ++login; cin.get(); clearscreen(); } else { cout<<"\nlogin fehlgeschlagen...\n\n"; cout<<"\nerneut versuchen? (j/n): "; cin>>erneutlogin; cin.get(); clearscreen(); if(erneutlogin=='n') { ++login; ++schleife; } } } else { if(!strcmp(sName, name.c_str())) { cout<<"passwort: "; std::getline(std::cin, pw);
if(!strcmp(sPw, pw.c_str())) { cout<<"\nlogin erfolgreich..."; ++login; cin.get(); clearscreen(); } else { cout<<"\nlogin fehlgeschlagen...\n\n"; cout<<"\nerneut versuchen? (j/n): "; cin>>erneutlogin; cin.get(); clearscreen(); if(erneutlogin=='n') { ++login; ++schleife; } } }
else { cout<<"\nlogin fehlgeschlagen...\n\n"; cout<<"\nerneut versuchen? (j/n): "; cin>>erneutlogin; cin.get(); clearscreen(); if(erneutlogin=='n') { ++login; ++schleife; } } } } //********************************************************************ende es logins
//******************************************************************hauptprogramm while(schleife==0) { cout<<"\n\n\n\t***** rechner fuer lineare gleichungen *****\n"; cout<<"\t *** copyright '04 by daniel t. ***\n"; cout<<"\n\n*** menu ***\n\n"; cout<<"(1) 2-punkte-formel\n(2) punkt-steigunsform\n(3) punkt-probe\n(4) 2 funktionen vergleichen\n(5) beenden\n=> "; cin>>auswahl;
switch(auswahl) //menu { case 1: cout<<"\nx punkt1: "; cin>>xa; cout<<"y punkt1: "; cin>>ya; cout<<"\nx punkt2: "; cin>>xb; cout<<"y punkt2: "; cin>>yb; cin.get(); zpf(xa,ya,xb,yb); break; case 2: cout<<"\nx punkt: "; cin>>xa; cout<<"y punkt: "; cin>>ya; cout<<"m: "; cin>>m; cin.get(); psf(xa,ya,m); break; case 3: cout<<"\nf(x)=mx+b\nm: "; cin>>m; cout<<"b: "; cin>>b; cout<<"\nx punkt: "; cin>>xa; cout<<"y punkt: "; cin>>ya; cin.get(); pp(m,b,xa,ya); break;
case 4: cout<<"\nf(x)=mx+b\n\nfunktion 1\nm: "; cin>>m; cout<<"b: "; cin>>b; cout<<"\nfunktion 2\nm: "; cin>>m1; cout<<"b: "; cin>>b1; cin.get(); zfv(m,b,m1,b1); break;
case 5: ++schleife; }
if(auswahl!=5) { cout<<"\n\nnochmal? (j/n) "; cin>>nochmal;
if(nochmal=='n') { ++schleife; } } clearscreen(); } //****************************************************************************
cin.get(); return 0; }
|
Dieser Post wurde am 24.09.2004 um 19:41 Uhr von FloSoft editiert. |