Jump to content

Vokabelabfrage in Console

Empfohlene Beiträge

Hallo Leute,

ich möchte mir selber ein Programm schreiben in dem ich verschiedene Englisch Vokabel abgefragt werde.

Leider habe ich noch keine großen C++ Kenntnisse und einige Dinge die ich einbauen möchte weiß ich nicht umzusetzen.

Meine Frage ist ob das Programm überhaupt möglich ist nach meinen Vorstellungen zu Programmieren. :confused:

Und so soll es laufen:

Ich werde nach einem Wort in Deutsch gefragt und gebe es dann in Englisch ein. Danach erscheint eine Ausgabe ob es richtig oder falsch ist. Sollte das Wort richtig sein, soll diese Vokabel einen score bekommen bzw. 1 punkt. Wird das Wort falsch eingegeben verliert das Wort alle seine Punkte und ist wieder 0. Sobald ein Wort 3 mal richtig hintereinander eingegeben wurde (also 3 Punkte hat) soll es nicht mehr vorkommen in der Abfrage.

ich weiß nicht wie ich eine zufällige Abfrage machen kann und wie ich den Vokabeln einen Wert zuweise der sich speichert, da die Abfrage in einer Schleife ist in meinem angefangenem Code.

Kann jemand einem Newbie wie mir helfen? :D

Gruß

Artydude

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Nein habe ich nicht. Ich habe noch nicht wirklich was, weil ich wirklich keine Ahnung habe wie ich das umsetzen soll.

Erst hatte ich vor das die ganzen Vokabeln in einzelnen switch cases sind, aber das ist auch blöd weil man sich dann immer merken muss wo man aufgehört hat und man dann keine zufällige Reihenfolge der Vokabeln hat. Außerdem kann man bestimmt auch nicht ein case ausblenden wenn die Vokabel die in ihr drin ist schon 3 mal richtig hintereinander eingegeben wurde.

Gruß

thedude

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Spontane Idee:

Textdokument mit Inhalt Deutsch:Englisch erstellen und einlesen lassen.

Das sollte eigentlich ohne weiteres machbar sein :)

Ich denke, da sollten wir vorerst noch von Abstand nehmen. Das wird dann der fortgeschrittene Teil ;)

Wichtig wird wahrscheinlich ersteinmal:

Basic Input/Output - C++ Tutorials

rand - C++ Reference

http://www.cplusplus.com/reference/vector/vector/

Data structures - C++ Tutorials

Und einen Ablaufplan oder sowas ;)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Hallo Leute,

ich möchte mir selber ein Programm schreiben in dem ich verschiedene Englisch Vokabel abgefragt werde.

Leider habe ich noch keine großen C++ Kenntnisse und einige Dinge die ich einbauen möchte weiß ich nicht umzusetzen.

Meine Frage ist ob das Programm überhaupt möglich ist nach meinen Vorstellungen zu Programmieren. :confused:

Und so soll es laufen:

Ich werde nach einem Wort in Deutsch gefragt und gebe es dann in Englisch ein. Danach erscheint eine Ausgabe ob es richtig oder falsch ist. Sollte das Wort richtig sein, soll diese Vokabel einen score bekommen bzw. 1 punkt. Wird das Wort falsch eingegeben verliert das Wort alle seine Punkte und ist wieder 0. Sobald ein Wort 3 mal richtig hintereinander eingegeben wurde (also 3 Punkte hat) soll es nicht mehr vorkommen in der Abfrage.

ich weiß nicht wie ich eine zufällige Abfrage machen kann und wie ich den Vokabeln einen Wert zuweise der sich speichert, da die Abfrage in einer Schleife ist in meinem angefangenem Code.

Kann jemand einem Newbie wie mir helfen? :D

Gruß

Artydude

Achja, und vielleicht postest Du Deinen Code hier. Keine Angst, wir beißen nur manchmal ;)

Aber ich denke, es ist sinnvoll, wenn Du Deinen Code von anderen Leuten lesen läßt. Keine falsche Scheu! Wir helfen, wo wir können.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

@lilith2k3:

Danke für die Links!

_____________________________

Ich habe jetzt für eine Vokabel ein struct angelegt. Das sieht so aus:

struct Vokabel {

string de, en;

int wert;

};


Vokabel eig;

