Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Datein

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 <
000
13.05.2003, 11:19 Uhr
cppanfang



Ich weiss das ich immer mit Fragen zu Daten und Dateien komme, aber was
währe wenn man aus einer Datei ("Test.txt") 2 Strings
z.B. (Auto car) aus meinen EnglichTranslator
der genau 1945 verschiedenne Wörter hat,
eine Zeile raussucht. z.B. (Luft air)
und mir die Englische Übersetzung abfragt.
dann soll er das nägste Wort abfragen.
ER DARF ABER IM GANZEN PROGRAMMABLAUF SICH NICHT WIEDERHOLEN.
also auch Beim 1900 Wort nicht das Wort nennen was als erstes oder so war.

Schreibt bitte was mit Programmanwisungen.

Gruß

cppanfang
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.05.2003, 17:50 Uhr
virtual
Sexiest Bit alive
(Operator)


Ich weiß nicht, ob dich das jetzt glücklich macht, aber so gehts zB mit C++. Mußt halt nur noch die Vokabel Datei erstellen. Besonderes Feature: Der Benutzer wird beschimpft, wenn er was faslches eingibt.

C++:
#include <iostream>
#include <string>
#include <vector>
#include <fstream>

int main()
{
    //
    // Lese Datei mit Vokabeln und Übersetungen ein. Wir nehmen an,
    // daß Jede Zeile den Aufbau <deutsches Wort>;<Englisches Wort> hat.
    //
    std::ifstream vokabeldatei("vokabeln");
    std::vector< std::pair<std::string,std::string> > vokabeln;

    while(vokabeldatei)
    {
        std::string zeile;

        std::getline(vokabeldatei, zeile);

        std::string::size_type i = zeile.find_first_of(";");
        if (std::string::npos==i) continue; // Ungültige Zeile
        vokabeln.push_back(std::make_pair(zeile.substr(0, i), zeile.substr(i+1)));
    }

    srand(time(NULL));

    //
    // Solange Vokabeln fragen, bis alle gefragt sind. Hier jetzt
    // nur deutsch -> englisch, wenn anders herum, dann first mit second
    // vertauschen
    //
    while (vokabeln.size())
    {
        int i = rand()%vokabeln.size();
        std::string eingabe;

        std::cout<<"Wie lautet die Übersetzung von "<<vokabeln[i].first<<"? ";
        std::getline(std::cin, eingabe);
        if (eingabe != vokabeln[i].second)
        {
            std::cout<<"Dummkopf. Richtig wäre "<<vokabeln[i].second<<std::endl;
        }
        vokabeln.erase(vokabeln.begin()+i);
    }
}



P.S.: Was meinst Du mit "Prgrammanweisungen"? - Daraus besteht meines Wissens wirklich jedes C++ Programm
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 13.05.2003 um 17:51 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.05.2003, 17:56 Uhr
~0xdeadbeef
Gast


Das nennst du beschimpfen? Besser wäre

C++:
std::cout << "Unwürdiger! Dein Kopf fasst nicht mehr als die Blase einer afrikanischen Stechmücke! Du bist es nicht wert, diese Sprache zu können!" << std::endl;


Vielleicht bringt es das ja in die Version 1.1 oder so.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: