Hilfe bei C++ projekt für Schule

Sandman2k

Super Moderator, Hat keine Ahnung von IT
Hardwareluxx Team
Thread Starter
Mitglied seit
28.07.2006
Beiträge
13.167
Ort
Grieghallen
also wir haben in der schule einen projektauftrag bekommen, wir(meine Gruppe und ich) sollen einen Vokabeltrainer schreiben.

Mein teil der Aufgabe ist es für eine vorhandene Wortliste eine Editierfunktion zu schreiben, d.h. ich muss aus der wortliste (Deutsch - Englisch, oder eben 2 Listen je anch dem wie es am besten zu realisieren ist) ein Wort mir aussuchen können welches ich verändern kann, löschen kann oder eines hinzufügen kann. Das mit dem hinzufügen bekomm ich schon gut hin, weil das schon recht gut erklärt in einem Script von unserem Lehrer stand. Hier mal der Quelltext dazu

Code:
#include <iostream> 
#include <string> 
#include <fstream> 
#include <iomanip>
     using namespace std; 
 
int main() { 
 
     string s, t; 
     ofstream OU; 
     ifstream IN; 
 
     // ***** Schreibe string s in die Datei ***** 
     OU.open("Woertertest.txt", ios::out|ios::app); // Datei wird zum schreiben geoeffnet 
           cout<<"Bitte geben sie das deutsche Wort ein!";
           cout<<"\n";
           cin>>s;
           cout<<"Bitte geben sie nun das Englische Wort ein!";
           cout<<"\n";
           cin>>t;
          
          OU <<"\n"<< s; ; // Schreibt den string s in die Datei 
 
          OU<<"/";
 
          OU<<t;
 
     OU.close(); // Datei wird wieder geschlossen 
 
     // ***** String leeren ***** 
     s = ""; 
 
     // ***** Lese Datei Zeile fuer Zeile aus ***** 
     IN.open("Woertertest.txt", ios::in ); // Datei wird zum lesen geoeffnet 
 
          while( !IN.eof( ) ) { 
 
               getline( IN,s  ); 
 
               cout << s << endl; 
          }           
 
     IN.close(); // Datei wieder schliessen 
 
cin.get(); 
return 0; 
}

nun meine dringende Bitte an euch:

kann mir jemand mal helfen wie man nun am besten ne Editierfunktion gestaltet mit der ich auch Wörter auswählen und löschen kann? Ich währe euch zu großem dank verpflichtet.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Meinst du jetzt konkreten Programmcode oder nur nen Loesungsansatz?

Ich wuerde in der Ausgabeschleife einen Zaehler mitlaufen lassen, der die Zeilennummer angibt. Nach der Ausgabe eben zuerst die Aktion und dann Zeilennummer auswaehlen lassen. Danach an die entsprechende Zeile in der Datei gehen und die zum Bearbeiten anzeigen und dann die Datei wieder speichern. Wie die Datei Operationen in C++ konkret gehen kann ich dir aber nicht sagen.
Koennte dir nur mit etwas Pseudocode aushelfen
 
also n konkreter Quelltext wär schon nich schlecht da ich ganz ehrliuch irgendwie n bisschen im dunkeln tappe
 
ähm soll das nur ne consolen anwendung werden oder ne richige Window anwendung werden ? weil bis jetzt sieht das nach console aus und da ist nicht wirklich viel mit anklicken und ändern.....

um die Lösung mal von burnout aufzugreifen die Datei entweder in Array einlesen und dann in den Array mit der oben beschriebene Auswahl dann ändern und dann dann die Datei mit den Array überschreiben oder es gibt die Möglichkeit in der Datei die Datensatz direkt zu ändern in dem du mit den Dateizeiger zu der Zeile springst und dann überschreibst
 
Zuletzt bearbeitet:
jo mir hat jetze schon mit dem wort änder wer geholfen des hab ich, es wird ne konsolenanwendung, jetzt fehlt mir nur noch wie ich konkret n wort löschen kann, Zeiger hatten wir btw in der Schule noch nich
 
ich denke der sinn der aufgabe ist, das du dich damit befasst und es selber löst und somit auch verstehst ;)
 
ja du bist ja lustig, das Projekt beinhaltet zu 90% Sachen die wir in der Schule noch nicht hatten, sonst würde ich auch hier nicht fragen
 
ja dann kann man sich ja einlesen ;)

er wird sich schon was dabei gedacht haben als er euch die aufgaben gegeben hat, lernen tust dus nur indem dus selber machst
 
pass auf ich mach dir n ganz dollen vorschlag: Du bringst jetze mal was sinnvolles zum thema oder hälst die klappe ;)
 
toller vorschlag

naja spätestens bei irgendeiner prüfung weist du was ich gemeint habe
 
naja ich mein ja nur anstatt dauernd nur zu sagen ich soll mich selbst damit befassen könntest js mir auch ma helfen und nen sinnvollen lösungsansatz mir liefern oder geeigneten Link oder so
 
Ich denke keiner wird dir hier einen fertigen Quellcode schreiben. Und wenn du das nicht selbst hinbekommst, weil ihr es in der Schule noch nicht hattet, hat euer Lehrer Mist gebaut.

Mal eine kleine Anregung meinerseits:

1. die komplette Datei in eine Struktur einlesen (zum Beispiel eine Liste mit Zeigern auf ein struct)
2. Ändern / Hinzufügen / Löschen ist einfach auf dieser Liste möglich
3. auf Anforderung (vom Benutzer) die Liste komplett neu in den Stream schreiben

oder falls du dir die Zeilennummer gemerkt hast

3. auf Anforderung (vom Benutzer) nur die Änderungen im Stream vornehmen (ist aber aufwändiger)
 
Hi, also ich würde die Datei in ein deque (aus der STL) einlesen. Dann ist es sehr einfach einzelne Elemente zu verändern, zu löschen zu adden. Nach dem Verändern, bzw beim Programm schliessen wird alles in der Datei wieder gespeichert ...

falls du das mit dem deque nicht kennst, kann ich noch kurz was zu sagen. Ist auch kein Aufwand das so zu machen, der Code ist in 10min fertig ^^
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh