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

Kane

Frischling

  • »Kane« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Frankenhaag

Beruf: Schüler

  • Private Nachricht senden

1

05.01.2006, 13:14

Wurzeln in C++??

Hi
Ich hab gedacht ich mach mal ein Programm zum Lösen quadratischer Gleichungen.
hier das script:

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
//Programm zum Lösen quadratischerGleichungen

#include <iostream>
using namespace std;
int main ()
{
    int eingabe;
    char ch_eingabe;
    int auswahl;
    cout<<"Loesungsformel fuer quadratische Gleichungen\n\nwritten by KANE\n\n";
    cout<<"Press (S) to start"<<endl;
    cin>>ch_eingabe;
    cout<<"------------------------------------"<<endl;
    if ((ch_eingabe == 'S')||(ch_eingabe == 's'))
    {
        while (eingabe != 2)
        {
            //variablen für die formelberechnung

            double d_a;
            double d_b;
            double d_c;
            double d_D;
            //eingabe der werte

            while (auswahl != 2)
            {
                cout<<"Das Programm geht von der Grundform aus. ax*x+bx+c\nStatt Komma bitte Punkt setzen!\n"<<endl;
                cout<<"a: ";
                cin>>d_a;
                cout<<"b: ";
                cin>>d_b;
                cout<<"c: ";
                cin>>d_c;
                cout<<d_a<<"x*x + "<<d_b<<"x + "<<d_c<<endl;
                cout<<"\n1: Eingabe korrigieren\n2: Weiter\n\nEingabe: ";
                cin>>auswahl;
                cout<<"\n\n\n";
            }
            auswahl=0;
            //diskriminante d_D berechenen

            d_D=d_b*d_b-4*d_a*d_c;
            cout<<"Diskriminante berechnen:   D = "<<d_D<<"\n\n";
            if(d_D>0)
            {
                double d_ergebniseins;
                double d_ergebniszwei;
                //x1

                d_ergebniseins = (-d_b+d_D/d_D)/(2*d_a);
                cout<<"x1 ist "<<d_ergebniseins<<endl;
                //x2

                d_ergebniszwei=(-d_b-d_D/d_D)/(2*d_a);
                cout<<"x2 ist "<<d_ergebniszwei<<endl;
            }
            else if (d_D==0)
            {
                double d_ergebnis;
                d_ergebnis=(-d_b+d_D/d_D)/(2*d_a);
                cout<<"x ist "<<d_ergebnis<<endl;
            }
            else if (d_D<0)
            {
                cout<<"Kein Ergebniss ..... Nicht loesbar"<<endl;
            }
            cout<<"\n1: Weitere quadratische Gleichung berechnen\n2: Beenden\n\nEingabe: ";
            cin>>eingabe;
            cout<<"\n\n\n\n";
            if (eingabe == 1)
            {
                cout<<"okay"<<endl;
            }
            else if (eingabe == 2)
            {
                cout<<"Beenden"<<endl;
            }
            else
            {
                cout<<"falsche Eingabe\n\n Bitte neustarten\n\n";
            }

        }
    
    }
    else
    {
        cout<<"falsche Eingabe\n\n Bitte neustarten\n\n";
    }
    return 0;
}

[Codetags von Spik :)]

folgendes Problem: Wurzel ist ja nicht Zahl durch sich selbst (wie ich nach einigem Überlegen feststellen musste)
Meine Frage ist jetzt, wie man Wurzeln in C++ schreibt.
Danke Kane
Die Weisheit rannte mir hinterher, doch ich war schneller...

Anonymous

unregistriert

2

05.01.2006, 13:17

1. Codetags benutzen.
2. Unicode benutzen.
3. Escapesequenzen nicht benutzen sondern std::endl;
4. using namespace std; raus
5. std:: vor Standardtypen setzen
6. #include <cmath>
7. std::sqrt (value);

Anonymous

unregistriert

3

05.01.2006, 15:39

