Hvad er fejlen i min source her? 150 points på spil :D eller up *

Tags:    c++

<< < 12 > >>
kan ikke finde fejlen, plz hjælp.. :




#include <iostream.h>

int main(void)
{

// ærklære jeg variablerne..


int gange;
const char* tekst;


cout << "Velkommen. du skal nu skrive hvad der skal staa i din lokke:";

cin >> tekst;



cout << "og saa nu skal du skrive hvor mange gange den skal loobe igennem.";

cin >> gange;



for (antal = 1; antal <= gange;antal++){

cout << gange << ": "; << tekst;
}



cout << "FINNISH - codede by Daniel";

}





12 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato

Burde virke... har ikk lige tjekket den ;)


Det virker IKKE.

Jeg synes at du skulle prøve at kompilere koden og prøve om den virker.

Der er ca. 10 fejl i koden.


Du har sku ret sorry :D
Nå nu har jeg testet den og denne virker fint i Dev-C++!:

Fold kodeboks ind/udKode 


Får kun en mærkelig warning men elers virker det.
Prøv den engang :)
-------------------------------------------------------------------------
/*Dette indlæg er ikk skrevet af mig. Det har skrevet sig selv*\Tror jeg nok :)

[Redigeret d. 14/06-05 21:38:26 af Dark]



kan ikke finde fejlen, plz hjælp.. :




#include <iostream.h>

int main(void)
{

// ærklære jeg variablerne..


int gange;
const char* tekst;


cout << "Velkommen. du skal nu skrive hvad der skal staa i din lokke:";

cin >> tekst;



cout << "og saa nu skal du skrive hvor mange gange den skal loobe igennem.";

cin >> gange;



for (antal = 1; antal <= gange;antal++){

cout << gange << ": "; << tekst;
}



cout << "FINNISH - codede by Daniel";

}



Hvorfor vil du have en konstant? Prøv at fjern den. Jeg er ikke for klog indenfor dette område, men jeg vil da mene at du ikke kan ændre på en konstant :)
Slot - All your base are belong to us
http://www.sigsys.dk



En version der virker, jeg har markeret ændringer:
Fold kodeboks ind/udKode 


Du bør overveje at bruge std::string og ikke char [], samt getline



ok, hvad var min fejl helt præcis? har aldrig hørt om det der mærkelige noget ;P men har os kun kodet i en uge..

Men hvorfor lavede du den til Char [1024] ?
og hvorfor <iostream> og ikke <iostream.h> ?



Med char *text; laver du en pointer til char, men den peger ikke på noget, så programmet fejler når du forsøger at læse en streng ind i den.

med char text[1024]; laver du et array af char, dvs. du afsætter også plads til strengen.

I "rigtig" (dvs. standard ANSI) C++ hedder header filen iostream og ikke iostream.h, man bør bruge standard header filer, da alle kompilere har dem (og de opfører sig nogenlunde ens på alle kompilere).

Du manglede også en erklæring af antal variablen, og der var et ; for meget. i linien hvor du udskriver.



En version der virker, jeg har markeret ændringer:
Fold kodeboks ind/udKode 


Du bør overveje at bruge std::string og ikke char [], samt getline

Der kan være kun være 1024 tegn i tekst. Er det ikke smartere, hvis at man gør sådan at man har en string istedet?
Det kan man vel gøre med:
#include <string>
og
string tekst;

Hilsen Mathias



Jeg ville nu gøre sådan:

Fold kodeboks ind/udKode 


Burde virke... har ikk lige tjekket den ;)




Burde virke... har ikk lige tjekket den ;)


Det virker IKKE.

Jeg synes at du skulle prøve at kompilere koden og prøve om den virker.

Der er ca. 10 fejl i koden.



Der er ingen iostream.h i ansi/iso C++. Den hedder iostream, og så skal man skrive using namespace std; i toppen af filen eller skrive std:: foran cout, cin osv.
Den warning som kompileren giver er ikke mærkelig.

Der finde ikke nogen god grund til at dette virker:
Fold kodeboks ind/udKode 


Der afsættes ikke plads til det man læser. text kunne være en char array.

Men man bør ikke bruge >> med char * eller char array.



Der er ingen iostream.h i ansi/iso C++. Den hedder iostream, og så skal man skrive using namespace std; i toppen af filen eller skrive std:: foran cout, cin osv.
Den warning som kompileren giver er ikke mærkelig.

Der finde ikke nogen god grund til at dette virker:
Fold kodeboks ind/udKode 


Der afsættes ikke plads til det man læser. text kunne være en char array.

Men man bør ikke bruge >> med char * eller char array.


det der med iostream filen forstår jeg ikk lige

Men du har ret i at char tingen ikk funger 100% Vil selv heler bruge en string til det :)

Men det må han jo om. Vis det bare er en linie han vil skrive som sin hilsen så det jo ok..

--------------------------------------------------------------------------
/*Dette indlæg er ikk skrevet af mig. Det har skrevet sig selv*\Tror jeg nok :)



<< < 12 > >>
t