eig.de = "aufenthalt";

eig.en = "stay";

eig.wert = 0;

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

So jetzt habe ich eine Abfrage für eine Vokabel. Kann man diese Abfrage in eine Schleife setzen, in der das alte Array durch ein neues ersetzt wird?

Erst mal was in meinem Compiler steht:

#include<iostream>

#include<conio.h>

#include<vector>

using namespace std;


main()

{

string eingabe;      


struct Vokabel {

string de, en;

int wert;

};


Vokabel a;

a.de = "aufenthalt";

a.en = "stay";

a.wert = 0;


vector <string> dewort(1);

vector <string> enwort(1);


dewort[0] = a.de;

enwort[0] = a.en;


              cout << "Was beudetet '" << dewort[0] << "' in englisch?" << endl;

              cin >> eingabe;


              if(eingabe == enwort[0])

              {

                         cout << "RICHTIG!" << endl;

              }

              else

              {

                         cout << "FALSCH!" << endl;

              }     

          getch();       

}

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich habe jetzt 15 Arrays angelegt für die Vokabeln und es wird ihnen auch ein Wert abgezogen um am ende zu gucken wie oft diese Vokabel noch eingegeben werden muss, da ich ja möchte das die Vokabeln 3 mal richtig eingegeben werden.

Bei einem Kumpel von mir Funktioniert es, aber bei mir wird eine Fehlermeldung ausgegeben wenn ich am Ende keine Vokabeln mehr eingeben will und er mir dann zeigt wieoft ich Vokabelxy noch eingeben muss.

Hier der Code:

#include<iostream>

#include<conio.h>

#include<time.h>

#include<stdlib.h>

#include<windows.h>

using namespace std;


main()

{

int rnd;   

string eingabe;  

int wahl = 1;    


struct vokabel {

string de, en;

int wert;

};


vokabel wort[15];

wort[0].de = "grundlegendes"; wort[0].en = "basic"; wort[0].wert = 3;

wort[1].de = "muss"; wort[1].en = "must"; wort[1].wert = 3;

wort[2].de = "bohrkopf"; wort[2].en = "drill head"; wort[2].wert = 3;

wort[3].de = "treppe"; wort[3].en = "stairs"; wort[3].wert = 3;

wort[4].de = "begr\x81\xE1ung"; wort[4].en = "greeting"; wort[4].wert = 3; 

wort[5].de = "versp\x84tet"; wort[5].en = "delayed"; wort[5].wert = 3; 

wort[6].de = "landen"; wort[6].en = "to land"; wort[6].wert = 3;

wort[7].de = "verantwortlich"; wort[7].en = "responsible"; wort[7].wert = 3;

wort[8].de = "erfinden"; wort[8].en = "to invent"; wort[8].wert = 3;

wort[9].de = "rohstoff"; wort[9].en = "raw material"; wort[9].wert = 3;

wort[10].de = "anwerben"; wort[10].en = "to recruit"; wort[10].wert = 3;

wort[11].de = "ausbilden"; wort[11].en = "to train"; wort[11].wert = 3;

wort[12].de = "zentrale"; wort[12].en = "headquarters"; wort[12].wert = 3;

wort[13].de = "t\x84tig sein"; wort[13].en = "to operate"; wort[13].wert = 3; 

wort[14].de = "niederlassung"; wort[14].en = "branch"; wort[14].wert = 3;


    do{

    srand (time(NULL));


    rnd = rand() % 15 + 1;


    cout << "Was bedeutet: " << wort[rnd].de << "?" << endl;

    cin >> eingabe;


        if(wort[rnd].en == eingabe)

        {

        wort[rnd].wert --;

        cout << "Das ist richtig!" << endl;

        cout << "Noch eine Vokabel? (1) Ja (0) Nein" << endl;

        cin >> wahl;

        }

        else

        {

        wort[rnd].wert = 3;

        cout << "Das ist falsch!" << endl;

        cout << "Noch eine Vokabel? (1) Ja (0) Nein" << endl;

        cin >> wahl;

        }

    }while(wahl != 0);


    for(int i = 0; i <= 16; i++)

    {

            cout << "'" << wort[i].de << "' muss nur noch " << wort[i].wert << " mal eingegeben werden" << endl;

    }  

getch();

}

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden


×