000
14.12.2005, 10:44 Uhr
Leopard
|
Hallo liebe Programmier,
ich hätte eine kleine Aufgabe zu dem unter geschriebenen Code, und zwar: "Schreibe das Programm (The Secret Word) so um, dass Ein- und Ausgabe auf Deutsch und Englisch möglisch sind. Der Benutzer soll fähig sein, die Sprache zu wählen. Falls Deutsch gewählt wurde, soll das Geheimwort aus der folgeneden Liste sein:
- Cplusplusprogrammierung - Benutzeroberflaeche - Objektorientiert - Funktionsaufruf - Hauptprogramm - Zeiger - Script - Variable - Konstante - Ausdruck
der Code lautet:
C++: |
#include <iostream> #include <stdlib.h> #include <time.h> #include <string.h> using namespace std; #define N_KEYS 12 #define KEY_MAX_WIDTH 20 #define FAILS_ALLOWED 7
char key [KEY_MAX_WIDTH];
char outstring [KEY_MAX_WIDTH];
int CheckLetter (char letter);
main () { char input; int valid; int fails = FAILS_ALLOWED; unsigned int discoverd = 0; unsigned n; char possiblekeys[KEY_MAX_WIDTH][N_KEYS]; srand ( time (NULL) ); int value = rand()%N_KEYS; strcpy (key, possiblekeys [value]); for (n=0; n<strlen (key); n++) outstring [n]='n'; outstring [n]='\0'; do { cout << "\n Discover the secret key; " << outstring << "\n"; cout << "Enter a letter (You may fail " << fails << " times): "; cin >> input; cin.ignore (100,'\n'); valid = CheckLetter (input); if (valid!=0) discoverd+=valid; else fails --; } while (discoverd < strlen (key) && fails >0); if (discoverd == strlen(key)) cout << " CORRECT! "; cout << "Key was \'" << key << "\'.\n";
return 0; } int CheckLetter (char letter) { unsigned int n; int found=0; for (n=0; n<strlen (key); n++) if (key [n]==letter && outstring [n]=='-') { found++; outstring [n]=key[n]; } return found; cin.get(); }
|
hoffe, dass jemand sich was einfallen laesst!!
Leo |