??? ??? ???
naja also ich arbeite mit dem buch c++ für spieleprogrammierer
bin bei kapitel 4 => Versteh jetzt nicht so wirklich
1 versteh ich nicht
2 "
3 ohne die escapesequenzen kann ich doch nicht mehrere zeilen auslassen
4 warum? im buch ist das immer drin
5 versteh ich nicht
6 zusätzlich zu #include <iostream> (kann es dann matheregeln, und wenn ja wie schreibt man wurzel ?)
7 sorry kein plan

so hoffe ich nerve nicht mit meinem Nichtwissen....bin noch ein newbie :-D
Danke Kane

Kane

Frischling

  • »Kane« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Frankenhaag

Beruf: Schüler

  • Private Nachricht senden

4

05.01.2006, 15:41

nächster n00b fehler
vergessen mich einzuloggen ..... sabber
Die Weisheit rannte mir hinterher, doch ich war schneller...

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

5

05.01.2006, 16:02

zu
1. [cpp] und [/cpp-] (ohne das minus) vor den Code den du posten willst schreiben oder eben auf C++ Code klicken
2. wchar_t statt char
3. doch eben mit

Quellcode

1
<< std::endl

4. is sone eigenart von nix da :-D :-D , kannst es auch drinne lassen. Aber vor allem bei großen Projekten sollte man es weglassen, da es leicht zu Namenskonflikten kommen kann
5. nur wenn du

Quellcode

1
using namespace std;
rausnimmst, also dann z.B.

Quellcode

1
std::cout << "HiHo" << std::endl;

6. nein cmatch ist ein anderer header, der Mathefunktionen deklariert , wie z.B.
7. sqrt(zahl) = wurzel von zahl

PS: das da oben is kein script ^^ :roll: :roll: :roll:
PS2: seltsam, cpp codetags ham net gefunkst...
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

leo

Frischling

  • Private Nachricht senden

6

05.01.2006, 16:09

Zitat von »"DarkFitzi"«


4. is sone eigenart von nix da :-D :-D , kannst es auch drinne lassen


Nein, das ist keine Eigenart von nix da - man sollte einfach kein using benutzen.

Ein ganz einfaches Beispiel:

C-/C++-Quelltext

1
2
3
4
5
6
#include <vector>
using namespace std;

class vector {};

vector foo;

Welches vector soll der Compiler jetzt nehmen? Den eigen definierten oder den anderen?

C-/C++-Quelltext

1
2
3
4
5
6
#include <vector>

namespace my { class vector {}; }

my::vector foo;
std::vector bar;

Hier ist jetzt klar, welches vector jeweils gemeint ist.

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

7

05.01.2006, 16:13

leo
mir sind die Nachteile von using durchaus bewusst!
Nur brauch man nicht bei jedem noch so piepslich kleinem Projekt darauf zu achten...
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

Anonymous

unregistriert

8

05.01.2006, 16:15

DarkFitzi
Je eher man drauf achtet, desto besser. Ob das Projekt groß oder klein ist, ist keine Begründung schlampig zu werden oder seinen Codestil zu vernachlässigen ;)

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

9

05.01.2006, 16:24

mir hat es aber den Eindruck gemacht, als ob ergar nich weis, was using namespace std; bedeutet...
finde das man das auch schnell checkt, also muss man das nun nicht gleich in der ersten Lektion lernen
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

Kane

Frischling

  • »Kane« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Frankenhaag

Beruf: Schüler

  • Private Nachricht senden

10

06.01.2006, 16:34

Also erstaml Danke
um ehrlich zu sein ich hab keinen Plan was "using namespace bedeutet"
wenn ich das nicht schreibe muss ich dann vor jedes cout und cin "std::" setzen?
kann ich das # include <cmath> zusammen mit #include <iostream verwenden? müsste gehen oder ?
was ist der unterschied bei 2. ?
und was ist der unicode?
kriegt man auch ohne die Escapesequenzen z.B. slashes (plural???) oder Piepstöne usw rein?
Fragen über Fragen :-D
thx Kane
Die Weisheit rannte mir hinterher, doch ich war schneller...

Werbeanzeige