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

1

02.07.2006, 17:44

"cout" undeclared identifier / ?

Hi,

ich hab gestern meine Festplatte formatiert und heute das Plattform SDK und den Compilier wieder installiert aber obwohl ich mich haargenau an Nix Da's tutorial gehalten habe sagt der mir plötzlich er kennt cout nicht

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
#include <iostream>

class fib                           // definiere die Klasse fib

{
public:                            // definiert alle in der Class fib vorhandenen Objekte als öffentlich

    unsigned long long ergebnis;   // implementiere eine Variable für das Ergebnis in die Klasse

    long fibonacci(int nummer);    // implementiere die Methode fibonacci in die Klasse

};

long fib::fibonacci(int nummer)   // definiere die Methode fibonacci der Klasse fib

{
unsigned long int erste_zahl=0;   //definiere Variabeln

unsigned long int zweite_zahl=1;  //

unsigned long int ergebnis=0;     //

int i;                            //

 

for(i=0;i>nummer;i++)                         //berechne die als Parameter an die Methode

{                                             //fib übergebene fibonacci Zahl!

    ergebnis = erste_zahl + zweite_zahl;      //

    erste_zahl=zweite_zahl;                   //

    zweite_zahl=ergebnis;                     //

}

return ergebnis;                              //gebe das ergebnis an die Klasse fib zurück. 


}
    
    


int main()
{
    fib zahl;
    zahl.ergebnis=zahl.fibonacci(30);
    cout << zahl.ergebnis; 
}
 



müsste das nicht gehen?


Fehlermeldung

Quellcode

1
2
3
4
5
6
7
------ Build started: Project: main, Configuration: Debug Win32 ------
Compiling...
main.cpp
d:\dokumente und einstellungen\theprogrammmer\eigene dateien\visual studio 2005\projects\main\main\main.cpp(36) : error C2065: 'cout' : undeclared identifier
Build log was saved at "file://d:\Dokumente und Einstellungen\ThEpROGrammmer\Eigene Dateien\Visual Studio 2005\Projects\main\main\Debug\BuildLog.htm"
main - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


bin momentan hilflos, denn ohne cout gehts bei mir gar nicht vorwärts....

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

3

02.07.2006, 17:46

du musst ein std:: vor cout schreiben

4

02.07.2006, 18:01

ihr seid Götter für mich! ^^ :D

Verteufeltes Dev C++ compilier. Ich benutz noch nicht lange den Visual Studio 8compilier. Bei dev c++ konnte man das std:: nicht davorschreiben.


@Nix da
Jetzt haste noch einen Grund mehr wieso man Dev c++ nicht benutzen osllte!

5

02.07.2006, 18:06

ich hab noch ne kleine frage. >Ich hab den Befehl vergessen ( ich hatte ne kurze programmierpauseu nd hab ein paar Sachen vergessen)
der mit dem weiteren ausführen des programms wartet bis man eine beliebige Taste gedrückt hat...

Anonymous

unregistriert

6

02.07.2006, 18:15

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>

int main (void)
{
        // Text ausgeben

    std::cout << "Hallo Welt!" << std::endl;

        // Wenn man std::cin vorher schon benutzt hat, 

        // muß der Eingabepuffer neu synchronisiert werden:

        // Wird es vorher nicht benutzt, ist diese Zeile überflüssig

    std::cin.sync ();
        // Warten bis RETURN gedrückt wurde

    std::cin.get ();

    return 0;
}

7

02.07.2006, 18:23

thx.
Ich hab mein Programm ausgeführt das mir die fibonacci zahlen berechnen soll, es sieht jetzt so aus:

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
#include <iostream>

class fib                           // definiere die Klasse fib

{
public:                            // definiert alle in der Class fib vorhandenen Objekte als öffentlich

    unsigned long int ergebnis;   // implementiere eine Variable für das Ergebnis in die Klasse

    long fibonacci(int nummer);    // implementiere die Methode fibonacci in die Klasse

};

long fib::fibonacci(int nummer)   // definiere die Methode fibonacci der Klasse fib

{
unsigned long int erste_zahl=0;   //definiere Variabeln

unsigned long int zweite_zahl=1;  //

unsigned long int ergebnis=0;     //

                          
 

for(int i=0;i>nummer;i++)                         //berechne die als Parameter an die Methode

{                                             //fib übergebene fibonacci Zahl!

    ergebnis = erste_zahl + zweite_zahl;      //

    erste_zahl=zweite_zahl;                   //

    zweite_zahl=ergebnis;                     //

}

return ergebnis;                              //gebe das ergebnis an die Klasse fib zurück.


}
   
   


int main()
{
    fib zahl;
    zahl.ergebnis=zahl.fibonacci("30");
    std::cout << zahl.ergebnis;
    std::cin.sync ();
    std::cin.sync ();
        return 0;
}
 

Dummerweise kommt egal was ich in die klammer setzte eine rießige zahl raus die immer gleich ist... was hab ich falsch gemacht?

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

8

02.07.2006, 18:28

du musst

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
int main()
{
    fib zahl;
    zahl.ergebnis=zahl.fibonacci(30); // ohne ""

    std::cout << zahl.ergebnis;
    std::cin.sync ();
    std::cin.sync ();
        return 0;
}


da du sonst mit einer Adresse rechnest. "30" ist ein String, eine Zeichenkette. 30 ist jedoch eine Zahl.

Anonymous

unregistriert

9

02.07.2006, 18:34

Wie koschka schon sagte übergibst Du einen String.

Hab auf die Schnelle mal eine etwas "schönere" iterative Lösung geschrieben:

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
#include <iostream>

    // Funktion zur Berechnung der Fibonacci-Werte

unsigned long fibonacci (unsigned long n)
{
        // Rückgabewert definieren

    unsigned long result = 1;

        // Wenn 'n' größer als 3 ist, kann Fibonacci berechnet werden

    if (n>3)
       for (unsigned long i=3, memory_first=1, memory_second=2; i<=n; result=memory_first+memory_second, 
                                                                      memory_first=memory_second, 
                                                                      memory_second=result, 
                                                                      ++i);

        // Fibonacci-Wert wiedergeben

    return (result);
};

int main (void)
{
    std::cout << fibonacci (30);

    std::cin.get ();

    return 0;
}


Hab sie nicht getestet, war nur ausm Kopf

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

10

02.07.2006, 18:45

oder die rekursive Version, auch nicht gestestet ^^

C-/C++-Quelltext

1
2
3
4
5
6
unsigned __int32 fib(unsigned __int32 n)
{
  if(n == 0) return 0;
  else if(n == 1) return 1;
  else return (fib(n-2)+fib(n-1));
}

Werbeanzeige