Guest User

Problem mit C++ Programm

a guest
Feb 16th, 2013
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.66 KB | None | 0 0
  1. // 2 Geraden Schnittpunkt Rechn.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <conio.h>
  6. #include <iostream>
  7.  
  8. using namespace std;
  9.  
  10. float X11, Y11, X21, Y21, X12, Y12, X22, Y22, m1, b1, m2, b2, x, y, parallelcheck, b3, b4;
  11. char ant;
  12.  
  13.  
  14. int _tmain(int argc, _TCHAR* argv[])
  15. {
  16. punkt3:
  17.     cout<<"Dies ist ein Programm zur Berechnung des Schnittpunktes zweier Geraden!"<<endl;
  18.     cout<<"-----------------------------------------------------------------------"<<endl;
  19. punkt1:
  20.     cout<<""<<endl;
  21.     cout<<""<<endl;
  22.     cout<<"Geben Sie die X Koordinate des ERSTEN Punktes der ERSTEN Geraden ein: ";
  23.     cin>>X11;
  24.     cout<<""<<endl;
  25.     cout<<"Geben Sie die Y Koordinate des ERSTEN Punktes der ERSTEN Geraden ein: ";
  26.     cin>>Y11;
  27.     cout<<""<<endl;
  28.     cout<<"Geben Sie die X Koordinate des ZWEITEN Punktes der ERSTEN Geraden ein: ";
  29.     cin>>X21;
  30.     cout<<""<<endl;
  31.     cout<<"Geben Sie die Y Koordinate des ZWEITEN Punktes der ERSTEN Geraden ein: ";
  32.     cin>>Y21;
  33.  
  34.     if (X11 == X21 && Y11 == Y21) {
  35.         cout<<""<<endl;
  36.         cout<<"Gerade 1 ist laut den Koordinaten keine Gerade, sondern ein Punkt!"<<endl;
  37.         cout<<"Bitte geben Sie andere Koordinaten fuer Gerade 1 ein!"<<endl;
  38.         cout<<""<<endl;
  39.         cout<<"Druecken Sie eine beliebige Taste zum Fortfahren..."<<endl;
  40.         _getch();
  41.         goto punkt1;
  42.     }
  43.  
  44.     if (X11 == X21 && Y11 != Y21) {
  45.         cout<<""<<endl;
  46.         cout<<"Gerade 1 verlaeuft laut den Koordinaten senkrecht!"<<endl;
  47.         cout<<"Daher ist keine Funktionsgleichung berechenbar!"<<endl;
  48.         cout<<"Bitte geben Sie andere Koordinaten fuer Gerade 1 ein!"<<endl;
  49.         cout<<""<<endl;
  50.         cout<<"Druecken Sie eine beliebige Taste zum Fortfahren..."<<endl;
  51.         _getch();
  52.         goto punkt1;
  53.     }
  54.  
  55. punkt2:
  56.     cout<<""<<endl;
  57.     cout<<""<<endl;
  58.     cout<<"Geben Sie die X Koordinate des ERSTEN Punktes der ZWEITEN Geraden ein: ";
  59.     cin>>X12;
  60.     cout<<""<<endl;
  61.     cout<<"Geben Sie die Y Koordinate des ERSTEN Punktes der ZWEITEN Geraden ein: ";
  62.     cin>>Y12;
  63.     cout<<""<<endl;
  64.     cout<<"Geben Sie die X Koordinate des ZWEITEN Punktes der ZWEITEN Geraden ein: ";
  65.     cin>>X22;
  66.     cout<<""<<endl;
  67.     cout<<"Geben Sie die Y Koordinate des ZWEITEN Punktes der ZWEITEN Geraden ein: ";
  68.     cin>>Y22;
  69.  
  70.     m1 = (Y21-Y11)/(X21-X11);
  71.     b1 = Y11-(m1*X11);
  72.     m2 = (Y22-Y12)/(X22-X12);
  73.     b2 = Y12-(m2*X12);
  74.     x = (b2-b1)/(m1-m2);
  75.     y = (m1*x)+b1;
  76.     parallelcheck = m1-m2;
  77.     b3 = b1*(-1);
  78.     b4 = b2*(-1);
  79.  
  80.     if (X12 == X22 && Y12 == Y22) {
  81.         cout<<""<<endl;
  82.         cout<<"Gerade 2 ist laut den Koordinaten keine Gerade, sondern ein Punkt!"<<endl;
  83.         cout<<"Bitte geben Sie andere Koordinaten fuer Gerade 2 ein!"<<endl;
  84.         cout<<""<<endl;
  85.         cout<<"Druecken Sie eine beliebige Taste zum Fortfahren..."<<endl;
  86.         _getch();
  87.         goto punkt2;
  88.     }
  89.  
  90.     if (X12 == X22 && Y12 != Y22) {
  91.         cout<<""<<endl;
  92.         cout<<"Gerade 2 verlaeuft laut den Koordinaten senkrecht!"<<endl;
  93.         cout<<"Daher ist keine Funktionsgleichung berechenbar!"<<endl;
  94.         cout<<"Bitte geben Sie andere Koordinaten fuer Gerade 2 ein!"<<endl;
  95.         cout<<""<<endl;
  96.         cout<<"Druecken Sie eine beliebige Taste zum Fortfahren..."<<endl;
  97.         _getch();
  98.         goto punkt2;
  99.     }
  100.  
  101.  
  102.     cout<<""<<endl;
  103.     cout<<""<<endl;
  104.     cout<<"Die Funktionsgleichung der ersten Gerade lautet:"<<endl;
  105.  
  106.     if (b1 == 0) {
  107.         cout<<"y = "<<m1<<" * x"<<endl;
  108.         goto punkt5;
  109.     }
  110.  
  111.     if (b1 < 0) {
  112.         cout<<"y = "<<m1<<" * x - "<<b3<<endl;
  113.         goto punkt5;
  114.     }
  115.  
  116.     cout<<"y = "<<m1<<" * x + "<<b1<<endl;
  117. punkt5:
  118.     cout<<""<<endl;
  119.     cout<<"Die Funktionsgleichung der zweiten Gerade lautet:"<<endl;
  120.  
  121.     if (b2 == 0) {
  122.         cout<<"y = "<<m2<<" * x"<<endl;
  123.         goto punkt6;
  124.     }
  125.  
  126.     if (b2 < 0) {
  127.         cout<<"y = "<<m2<<" * x - "<<b4<<endl;
  128.         goto punkt6;
  129.     }
  130.  
  131.     cout<<"y = "<<m2<<" * x + "<<b2<<endl;
  132. punkt6:
  133.     cout<<""<<endl;
  134.  
  135.     if (parallelcheck == 0) {
  136.         cout<<"Die beiden Geraden verlaufen parallel zueinander!"<<endl;
  137.         cout<<"Deshalb haben sie keinen Schnittpunkt."<<endl;
  138.         goto end;
  139.     }
  140.  
  141.     cout<<"Die Geraden treffen sich im Punkt S("<<x<<"|"<<y<<")."<<endl;
  142.  
  143.  
  144. end:
  145.     cout<<""<<endl;
  146.     cout<<""<<endl;
  147.     cout<<"Moechten Sie das Programm wiederholen?"<<endl;
  148.     cout<<"Fuer Ja geben Sie bitte ein j ein und fuer Nein ein n!"<<endl;
  149. punkt4:
  150.     cout<<"Programmwiederholung?: ";
  151.     cin>>ant;
  152.     cout<<""<<endl;
  153.    
  154.     if (ant == 'j' || ant == 'J') {
  155.         cout<<""<<endl;
  156.         cout<<"--------------------------------------------------------------------------------"<<endl;
  157.         cout<<""<<endl;
  158.         cout<<""<<endl;
  159.         cout<<""<<endl;
  160.         goto punkt3;
  161.     }
  162.  
  163.     if (ant == 'n' || ant == 'N') {
  164.         cout<<""<<endl;
  165.     }
  166.  
  167.     if (ant != 'j' && ant != 'n' && ant != 'J' && ant != 'N') {
  168.         cout<<"Bitte wiederholen Sie Ihre Eingabe!"<<endl;
  169.         goto punkt4;
  170.     }
  171.  
  172.     cout<<"Druecken Sie eine beliebige Taste um das Programm zu beenden..."<<endl;
  173.     _getch();
  174.     return 0;
  175. }
Advertisement
Add Comment
Please, Sign In to add comment