D
DocShoe schrieb:
BTW: Wenn du glaubst, dass Katheter die Kathete eines Dreiecks ist, dann irrst Du aber gewaltig...
Das sieht alles ziemlich wirr aus, z.B. das sinnlose Bitshifting in´s Nirvana.
Irgendwie habe ich den Eindruck, dass du einen Codeschnipsel einer anderen Programmiersprache nach C++ portieren willst, ohne C++ zu können. Ich kann mich Martin nur anschließen, besorg´ dir ein vernünftiges C++ Grundlagenbuch und arbeite es durch. Es gibt einige gute Bücher als kostenlose EBooks, die müssten über die Suche hier im Forum zu finden sein (und hüte dich vor J.W. :p).
Edit:
Hm, vielleicht ist da ja doch kein Bitshifting, was bitte sind Kat1, Kat2 und Hyp?
Kat1, Kat2 und Hyp sind die Sringstreams, die ich zur konvertierung genutzt habe
EDIT: Ich hab jetzt ein neues Programm ganz ohne schriftzeichen geschrieben
// PYTAGORAA.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//
#include "stdafx.h"
#include <iostream>
#include <Dlprint.h>
#include <math.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double kathete1=0;
double kathete2=0;
double hypotenuse=0;
int A=5;
int B=10;
char check=0;
system("color 3f");
for (bool exit=false;exit == false; system("cls"))
{
//prints
Dlprinttl("mit diesem Programm kannst du eine \"unbekannte\" Seite eines Dreiecks ausrechnen!\nWICHTIG: benutze statt \",\" ein \".\".\n\n", A);
Dlprintt("gebe die erste Kathete ein (wenn du sie nicht kennst gib \"0\" ein): ", B);
cin >> kathete1;
if (kathete1 > 0)
{
Dlprintt("gebe die zweite Kathete ein (wenn du sie nicht kennst gib \"0\" ein): ", B);
cin >> kathete2;
if (kathete2 > 0)
{
Dlprintt("gebe die Hypotenuse ein (wenn du sie nicht kennst gib \"0\" ein): ", B);
cin >> hypotenuse;
}
else
{
Dlprintt("gebe die Hypotenuse ein: ", B);
cin >> hypotenuse;
}
}
else
{
Dlprintt("gebe die zweite Kathete ein: ", B);
cin >> kathete2;
Dlprintt("gebe die Hypotenuse ein: ", B);
cin >> hypotenuse;
}
if (hypotenuse <= kathete1 || hypotenuse <= kathete2)
{
Dlprinttl("Error: die hypotenuse ist kleine als eine Kathete!",B);
system("Pause");
continue;
}
if (kathete1 <= 0)
{
kathete1 = hypotenuse*hypotenuse - kathete2*kathete2;
kathete1 = sqrt(kathete1);
cout << "die erste kathete ist: " << kathete1 << endl;
if (check == 'y')
system("Pause");
}
else
{
if (kathete2 <= 0)
{
kathete2 = hypotenuse*hypotenuse - kathete1*kathete1;
kathete2 = sqrt(kathete2);
cout << "die zweite kathete ist: " << kathete2 << endl;
if (check == 'y')
system("Pause");
}
else
{
if (hypotenuse <= 0)
{
hypotenuse = kathete1*kathete1 + kathete2*kathete2;
hypotenuse = sqrt(hypotenuse);
cout << "die hypoenuse ist: " << hypotenuse << endl;
if (check == 'y')
system("Pause");
}
else
{
Dlprinttl("Error: Alle Seiten sind bekannt!", B);
system("Pause");
}}}
A = 1;
B = 1;
if (check == 0)
{
Sleep(10);
cout << "\n\nWillst du mehrmals rechnen? (y/n): ";
cin >> check;
if (check != 'y')
{return 0;}
}
}
return 0;
}