Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

06.01.2014, 18:01

Tu dir selbst einen gefallen und rück den Kram bei jeder neuen geschweiften Klammer, die du aufmachst, einen Tab weiter ein. So sieht kein Mensch, wann wo was beginnt oder aufhört...

StupidWiseMan

Frischling

  • »StupidWiseMan« ist der Autor dieses Themas

Beiträge: 12

Beruf: Gymnasiast

  • Private Nachricht senden

12

06.01.2014, 18:04

Dass der Kram nicht hübsch aussieht is mir selbst auch bewusst, ich bin ja noch am ändern wie ein Wahnsinniger weil kaum hat man ein Problem gelöst kommt das Nächste zum vorschein. Jedoch glaube ich sagen zu können, dass wenn das If-Problem weg is es endlich geht und dann ers fange ich mit Schöhnheitsops an.

StupidWiseMan

Frischling

  • »StupidWiseMan« ist der Autor dieses Themas

Beiträge: 12

Beruf: Gymnasiast

  • Private Nachricht senden

13

06.01.2014, 18:05

Tu dir selbst einen gefallen und rück den Kram bei jeder neuen geschweiften Klammer, die du aufmachst, einen Tab weiter ein. So sieht kein Mensch, wann wo was beginnt oder aufhört...

gib mir 5 min

14

06.01.2014, 18:09

Ich würde auch empfehlen die geschweiften Klammern in eine eigene Zeile zu setzen (zumindest die Schließenden). Wenn da jemand drüber schauen soll, musst du eben ein bisschen aufräumen, sonst werden die meisten hier einfach nur wortlos den Thread verlassen.

StupidWiseMan

Frischling

  • »StupidWiseMan« ist der Autor dieses Themas

Beiträge: 12

Beruf: Gymnasiast

  • Private Nachricht senden

15

06.01.2014, 18:11

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <iostream>
using namespace std;
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main() {
    double a;   //Gegebene Seite
    int d;  //wahrheitswert
    int x;  //formelwert
    double y;   //zwischeninteger nr.1
    double z;   //zwischeninteger nr.2
    double z1;  //zwischeninteger nr.3
    double z2;  //zwischeninteger nr.4
    double z3;
    double z4;
    double z5;
    double z6;
    double z7;
    double z8;
    double z9;
    double test1;
    double test2;
    double test3;
    double f;
    double f1;
    long double schleife1;
    long double schleife2;
    long double finalif1;
    long double finalif2;
    int i;
    int I;
    int loop;
    long double finaldone;
    for (;;){
        loop = 0;
        x = 2;
        i = 1;
        I = 0;
        cout.precision(15);
        cout << "Bitte die Seitenlänge von A angeben:\n";
        cin >> a;
        if(a >= 0)      //Hier wird ein Errorloop benötigt für else
        cout << "Ist die gegebene Seite die Hypothenuse? (0=n/1=j)\n"; // auf ja/nein tastenbestätigung ändern
        cin >> d;
        if(!(d != 0 && d != 1))     //Hier wird ein Errorloop benötigt für else
        if(d == 1)
        y = pow(a, x);
        z = y/2;
        z1 = sqrt(z);
        z6 = z1*10;
        z7 = z6+0.5;
        z8 = floor(z7);
        z9 = z8/10;
        z2 = z9/10;
        z3 = pow(z2, x);
        z4 = z3*2;
        z5 = sqrt(z4);
        f1 = 10*z5+0.5;
        f = floor(f1)/10;
        test1 = pow(z9-f, x);
        test2 = pow(z9+f, x);
        test3 = test1+test2;
        schleife1 = z9-f;
        schleife2 = z9+f;
        if (test3 == a*a){
            cout << "Seite A:" << z9-f << "\n";
            cout << "Seite B:" << z9+f << "\n";
            cout << "Ja   " << test3 << "\n\n";}
        if (!(test3 == a*a)){
            //cout << "Nein   " << test3 << "   " << f1 << "\n\n";
            schleife1 = schleife1*10;
            schleife1 = schleife1+0.5;  
            schleife1 = floor(schleife1);
            schleife1 = schleife1/10;
            schleife2 = schleife2*10;
            schleife2 = schleife2+0.5;
            schleife2 = floor(schleife2);
            schleife2 = schleife2/10;
            for (;;){
                if (loop == 0){
                    schleife1 = schleife1-0.01;}
                if (loop == 1){
                    schleife2 = schleife2-0.01;}
                finalif1 = schleife1*schleife1;
                finalif2 = schleife2*schleife2;
                finaldone = finalif1+finalif2;
                cin.get();
                if (i == 1 && I == 0){
                    I = 1;
                    i = i+1;
                    system("cls");
                    cout << "Bitte warten.\n" << schleife1 << "   " << schleife2 << "\n" << finalif1 << "   " << finalif2 << "\n" << finaldone << "   " << a*a << "\n";}
                if (i == 2 && I == 0){
                    I = 1;
                    i = i+1;
                    system("cls");
                    cout << "Bitte warten..\n" << schleife1 << "   " << schleife2 << "\n" << finalif1 << "   " << finalif2 << "\n" << finaldone << "   " << a*a << "\n";}
                if (i == 3 && I == 0){
                    I = 1;
                    i = 1;
                    system("cls");
                    cout << "Bitte warten...\n" << schleife1 << "   " << schleife2 << "\n" << finalif1 << "   " << finalif2 << "\n" << finaldone << "   " << a*a << "\n";}
                if (loop == 0){
                    loop = 1;}
                else{
                    loop = 0;}
                I = 0;
                if (finaldone == a*a){
                    goto ende;}
ende:{
    cout << "Seite A:" << schleife1 << "\n";
    cout << "Seite B:" << schleife2 << "\n";
    cout << "Ja   " << "\n\n";}}}}
    //cout << finalif1 << " " << finalif2; 
    return 0;
}

