000
29.01.2007, 09:46 Uhr
Svolf
|
Hi,..und zwar soll ich ein Spiel programmieren(Informatikunterricht) und habe mir erstmal ein kleines Programm geschrieben für die Namen, dass wie folgt aussieht:
Code: |
#include <cstdlib> #include <iostream> #include <conioex.h>
using namespace std;
int zufall; int zufall_2; int wert; char name[5][11];
int main(int argc, char *argv[]) { srand(time(NULL)); for(int x=0; x<6; x++) { system("cls"); gotoxy(35,10); zufall=rand()%70; zufall_2=rand()%100; cout << zufall << " + " << zufall_2 << ": "; cin >> wert; system("cls"); gotoxy(30,10); cout << "Wie lautet ihr Name: "; cin >> name[x]; } system("cls"); for(int i=0; i<6; i++) { gotoxy(30,10 + i); cout << name[i]; } system("PAUSE"); return EXIT_SUCCESS; }
|
Und zwar nun meine Frage mit name[5][11] darf man maximal 5 Namen speichern die je 10 Zeichen lang sind (11 Zeichen /0),...aber in der Schleife lese ich nur die Zeilen aus mit den Spalten,.aber man kann doch theoretisch mehr als 10 Zeichen angeben und das Programm stürtzt ab =(,..
Ich wollte fragen,..ob mir jemand ein einfaches Beispiel (besten wäre mit mein Programm) zeigen kann wie man nur max. 10 Zeichen für einen Namen erkennt.
Desweiteren habe ich das Programm hier noch:
Code: |
include <iostream> #include <conio>
#define MAX_CHAR 10
int main () { char getName[50]; char name[5][MAX_CHAR]; int nameCount;
std::cout << "Dein Name "; std::cin >> getName;
for (int i = 0; i < MAX_CHAR; ++i) { name[nameCount][i] = getName[i]; } name[nameCount][MAX_CHAR] = ' ';
std::cout << std::endl << "Hallo " << name[nameCount] << std::endl;
getch ();
return 0; }
|
Doch leider, wenn man da mer als 10 Zeichen eingibt kommen sone komischen Zeichen. Vielleicht kann mir ja einer sagen wieso/warum? und mir es vielelicht auch an einem BEispiel erklären.
Schon einmal DANKE im voraus,
mfg Svolf Dieser Post wurde am 29.01.2007 um 09:47 Uhr von Svolf editiert. |