Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 2 Geraden Schnittpunkt Rechn.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
- //
- #include "stdafx.h"
- #include <conio.h>
- #include <iostream>
- #include <limits>
- using namespace std;
- float X11, Y11, X21, Y21, X12, Y12, X22, Y22, m1, b1, m2, b2, x, y, parallelcheck, b3, b4;
- char ant;
- int _tmain(int argc, _TCHAR* argv[])
- {
- punkt3:
- cout<<"Dies ist ein Programm zur Berechnung des Schnittpunktes zweier Geraden!"<<endl;
- cout<<"-----------------------------------------------------------------------"<<endl;
- punkt1:
- cout<<""<<endl;
- cout<<""<<endl;
- cout<<"Geben Sie die X Koordinate des ERSTEN Punktes der ERSTEN Gerade ein: ";
- while( !(cin >> X11) ) {
- cin.clear();
- cin.ignore(numeric_limits<streamsize>::max(), '\n');
- cout<<""<<endl;
- cout<<"Bitte wiederholen Sie Ihre Eingabe!"<<endl;
- cout<<"Geben Sie die X Koordinate des ERSTEN Punktes der ERSTEN Gerade ein: ";
- }
- cin.get();
- cout<<""<<endl;
- cout<<"Geben Sie die Y Koordinate des ERSTEN Punktes der ERSTEN Gerade ein: ";
- while( !(cin >> Y11) ) {
- cin.clear();
- cin.ignore(numeric_limits<streamsize>::max(), '\n');
- cout<<""<<endl;
- cout<<"Bitte wiederholen Sie Ihre Eingabe!"<<endl;
- cout<<"Geben Sie die Y Koordinate des ERSTEN Punktes der ERSTEN Gerade ein: ";
- }
- cin.get();
- cout<<""<<endl;
- cout<<"Geben Sie die X Koordinate des ZWEITEN Punktes der ERSTEN Gerade ein: ";
- while( !(cin >> X21) ) {
- cin.clear();
- cin.ignore(numeric_limits<streamsize>::max(), '\n');
- cout<<""<<endl;
- cout<<"Bitte wiederholen Sie Ihre Eingabe!"<<endl;
- cout<<"Geben Sie die X Koordinate des ZWEITEN Punktes der ERSTEN Gerade ein: ";
- }
- cin.get();
- cout<<""<<endl;
- cout<<"Geben Sie die Y Koordinate des ZWEITEN Punktes der ERSTEN Gerade ein: ";
- while( !(cin >> Y21) ) {
- cin.clear();
- cin.ignore(numeric_limits<streamsize>::max(), '\n');
- cout<<""<<endl;
- cout<<"Bitte wiederholen Sie Ihre Eingabe!"<<endl;
- cout<<"Geben Sie die Y Koordinate des ZWEITEN Punktes der ERSTEN Gerade ein: ";
- }
- cin.get();
- if (X11 == X21 && Y11 == Y21) {
- cout<<""<<endl;
- cout<<"Gerade 1 ist laut den Koordinaten keine Gerade, sondern ein Punkt!"<<endl;
- cout<<"Bitte geben Sie andere Koordinaten fuer Gerade 1 ein!"<<endl;
- cout<<""<<endl;
- cout<<"Druecken Sie eine beliebige Taste zum Fortfahren..."<<endl;
- _getch();
- goto punkt1;
- }
- else if (X11 == X21 && Y11 != Y21) {
- cout<<""<<endl;
- cout<<"Gerade 1 verlaeuft laut den Koordinaten senkrecht!"<<endl;
- cout<<"Daher ist keine Funktionsgleichung berechenbar!"<<endl;
- cout<<"Bitte geben Sie andere Koordinaten fuer Gerade 1 ein!"<<endl;
- cout<<""<<endl;
- cout<<"Druecken Sie eine beliebige Taste zum Fortfahren..."<<endl;
- _getch();
- goto punkt1;
- }
- punkt2:
- cout<<""<<endl;
- cout<<""<<endl;
- cout<<"Geben Sie die X Koordinate des ERSTEN Punktes der ZWEITEN Gerade ein: ";
- while( !(cin >> X12) ) {
- cin.clear();
- cin.ignore(numeric_limits<streamsize>::max(), '\n');
- cout<<""<<endl;
- cout<<"Bitte wiederholen Sie Ihre Eingabe!"<<endl;
- cout<<"Geben Sie die X Koordinate des ERSTEN Punktes der ZWEITEN Gerade ein: ";
- }
- cin.get();
- cout<<""<<endl;
- cout<<"Geben Sie die Y Koordinate des ERSTEN Punktes der ZWEITEN Gerade ein: ";
- while( !(cin >> Y12) ) {
- cin.clear();
- cin.ignore(numeric_limits<streamsize>::max(), '\n');
- cout<<""<<endl;
- cout<<"Bitte wiederholen Sie Ihre Eingabe!"<<endl;
- cout<<"Geben Sie die Y Koordinate des ERSTEN Punktes der ZWEITEN Gerade ein: ";
- }
- cin.get();
- cout<<""<<endl;
- cout<<"Geben Sie die X Koordinate des ZWEITEN Punktes der ZWEITEN Gerade ein: ";
- while( !(cin >> X22) ) {
- cin.clear();
- cin.ignore(numeric_limits<streamsize>::max(), '\n');
- cout<<""<<endl;
- cout<<"Bitte wiederholen Sie Ihre Eingabe!"<<endl;
- cout<<"Geben Sie die X Koordinate des ZWEITEN Punktes der ZWEITEN Gerade ein: ";
- }
- cin.get();
- cout<<""<<endl;
- cout<<"Geben Sie die Y Koordinate des ZWEITEN Punktes der ZWEITEN Gerade ein: ";
- while( !(cin >> Y22) ) {
- cin.clear();
- cin.ignore(numeric_limits<streamsize>::max(), '\n');
- cout<<""<<endl;
- cout<<"Bitte wiederholen Sie Ihre Eingabe!"<<endl;
- cout<<"Geben Sie die Y Koordinate des ZWEITEN Punktes der ZWEITEN Gerade ein: ";
- }
- cin.get();
- m1 = (Y21-Y11)/(X21-X11);
- b1 = Y11-(m1*X11);
- m2 = (Y22-Y12)/(X22-X12);
- b2 = Y12-(m2*X12);
- x = (b2-b1)/(m1-m2);
- y = (m1*x)+b1;
- parallelcheck = m1-m2;
- b3 = b1*(-1);
- b4 = b2*(-1);
- if (X12 == X22 && Y12 == Y22) {
- cout<<""<<endl;
- cout<<"Gerade 2 ist laut den Koordinaten keine Gerade, sondern ein Punkt!"<<endl;
- cout<<"Bitte geben Sie andere Koordinaten fuer Gerade 2 ein!"<<endl;
- cout<<""<<endl;
- cout<<"Druecken Sie eine beliebige Taste zum Fortfahren..."<<endl;
- _getch();
- goto punkt2;
- }
- else if (X12 == X22 && Y12 != Y22) {
- cout<<""<<endl;
- cout<<"Gerade 2 verlaeuft laut den Koordinaten senkrecht!"<<endl;
- cout<<"Daher ist keine Funktionsgleichung berechenbar!"<<endl;
- cout<<"Bitte geben Sie andere Koordinaten fuer Gerade 2 ein!"<<endl;
- cout<<""<<endl;
- cout<<"Druecken Sie eine beliebige Taste zum Fortfahren..."<<endl;
- _getch();
- goto punkt2;
- }
- cout<<""<<endl;
- cout<<""<<endl;
- cout<<"Die Funktionsgleichung der ersten Gerade lautet:"<<endl;
- cout<<"y = "<<m1<<" * x";
- if (b1 > 0) {
- cout<<" + "<<b1;
- }
- else if (b1 < 0) {
- cout<<" - "<<b3;
- }
- cout<<'\n';
- cout<<""<<endl;
- cout<<"Die Funktionsgleichung der zweiten Gerade lautet:"<<endl;
- cout<<"y = "<<m2<<" * x";
- if (b2 > 0) {
- cout<<" + "<<b2;
- }
- else if (b2 < 0) {
- cout<<" - "<<b4;
- }
- cout<<'\n';
- cout<<""<<endl;
- if (parallelcheck == 0) {
- cout<<"Die beiden Geraden verlaufen parallel zueinander!"<<endl;
- cout<<"Deshalb haben sie keinen Schnittpunkt."<<endl;
- }
- else {
- cout<<"Die Geraden treffen sich im Punkt S("<<x<<"|"<<y<<")."<<endl;
- }
- cout<<""<<endl;
- cout<<""<<endl;
- cout<<"Moechten Sie das Programm wiederholen?"<<endl;
- cout<<"Fuer Ja geben Sie bitte ein j ein und fuer Nein ein n!"<<endl;
- punkt4:
- cout<<"Programmwiederholung?: ";
- cin>>ant;
- cout<<""<<endl;
- if (ant == 'j' || ant == 'J') {
- cout<<""<<endl;
- cout<<"--------------------------------------------------------------------------------"<<endl;
- cout<<""<<endl;
- cout<<""<<endl;
- cout<<""<<endl;
- goto punkt3;
- }
- else if (ant == 'n' || ant == 'N') {
- cout<<""<<endl;
- }
- else {
- cout<<"Bitte wiederholen Sie Ihre Eingabe!"<<endl;
- goto punkt4;
- }
- cout<<"Druecken Sie eine beliebige Taste um das Programm zu beenden..."<<endl;
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment