Hilfe für Anfänger



  • Hallo ich bin neu hier und programmiere nur immer mal zwischendurch wenn es etwas am PC vereinfacht. Heute morgen habe ich veruscht, ein kleines Programm zu schreiben, dass die sogenannte realmlist.wtf datei automatisch verändern kann... Nach ca. 50 Fehlern und 1 Stunde Arbeit zum Fehler finden bleiben noch 2 zusammenhängende Fehler über. Irgend ein Ausdruck stimmt nicht. Mein Compiler (Standard von DEV-C++) sagt mir folgendes:

    "expected primary-expression before 'else'" und
    "expected ';' before 'else'"

    Könnt ihr mir vielleicht Helfen? 😕
    Ich entschuldige mich für die unübersichtliche Programmierweise und das unerfahrene "goto" 😉

    #include <cstdlib>
    #include <iostream>
    #include <windows.h>
    #include <fstream>
    
    using namespace std;
    
          char V1;
          char V2;
          char V3;
          char V4;
          char V5;
          char V6;
          char D1;
          int D2;
          char D3;
          int D4;
          char D5;
          char V10;
          char V20;
          char V30;
          char V40;
          char V50;
          char V60;
          char Name1;
          char Name2;
          char Name3;
          char Name4;
          char Name5;
          char Name6;
          char Name10;
          char Name20;
          char Name30;
          char Name40;
          char Name50;
          char Name60;
    
    int main()
    {
        cout << "Realmlist-Setter v1.0" <<endl << "=================================" <<endl <<endl <<endl;
    
        fstream Name1;
        Name1.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name1.txt");
        Name1.close();
        fstream Name2;
        Name2.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name2.txt");
        Name2.close();
        fstream Name3;
        Name3.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name3.txt");
        Name3.close();
        fstream Name4;
        Name4.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name4.txt");
        Name4.close();
        fstream Name5;
        Name5.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name5.txt");
        Name5.close();
        fstream Name6;
        Name6.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name6.txt");
        Name6.close();
    
        string zeilen[10];
    	fstream V10;
    	V10.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V1.txt", ios::in);
            if(!V10)            //Hier wird dann überprüft, ob die Datei existiert.
            {
                    cout<<"Es existiert noch keine Realm-Adresse. Moechten sie jetzt eine erstellen (Bestaetigen sie mit <Enter>)? (y/n)" <<endl;
                    cin >> D1;
                    V:
                    if(D1=='y')
                    {
                               system ("cls");
                               cout << "Realmlist-Setter v1.0" <<endl << "=================================" <<endl <<endl <<endl;
                               fstream V10;
    	                       V10.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V1.txt", ios::in);
                               if(V10)
                               {
                                      fstream V20;
    	                              V20.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V2.txt", ios::in);
                                      if(V20)
                                      {
                                             fstream V30;
    	                                     V30.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V3.txt", ios::in);
                                             if(V30)
                                             {
                                                    fstream V40;
    	                                            V40.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V4.txt", ios::in);
                                                    if(V40)
                                                    {
                                                           fstream V50;
                                                           V50.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V5.txt", ios::in);
                                                           if(V50)
                                                           {
                                                                  fstream V60;
    	                                                          V60.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V6.txt", ios::in);
                                                                  if(V60)
                                                                  {
                                                                         cout << "Alle Slots für Realmlists sind voll. Welche soll geloescht werden?" <<endl <<endl <<endl;
    
                                                                         cout <<Name1 <<"  <1>" <<endl;
                                                                         cout <<Name2 <<"  <2>" <<endl;
                                                                         cout <<Name3 <<"  <3>" <<endl;
                                                                         cout <<Name4 <<"  <4>" <<endl;
                                                                         cout <<Name5 <<"  <5>" <<endl;
                                                                         cout <<Name6 <<"  <6>" <<endl;
                                                                         cout << "Alle loeschen  <7>" <<endl <<endl;
    
                                                                         cin >> D2;
                                                                         switch(D2)
                                                                         {
                                                                         case '1': system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V1.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name1.txt");
                                                                                   break;
                                                                         case '2': system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V2.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name2.txt");
                                                                                   break;
                                                                         case '3': system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V3.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name4.txt");
                                                                                   break;
                                                                         case '4': system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V4.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name4.txt");
                                                                                   break;
                                                                         case '5': system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V5.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name5.txt");
                                                                                   break;
                                                                         case '6': system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V6.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name6.txt");
                                                                                   break;
                                                                         case '7': system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V1.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name1.txt");
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V2.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name2.txt");
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V3.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name4.txt");
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V4.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name4.txt");
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V5.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name5.txt");                                                                                                                                                  
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V6.txt");                
                                                                                   system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name6.txt");
                                                                                   break;}
                                                                                   goto V;
    
                                                                  }
                                                           else
                                                           {
                                                               cout << "Bitte geben sie die Adresse des Realms ein und bestaetigen sie mit <Enter>." <<endl <<endl;
                                                               cin >> V6;
                                                               system ("cls");
                                                               cout << "Realmlist-Setter v1.0" <<endl << "=================================" <<endl <<endl <<endl;
                                                               cout << "Bitte geben sie einen Namen für den Realm ein und bestätigen sie mit <Enter>." <<endl <<endl;
                                                               cin >> Name60;
                                                               fstream V600;
                                                               V600.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V6.txt", ios::out);
                                                               V600 <<V6;
                                                               V600.close();
                                                               fstream V6000;
                                                               V6000.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name6.txt", ios::out);
                                                               V6000 <<Name60;
                                                               V6000.close();
                                                               cout << "Slot wurde erfolgreich erstellt!" <<endl << "Noch eine Realmlist erstellen? (y/n)" <<endl;
                                                               cin >> D3;
    
                                                               if (D3=='y')
                                                               {
                                                                           goto V;
                                                                           }
    
                                                               else
                                                               {
                                                                           goto C;
                                                                           }
    
                                                               }
    
                                                           }
    
                                                               else
                                                               {
                                                                   cout << "Bitte geben sie die Adresse des Realms ein und bestaetigen sie mit <Enter>." <<endl <<endl;
                                                                   cin >> V5;
                                                                   system ("cls");
                                                                   cout << "Realmlist-Setter v1.0" <<endl << "=================================" <<endl <<endl <<endl;
                                                                   cout << "Bitte geben sie einen Namen für den Realm ein und bestätigen sie mit <Enter>." <<endl <<endl;
                                                                   cin >> Name50;
                                                                   fstream V500;
                                                                   V500.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V5.txt", ios::out);
                                                                   V500 <<V5;
                                                                   V500.close();
                                                                   fstream V5000;
                                                                   V5000.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name5.txt", ios::out);
                                                                   V5000 <<Name50;
                                                                   V5000.close();
                                                                   cout << "Slot wurde erfolgreich erstellt!" <<endl << "Noch eine Realmlist erstellen? (y/n)" <<endl;
                                                                   cin >> D3;
    
                                                                   if (D3=='y')
                                                                   {
                                                                               goto V;
                                                                               }
    
                                                                   else
                                                                   {
                                                                               goto C;
                                                                               }
    
                                                                   }} 
                                                    else
                                                           {
                                                               cout << "Bitte geben sie die Adresse des Realms ein und bestaetigen sie mit <Enter>." <<endl <<endl;
                                                               cin >> V4;
                                                               system ("cls");
                                                               cout << "Realmlist-Setter v1.0" <<endl << "=================================" <<endl <<endl <<endl;
                                                               cout << "Bitte geben sie einen Namen für den Realm ein und bestätigen sie mit <Enter>." <<endl <<endl;
                                                               cin >> Name40;
                                                               fstream V400;
                                                               V400.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V4.txt", ios::out);
                                                               V400 <<V4;
                                                               V400.close();
                                                               fstream V4000;
                                                               V4000.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name4.txt", ios::out);
                                                               V4000 <<Name40;
                                                               V4000.close();
                                                               cout << "Slot wurde erfolgreich erstellt!" <<endl << "Noch eine Realmlist erstellen? (y/n)" <<endl;
                                                               cin >> D3;
    
                                                               if (D3=='y')
                                                               {
                                                                           goto V;
                                                                           }
    
                                                               else
                                                               {
                                                                           goto C;
                                                                           }
    
                                                               }
    
                                                    }
    
                                                    else
                                                           {
                                                               cout << "Bitte geben sie die Adresse des Realms ein und bestaetigen sie mit <Enter>." <<endl <<endl;
                                                               cin >> V3;
                                                               system ("cls");
                                                               cout << "Realmlist-Setter v1.0" <<endl << "=================================" <<endl <<endl <<endl;
                                                               cout << "Bitte geben sie einen Namen für den Realm ein und bestätigen sie mit <Enter>." <<endl <<endl;
                                                               cin >> Name30;
                                                               fstream V300;
                                                               V300.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V3.txt", ios::out);
                                                               V300 <<V3;
                                                               V300.close();
                                                               fstream V3000;
                                                               V3000.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name3.txt", ios::out);
                                                               V3000 <<Name30;
                                                               V3000.close();
                                                               cout << "Slot wurde erfolgreich erstellt!" <<endl << "Noch eine Realmlist erstellen? (y/n)" <<endl;
                                                               cin >> D3;
    
                                                               if (D3=='y')
                                                               {
                                                                           goto V;
                                                                           }
    
                                                               else
                                                               {
                                                                           goto C;
                                                                           }
    
                                                               }}
    
                                              else
                                                           {
                                                               cout << "Bitte geben sie die Adresse des Realms ein und bestaetigen sie mit <Enter>." <<endl <<endl;
                                                               cin >> V2;
                                                               system ("cls");
                                                               cout << "Realmlist-Setter v1.0" <<endl << "=================================" <<endl <<endl <<endl;
                                                               cout << "Bitte geben sie einen Namen für den Realm ein und bestätigen sie mit <Enter>." <<endl <<endl;
                                                               cin >> Name20;
                                                               fstream V200;
                                                               V200.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V2.txt", ios::out);
                                                               V200 <<V2;
                                                               V200.close();
                                                               fstream V2000;
                                                               V2000.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name2.txt", ios::out);
                                                               V2000 <<Name20;
                                                               V2000.close();
                                                               cout << "Slot wurde erfolgreich erstellt!" <<endl << "Noch eine Realmlist erstellen? (y/n)" <<endl;
                                                               cin >> D3;
    
                                                               if (D3=='y')
                                                               {
                                                                           goto V;
                                                                           }
    
                                                               else
                                                               {
                                                                           goto C;
                                                                           }
    
                                                               }                      
                                             }
    
                                             else
                                                           {
                                                               cout << "Bitte geben sie die Adresse des Realms ein und bestaetigen sie mit <Enter>." <<endl <<endl;
                                                               cin >> V1;
                                                               system ("cls");
                                                               cout << "Realmlist-Setter v1.0" <<endl << "=================================" <<endl <<endl <<endl;
                                                               cout << "Bitte geben sie einen Namen für den Realm ein und bestätigen sie mit <Enter>." <<endl <<endl;
                                                               cin >> Name10;
                                                               fstream V100;
                                                               V100.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V1.txt", ios::out);
                                                               V100 <<V1;
                                                               V100.close();
                                                               fstream V1000;
                                                               V1000.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\Name1.txt", ios::out);
                                                               V1000 <<Name60;
                                                               V1000.close();
                                                               cout << "Slot wurde erfolgreich erstellt!" <<endl << "Noch eine Realmlist erstellen? (y/n)" <<endl;
                                                               cin >> D3;
    
                                                               if (D3=='y')
                                                               {
                                                                           goto V;
                                                                           }
    
                                                               else
                                                               {
                                                                           goto C;
                                                                           }
    
                                                               }}C:;}
                               else
                               {
                                   return 0;
                                   }
    
            else
            {
    
                system ("cls");
                cout << "Realmlist-Setter v1.0" <<endl << "=================================" <<endl <<endl <<endl;
                cout << "Welchen Realm moechten sie starten?" <<endl <<endl;
                cout <<Name1 <<"  <1>" <<endl;
                cout <<Name2 <<"  <2>" <<endl;
                cout <<Name3 <<"  <3>" <<endl;
                cout <<Name4 <<"  <4>" <<endl;
                cout <<Name5 <<"  <5>" <<endl;
                cout <<Name6 <<"  <6>" <<endl; 
    
                switch(D4)
                {
                case '1': fstream V10;
    	                  V10.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V1.txt", ios::in);
                          system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf");
                          fstream D10;
                          D10.open("D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf", ios::out);
                          D10 << "set realmlist " <<V10 <<endl << "set patchlist eu.version.worldofwarcraft.com" <<endl << "set realmlistbn " <<endl << "set portal eu";
                          D10.close();
                          break;
                case '2': fstream V20;
    	                  V20.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V2.txt", ios::in);
                          system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf");
                          fstream D20;
                          D20.open("D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf", ios::out);
                          D20 << "set realmlist " <<V10 <<endl << "set patchlist eu.version.worldofwarcraft.com" <<endl << "set realmlistbn " <<endl << "set portal eu";
                          D20.close();
                          break;
                case '3': fstream V30;
    	                  V30.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V3.txt", ios::in);
                          system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf");
                          fstream D30;
                          D30.open("D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf", ios::out);
                          D30 << "set realmlist " <<V10 <<endl << "set patchlist eu.version.worldofwarcraft.com" <<endl << "set realmlistbn " <<endl << "set portal eu";
                          D30.close();
                          break;
                case '4': fstream V40;
    	                  V40.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V4.txt", ios::in);
                          system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf");
                          fstream D40;
                          D40.open("D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf", ios::out);
                          D40 << "set realmlist " <<V10 <<endl << "set patchlist eu.version.worldofwarcraft.com" <<endl << "set realmlistbn " <<endl << "set portal eu";
                          D40.close();
                          break;
                case '5': fstream V50;
    	                  V50.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V5.txt", ios::in);
                          system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf");
                          fstream D50;
                          D50.open("D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf", ios::out);
                          D50 << "set realmlist " <<V10 <<endl << "set patchlist eu.version.worldofwarcraft.com" <<endl << "set realmlistbn " <<endl << "set portal eu";
                          D50.close();
                          break;
                case '6': fstream V60;
    	                  V60.open("D:\\Programme\\Spiele\\World of Warcraft\\Realms\\V6.txt", ios::in);
                          system ("delfile D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf");
                          fstream D60;
                          D60.open("D:\\Programme\\Spiele\\World of Warcraft\\Data\\DEde\\realmlist.wtf", ios::out);
                          D60 << "set realmlist " <<V10 <<endl << "set patchlist eu.version.worldofwarcraft.com" <<endl << "set realmlistbn " <<endl << "set portal eu";
                          D60.close();
                          break;}
    
                cout << "Datei erfolgreich erstellt. Soll World of Warcraft jetzt gestartet werden? (y/n)" <<endl <<endl;
                cin >> D5;
    
                if (D5=='y')
                {
                            system ("start D:\\Programme\\Spiele\\World of Warcraft\\wow.exe");
                            Sleep(2000);
                            return 0;
                            }
    
                else
                {
                            return 0;
                            }
    
     }
    
    }
    


  • so zähle er seine geschweiften klammer auf und zu.



  • Was isn das? 😮

    Der Compiler gibt imm übrigen noch die Zeile aus an welcher Stelle er den Fehler vermutet aber meine Glaskugel meint das es vermutlich in zeile 141 die geschlossene geschweifte Klammer '}' ist, aber kA da sieht ja keiner mehr durch ...

    Btw: Schau Dir mal boost::filesystem an da kommen erstmal die ganzen system-Befehle weg. Ausserdem solltest Du Dich mal mit Schleifen und vectoren beschäftigen, die würden Dein Programm um einiges vereinfachen!!!

    Gut Schuß
    VuuRWerK 😉

    Edit: Seh grad das könnte auch zu dem switch gehören ... Mein lieber Herr Gesangsverein da sieht doch keiner durch ...



  • Ja er vermutet den Fehler in der Zeile 345. Dort ist das 'else' mit dem was nicht stimmen soll. Die geschweifte Klammer aus Zeile 141 war richtig so, sie kreist das 'switch' ein und ohne ergeben sich noch weitere Fehler. Aber beim Nachzählen der geöffneten und geschlossenen Klammern habe ich entdeckt, dass irgendwo eine geschlossene Klammer fehlt... die Frage ist wo

    tut mir leid für die schlechte Programmstruktur und Programmerweise und dass ich dreisterweise den gantzen Quelltext hineinkopiert habe.



  • Dann kommentier mal dieses else und die geöffnete geschweifte klammer und eine der letzten geschlossenen klammern (am besten die letzte) aus. Dann wäre der Syntaktische Fehler behoben, allerdings glaube ich nicht, dass dann Dein Programm funktioniert da der letzte "block" dann völlig freisteht und Du ihn aber wahrscheinlich abhängig von einer Entscheidung ausführen willst.

    Gut Schuß
    VuuRWerK 😉



  • Danke für eure Hilfe, aber ich habe dann hunderte von Fehlern im letzten Abschnitt. Irgendwo scheint eine gottverdammte klammer oder ein Semikolon zu fehlen nur ich weiß nicht wo... 😡



  • google mal nach "funktion" und "refactoring" - dann könntest du deinen ganzen Wust etwas aufteilen und übersichtlicher gestalten, indem du z.B. Teile in Funktionen auslagerst.



  • Ich würde mal darauf tippen, dass in der Zeile 172 eine Klammer zu viel ist. Allerdings könnte das auch durch die schlechte Einrückung von oben doch richtig sein..

    Also hopp ans Werk und deinen Code aufräumen! - Dann kann dir auch geholfen werden.


  • Administrator

    Mich würde im übrigen noch interessieren, was all diese globalen Variablen sollen. Die werden alle in der main überdeckt und sind daher völlig unnötig.

    Irgendwie, wenn ich da WoW lese und den Code lese, erinnert mich das ein wenig an ein Skriptkiddie. Jemand der sich schnell ein paar Dinge zusammenkopiert hat, ohne gross Ahnung zu haben, was er da tut, also ohne richtig C++ gelernt zu haben. Ich hoffe, dass ich mit meiner Vermutung daneben liege 😉

    Grüssli



  • Habe das vereinzelte <else> in Zeile 344 gelöscht, ebenso die Wiedererzeugung bzw. Deklaration der fstream Objekte in den Zeilen 359, 362 sowie den paar weiteren case Labels darunter. Zumindest lässt sich das Ding dann z.B. mit (VC++ 2008 Express) kompilieren, habe allerdings keine Ahnung, was der Sinn des Programms sein soll und ob es dann auch nur annähernd tut, was es soll.



  • Dravere schrieb:

    Mich würde im übrigen noch interessieren, was all diese globalen Variablen sollen. Die werden alle in der main überdeckt und sind daher völlig unnötig.

    Irgendwie, wenn ich da WoW lese und den Code lese, erinnert mich das ein wenig an ein Skriptkiddie. Jemand der sich schnell ein paar Dinge zusammenkopiert hat, ohne gross Ahnung zu haben, was er da tut, also ohne richtig C++ gelernt zu haben. Ich hoffe, dass ich mit meiner Vermutung daneben liege 😉

    Grüssli

    Ja tust du habe nämlichg mal einen C++ Grundkurs gehabt, indem wir genau diese Funktionen (bis auf das "goto") gelernt haben... Leider ist das 2 Jahre her. Das Alles so zusammenkopiert aussieht liegt daran, dass ich den Teil einmal geschrieben habe, und ihn mehrere male kopiert habe, da es im Wesentlichen immer das selbe ist. :p

    Einige haben ja hier nach dem Sinn des Programms gefragt. Da das wahrscheinlich nicht mehr zu retten ist, was auch an dem unaufgeräumten Code liegt ^^, erklär ich mal, was es Ursprünglich tun sollte.

    Zuerst liest er aus den Dateien, die im Ordner \\World of Warcraft\\Realms liegen und Name1/2/3/4/5/6 heissen ein. Als nächstes überprüft er im ersten If-Befehl, ob schon eine Datei, die V1.txt heisst existiert. In dieser Datei steht nämlich die IP des Realms, das letzte else soll zu diesem If Befehl gehören, und ausgeführt werden, wenn V1.txt existiert. Im If danach fragt er, ob man jetzt eine erstellen möchte. Das zugehörige else beendet das Programm, wenn man n bzw. irgend einen anderen Buchstaben eingibt. In den folgenden If-Befehlen fragt er ab, welche der V.txt Dateien schon existiert. Die zugehörigen else Befehle behandeln jeweils den Fall, wenn eine der Dateien nicht existiert. Wenn alle existieren, fordert das Programm einen dazu auf, eine bzw. alle Realms zu löschen. Im letzten fraglichsten else schreibe ich heute noch eine Funktion hinzu, die erst fragt, ob man eine neue Realmlist erstellen will, und dann zum V: springt, oder die Realmlist ändert und World of Warcraft startet.

    So viel Text um eine kleine Sache ich hoffe das hilft... 😉 PS: Meinen Code kriege ich selbst nicht mehr aufgeräumt 😞

    Habe den Quelltext als .txt Datei auf rapidshare hochgeladen dann könnt ihr mal dran rum doktorn wenn euch das hilft... ich bin ratlos...

    http://rapidshare.com/files/228527785/Quelltext.txt.html



  • Mal ehrlich: Code zusammenzukopieren und ihn compilieren zu wollen ohne ihn zu verstehen ist Scriptkiddie-Gehabe.
    Wenn du vor einiger Zeit einen C++-Kurs gehabt hast sollte es nicht allzu schwer fallen, das Wissen mittels eines Online-Tutorials wieder aufzufrisschen. Davon gibts genug. Dass du hier ankommst und von uns den zusammenkopierten Code korrigiert haben möchtest ist schon etwas dreist. Das Forum ist dafür gedacht um Leuten zu helfen die C++ lernen möchten, und nicht um Gratisdienstleistungen zu bringen für Leute die nicht bereit sind sich selbst etwas einzulesen.
    Also statt unsere Zeit zu verschwenden schnapp dir bitte ein Buch oder Tutorial, arbeite es durch, bis du verstehst was der Code den du da hast tun sollte. Dann abeite den Code entsprechend um und wenn du dann noch Fragen hast helfen wir dir gerne weiter. Vorausgesetzt du zeigst uns dass du selbst etwas Einsatzbereitschaft für dein kleines Projekt hast.
    Wenn du nicht vorhast dich eingehender mit C++ zu beschäftigen bist du hier komplett falsch, dann können dir höchstens die Coder in den entsprechenden WoW-Communities helfen.



  • Ich habe gesagt, dass ich die Codes selbst geschrieben habe, nur da sie so oft vorkommen, habe ich MEINEN SELBST GESCHRIEBENEN Code kopiert und ihn eingefügt, da er mehrere Male identisch vorkommt 😮 Brauche aber immernoch Hilfe was die Fehler angeht...



  • Daran liegt ja ein Grund für die Fehler. Du kopierst Code. Und das ist ein Zeichen, dass du etwas falsch machst. Code muss grundsätzlich nie kopiert werden. (Vor allem nicht so, wie du das machst). Dafür gibt es Mechanismen, wie Funktionen und Schleifen. Und genau da solltest du ansetzen! - Überarbeite deinen Code mit den grundsätzlichen Kontrollmechanismen, dann wird das ganze lesbarer und die Fehler verschwinden automatisch, weil du 2 Klammern einfach auseinanderhalten kannst.


Anmelden zum Antworten