001
04.09.2004, 14:34 Uhr
Pablo
Supertux (Operator)
|
1. die Benutzung von
C++: |
#include <iostream.h> #include <fstream.h> ... cout endl
|
ist veraltet. Benutze stattdessen
C++: |
#include <iostream> #include <fstream> ... std::cout std::endl
|
2. void main ist ein Fehler! main ist nach C99 und ISO C++ int main und liefert 0 wenn alles glatt gelaufen ist, etwas ungleich 0 bei Fehlern. Hier mehr dazu.
Wenn du 2 char* vergleichen willst, dann ist
falsch, weil *word1 leifert nur das erste Zeichen, *vokd auch, also vergleichst du nur jeweils nur die ersten Zeichen. Wenn du die Strings vergleichen willst,k musst du strcmp nehmen. strcmp liefert 0 bei Gleichheit. Also
C++: |
if (strcmp(word1,vokd)==0) { /* word1 und vokd sind gleich */ }
|
3. Wenn du C++ nimmst und mit fstreams und so arbeitets, dann benutze
C++: |
#include <string> ... std::string s = "Hello world";
|
Das ist in C++ besser.
4. Du reservierst Speicher mit new char[155]. Dieser Speicher muss aber mit delete [] variablename freigegeben werden, sonst enstehen Speicherlecks.
Also am Ende des Code oder wenn du die Variablen nicht mehr brauchst
C++: |
delete [] word1; delete [] vokd; delete [] voks;
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 04.09.2004 um 14:34 Uhr von Pablo editiert. |