Tankard

Treue Seele

Beiträge: 192

Beruf: Student, Hardware- und Softwareentwicklung als wissenschaftliche Hilfskraft

  • Private Nachricht senden

16

06.01.2014, 18:14

Außer der Formatierung solltest du dir über ein paar weitere Dinge klar werden.

Du mischst C und C++. Du hast eine Menge nichtssagender Variablen die einfach alle am Anfang der Main deklariert sind. Wenn du nur kurz ein Zwischenergebnis speichern willst, dann würde ich dieses Ergebnis auch nur an dieser Stelle deklarieren. Was genau willst du berechnen? Irgendwas mit einemDreiecke wahrscheinlich, aber was genau (hilft uns auch dir zu helfen wenn wir genau wissen was das werden soll)? Kannst du nicht eventuell Dinge in Funktionen mit aussagekräftigen Namen auslagern? Das macht es viel leichter zu lesen/zu verstehen. Du hast auch Kommentare die nicht zum Code passen.

Von welcher Formel und welchen Abweichungen spricht du eigentlich genau?

StupidWiseMan

Frischling

  • »StupidWiseMan« ist der Autor dieses Themas

Beiträge: 12

Beruf: Gymnasiast

  • Private Nachricht senden

17

06.01.2014, 18:15

Nunja ich kann gut verstehen wenn das noch ziemlich bescheiden aussieht hab ja grad ers angefangen....
Jedoch ist es Tatsache, dass die Werte stimmen und meine Frage bleibt warum die hiesige Zeile 111 mit der If-Bedinung einfach wie eine leere Zeile behandelt wird genau wie return 0;

Tankard

Treue Seele

Beiträge: 192

Beruf: Student, Hardware- und Softwareentwicklung als wissenschaftliche Hilfskraft

  • Private Nachricht senden

18

06.01.2014, 18:17

Fließkommazahlen niemals auf Gleichheit prüfen. Durch die interne Darstellung wirst du quasi immer leichte Ungenauigkeiten haben. 0 ist nunmal nicht gleich 0.000000000000000000000000000001.

Trotzdem würde ich dir dringend empfehlen das komplette Programm zu überdenken.

StupidWiseMan

Frischling

  • »StupidWiseMan« ist der Autor dieses Themas

Beiträge: 12

Beruf: Gymnasiast

  • Private Nachricht senden

19

06.01.2014, 18:18

Außer der Formatierung solltest du dir über ein paar weitere Dinge klar werden.

Du mischst C und C++. Du hast eine Menge nichtssagender Variablen die einfach alle am Anfang der Main deklariert sind. Wenn du nur kurz ein Zwischenergebnis speichern willst, dann würde ich dieses Ergebnis auch nur an dieser Stelle deklarieren. Was genau willst du berechnen? Irgendwas mit einemDreiecke wahrscheinlich, aber was genau (hilft uns auch dir zu helfen wenn wir genau wissen was das werden soll)? Kannst du nicht eventuell Dinge in Funktionen mit aussagekräftigen Namen auslagern? Das macht es viel leichter zu lesen/zu verstehen. Du hast auch Kommentare die nicht zum Code passen.

Von welcher Formel und welchen Abweichungen spricht du eigentlich genau?

Da ist leider mein 2tes Problem ich denke eine Formel entdeckt zu haben die es in der Form noch nicht gibt. Ich habe diese Formel selbst entwickelt und will sie nun als ein Programm verfassen da es genau wie bei der Wurzelrechnung bequemer ist wenn die Maschine die Annäherungsrechnung durchführt. Zudem kommen keine Fließkommazahlen vor :D . In der Programmierung wie in meiner Formel muss gerundet werden da sonst A²+B² ungleich C² wäre :D. Klingt alles sehr konfus glaub ich aber es funktioniert. Ich habe mir diese Formel in einer Mathe-LK Klausur ausgedacht und sie wurde akzeptiert. Im Prinzip kann ich den Satz des Pythagoras zerlegen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »StupidWiseMan« (06.01.2014, 18:28)


StupidWiseMan

Frischling

  • »StupidWiseMan« ist der Autor dieses Themas

Beiträge: 12

Beruf: Gymnasiast

  • Private Nachricht senden

20

06.01.2014, 18:24

Fließkommazahlen niemals auf Gleichheit prüfen. Durch die interne Darstellung wirst du quasi immer leichte Ungenauigkeiten haben. 0 ist nunmal nicht gleich 0.000000000000000000000000000001.

Trotzdem würde ich dir dringend empfehlen das komplette Programm zu überdenken.
An der Stelle muss ich dir sagen hatte es bevor ich den zuerst geposteten Abschnitt verfasst hatte teilweise funktioniert, nun funktiniert es überhaupt nicht mehr. Dabei gehörten natürliche Zahlen mit zu den nicht funktionierenden Werten.

Werbeanzeige