Seite 1 von 1

Programmabsturz nach Variableneingabe

Verfasst: Sa Okt 20, 2012 1:55 pm
von Flizzberg
Hey Leute ich versuch zurzeit ein kleinen Lernprogramm für meine Englischvokablen zu schreiben.

Ich benutzte devcpp und Windows 7

Hier mal der Quellcode:

Code: Alles auswählen

#include <iostream>
using namespace std;
int main()
{
    int Anzahl;
    int Stelle=0;
    string eVokabeln[Stelle];
    string dVokabeln[Stelle];
    
    cout<<"Willkommen beim Englisch-Vokabeltraining! \n\n\n Wieviel Vokabeln moechten sie lernen?"<<endl;
    cout<<"Anzahl: "; 
    cin>>Anzahl;
    
    cout<<"Geben sie nun die englischen Vokabeln und ihre deutsche Uebersetzung ein: "<<endl;
    
    for (short Anzahlfor=0;Anzahlfor<=Anzahl;++Anzahlfor)
    
    {
              cout<<"englische Vokabel: "; cin>>eVokabeln[Stelle];
              cout<<"\ndeutsche Vokabel: "; cin>>dVokabeln[Stelle];
                                
                                Stelle++;                     
                      
        /*      cout<<Anzahl<<endl;                                  
              cout<<eVokabeln[0]<<endl;
              cout<<dVokabeln[0]<<endl;   */                               //Testausgabe
    }
    

}
Nach der ersten Eingabe der eVokabeln und dVokabeln schmiert das Prog ab.. kann mir jmd helfen? :?:

Edit by cloidnerux: code-tags, Titel angepasst, war "Kleine Englisch-Programm"

Re: Programmabsturz nach Variableneingabe

Verfasst: Sa Okt 20, 2012 2:54 pm
von cloidnerux
Hi und Willkommen im Forum.
Nach der ersten Eingabe der eVokabeln und dVokabeln schmiert das Prog ab.. kann mir jmd helfen?
Was genau passiert?
Was gibst du ein, was kommt raus?

Aber ich kann dir schon mal sagen:

Code: Alles auswählen

 int Stelle=0;
    string eVokabeln[Stelle];
    string dVokabeln[Stelle];
Legt jeweils ein Array mit 0 Elementen an, da Stelle 0 ist.
Willst du dynamische Arrays haben, musst du Datencontainer, z.B Listen verwenden, bzw "vector" ist eine C++ klasse der STL, die das Implementiert.
Dann sollte das für dich Interessant sein:
http://www.proggen.org/doku.php?id=c:faq:input-puffer

MfG cloidnerux.

Re: Programmabsturz nach Variableneingabe

Verfasst: Sa Okt 20, 2012 4:51 pm
von Flizzberg
Danke hab den Fehler jetzt gefunden und es funktioniert!

Re: Programmabsturz nach Variableneingabe

Verfasst: So Okt 21, 2012 2:15 am
von cloidnerux
Danke hab den Fehler jetzt gefunden und es funktioniert!
Was war denn der Fehler und wie hast du ihn gelöst?

Re: Programmabsturz nach Variableneingabe

Verfasst: So Okt 21, 2012 8:47 am
von Xin
Flizzberg hat geschrieben:Ich benutzte devcpp und Windows 7
DevCpp wird seit Jahren nicht mehr unterstützt, bitte sieh Dir z.B. CodeBlocks, CodeLite oder Visual Studio an.
Flizzberg hat geschrieben:Danke hab den Fehler jetzt gefunden und es funktioniert!
Das ist erfreulich :-)
Allerdings gerade bei aufwendigeren Fragen, zum Beispiel bei der Verwendung einer Library oder eines speziellen Compilerfehlers, der über Google gefunden wird, sollte die Lösung auch wirklich genannt werden.
Nichts ist frustrierender als über Google nur Threads zu finden mit Leuten, die das gleiche Problem haben und ihren Thread mit "Danke, ich habe die Lösung jetzt"... ^^
cloidnerux hat geschrieben:Was war denn der Fehler und wie hast du ihn gelöst?
Flizzberg hat geschrieben:

Code: Alles auswählen

    int Stelle=0;
    string eVokabeln[Stelle];
    string dVokabeln[Stelle];

Re: Programmabsturz nach Variableneingabe

Verfasst: So Okt 21, 2012 1:05 pm
von Flizzberg
Der Fehler wurde doch von cloidnerux beantwortet.

Ich hab 'Stelle' mit 0 definiert und dadurch hast das Array ja auch nur eine Stelle.
Bei einer zweiten Eingabe versucht er nun in ein Array etwas zu speichern was nicht existiert. ;D

Re: Programmabsturz nach Variableneingabe

Verfasst: So Okt 21, 2012 4:59 pm
von Xin
Flizzberg hat geschrieben:Der Fehler wurde doch von cloidnerux beantwortet.
Hm.... ja... ^^

Jetzt seh' ich's auch... was sah ich vorher?!

Egal... wechseln wir das Thema - willkommen auf proggen.org. ^^

Re: Programmabsturz nach Variableneingabe

Verfasst: So Okt 21, 2012 6:23 pm
von Kerli
Flizzberg hat geschrieben:Ich hab 'Stelle' mit 0 definiert und dadurch hast das Array ja auch nur eine Stelle.
Bei einer zweiten Eingabe versucht er nun in ein Array etwas zu speichern was nicht existiert. ;D
Hier solltest du übrigens aufpassen und zwischen Arraygröße und Index unterscheiden. 'string eVokabeln[0];' definiert ein Array mit Platz für 0 Elementen - Es passt also kein Element rein. 'eVokabeln[0]' hingegen referenziert das Objekt mit einem Offset von 0, also das erste Element im Array.