Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Bitte Hilfe beim Code

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
16.12.2005, 22:43 Uhr
Leopard



Hallo liebe Leute

Ich brauche dringend Hilfe bei diesem Code. Was ist falsch dran .. einfach kopieren und in cpp einfuegen. ich bitte um sofortige Hilfe, da ich das Ding am Montag abgeben muss!!!


C++:
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#define N_KEYS 12
#define KEY_MAX_WIDTH 20        
#define FAILS_ALLOWED 7
using namespace std;



int main () {
    
    int CHOICE;
    int englisch =1;
    int deutsch =2;
    
cout << "Geben Sie (1) fuer Englisch oder (2) fuer Deutsch\n" ;
cin >> CHOICE;

switch (CHOICE) {
     case 1 : int Englisch () {
     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]='-';
     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 Englisch;
          
         }
         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;
             } break;
    


       case 2: int Deutsch ()
{
     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]='-';
     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 Deutsch;
          
         }
         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;
             } break;
    









Danke im Vorraus
Gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.12.2005, 22:58 Uhr
predator



1. Das hier ist kein Hausaufgabenservice!
2. Du hast jetzt das ganze Wochenende Zeit, dir das anzuschauen, also mach was aus der Zeit!
--
Gruß
predator
Zitat von Edsger W. Dijkstra:
Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.12.2005, 23:15 Uhr
Leopard



ich war die ganze Woche mit so was beschäftigt und hab 3 Aufgaben gemacht und diesen Code habe ich selbst erstellt und brauche nur zu wissen was ich falsch gemacht habe!
Wie kann ich meinen Fehler entdecken denn , ha? versuch mal den Code zu lesen und zu wissen was man besser haette programmieren koennen ..
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.12.2005, 23:17 Uhr
predator



Wenn du nicht einmal sagst, was der Fehler ist, wird dir hier vermutlich niemand helfen können/wollen.
--
Gruß
predator
Zitat von Edsger W. Dijkstra:
Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.12.2005, 23:20 Uhr
Leopard



aha!! die Fehler sieht man besser,wenn man den Code compilierst. Ich meine, wer etwas zu seiner Programiierkenntnisse tun will/muss , sollte / muesste sich Muehe geben. Waere ich ein guter Programmierer, wuerde ich allen helfen (wollen)!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.12.2005, 23:28 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

In dem Tonfall wirst Du hier kaum Hilfe finden. Einen Code posten und "helft mir, das hier geht nicht" schreiben, bringt nix. Eine genaue Fragestellung: WAS geht nicht? Bringt der Compiler Fehlermeldungen? Wenn ja, welche? Was soll das Programm überhaupt machen? Ein bisschen mehr Info sollte schon da sein, sonst kommt schnell der Verdacht der Faulheit auf. Siehe predator: Wir sind kein Hausaufgabenservice
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
16.12.2005, 23:31 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von Leopard:
......wer etwas zu seiner Programiierkenntnisse tun will/muss , sollte / muesste sich Muehe geben.

Ohne weiteren Kommentar....


Zitat von Leopard:
Waere ich ein guter Programmierer, wuerde ich allen helfen (wollen)!!

Nein,das würdest du nicht.Nach einer gewissen Zeit beginnst du zu selektieren für wen du deine Zeit aufwendest und für wen nicht.
Dabei ist Fragestellung und Auftritt des Threaderstellers von entscheidener Bedeutung.

Ich habe z.B. keine Lust deinen Code erst zu kompilieren...
Aber komisch sehen schonmal die Codepassagen hinter den case Marken aus.
Was soll denn deiner Meinung nach int Englisch(){... machen/sein?
Da sollte wohl ne Fehlermeldung der Art blabla keine lokale Funktionsdeklaration bla bei rauskommen.
Aber wie predator schon geschrieben hat.Poste deine Fehlermeldungen und dann sehen wir mal weiter.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.

Dieser Post wurde am 16.12.2005 um 23:32 Uhr von Spacelord editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
17.12.2005, 00:06 Uhr
Leopard



ok Leute ! es tut mir leid!!

der Code mit Fehlern:

C++:
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#define N_KEYS 12
#define KEY_MAX_WIDTH 20        
#define FAILS_ALLOWED 7
using namespace std;



int main () {
    
    int CHOICE;
    int englisch =1;
    int deutsch =2;
    
cout << "Geben Sie (1) fuer Englisch oder (2) fuer Deutsch\n" ;
cin >> CHOICE;
//Fehler 1: 20  expected primary-expression before "int"
//Fehler2: 20  expected `;' before "int"
switch (CHOICE) {
     case 1 : int Englisch () {
     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]='-';
     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 Englisch;
// Fehler3: 58  a function-definition is not allowed here before '{' token
//Fehler4: 58  expected `,' or `;' before '{' token
         }
         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;
             } break;
    
//Fehler5: 73  expected primary-expression before "int"
//Fehler6: 73 expected `;' before "int"

       case 2: int Deutsch ()
{
     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]='-';
     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 Deutsch;
//Fehler 7: 112 a function-definition is not allowed here before '{' token
//Fehler 8: 112  expected `,' or `;' before '{' token
          
         }
         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];
             }

//Fehler9: 123  expected `}' at end of input
//Fehler 10: 123  expected `}' at end of input
            
         return found;
             } break;

    










Gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
17.12.2005, 00:26 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Da du "nur" einen Teil des Codes postet ist es schwer zu sagen ob es teilweise nicht Folgefehler sind...

Auch ist dein Code mit Verlaub ziemlich katastrophal (jedenfalls für jemanden der den nicht geschrieben hat ihn sich aber jetzt angucken soll...

Da hilft eingentlich nur unützes auszukommentieren und teile zu testen...

Vielleicht erbarmt sich ja jemand ich hab da heute kein Nerv mehr für. An deiner Stelle würd ich das ganze Ding nochmal neu und vernünftig schreiben.

An sonsten kannst du ja mal die Forumssuche verwenden da gibt es glaube ich schon mehrer Threads zum Thema Mastermind und wenn mich mein Gedächtnis nicht im Stich lässt war da auch eine brauchbare Implementation dabei.
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
17.12.2005, 00:41 Uhr
Spacelord
Hoffnungsloser Fall


Wie erwartet meckert der Compiler über lokale Funktionsdeklarationen.
Pack die Funktionen Deutsch und Englisch ausserhalb der main hin und ruf die an deinen case Marken nur auf.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: