4. November 200916 j Hallo Es ist gerade extrem wichtig, bin zurzeit in der schule und war 2 Wochen wegen eines Grippe infekts flach. Ich muss mit einem mitschüler ein Programm schreiben der in einer Textdatei die wörter " Der, Die, Das" durch "1, 2, 3" ersetzt ( ja ich weiß das ist eigentlich nicht wirklich schwer aber mir fehlt wegen der fehlzeit leider die nötigen kenntnisse, und mein kolege versteht sowieso nicht wirklich viel vom Programmieren) Es wäre wirklich Super wenn ihr mir schnell helfen würdet habe bis 12 uhr zeit. MfG BlackSmith Help me :-(
4. November 200916 j Wie weit bist du denn schon? Ich würde mit einer If-Anweisung die Artikel durch die Zahlen ersetzen lassen.
4. November 200916 j Wie weit bist du denn schon? Ich würde mit einer If-Anweisung die Artikel durch die Zahlen ersetzen lassen. Ich bin 19 Jahre bald 20. Ja das problem bei mir ist ich habe nicht wirklich viel ahnung, weiß nur das ich mit #include <stdio.h> main() Anfangen muss,mein lehrer hat mir gesagt dass es nun mal meine schuld ist auch wenn ich krank bin , da hatt er ja auch recht aber es geht leider nicht anders ;-/ MfG BlackSmith
4. November 200916 j Ich meine vom Code her Wir haben auch noch nicht viel gemacht. Aber die Bibliotheken werden bei unserem Compiler schon direkt eingebunden. Müsst ihr den Text in der .exe Datei selbst eingeben oder ist der schon im Quellcode vorgegeben? Bei ersterem würde ich eine Variable "Eingabe" (oder so) wählen und die dann mit einer if-Anweisung nach der, die, das durchsuchen lassen. (ob das nun die beste Lösung ist und generell funktioniert kann ich dir nicht sagen, bin selbst noch nicht allzu bewandert im Programmieren, aber so würde ich an die Sache rangehen.)
4. November 200916 j Oh sorry habe mich verlesen dachte wie alt :upps um ehrlich zu sein noch garnicht ich bin noch am anfang. Mit der if anweisung meinst du jetzt Int oder? weiß nur nicht wie ich dasprogramm aufbauen soll. also ich denke mir das so if (der) .. then .... else aber bei mir ist das hauptproblem der aufbau ich habe keine ahnung wie ich das programm richtig schreiben soll
4. November 200916 j der syntax aufbau ist bei c code meist: includes... main() { definitionen + initialisierungen anweisungen bedingungen (alles was das programm machen soll...) } heißt zB #include <stdio.h> int main(int argc, char *argv[]) { printf("Hallo Welt!!!\n"); return 0; } zu deinem problem: 1. datei mit dem text öffnen // datei zum rausschreiben öffnen 2. text einlesen 3. überprüfen ob der die das... 4. wenn ersetzen durch 1 2 3 5. sonst bleibt 6. rausschreiben in neue datei 7. dateien schließen
4. November 200916 j Ausagekräftiger Threadtitel... C oder C++? Wenigstens mal Pseudocode (siehe Micha82), Struktogramm, PAP aufgestellt?
4. November 200916 j Ja..lol ich bekomme es einfach nicht hin ohman ich bin noch ganz am anfang ;-( c++ ...
4. November 200916 j ohman ich bin noch ganz am anfang ;-(Dann solltest du dir zuerst die fehlenden Kenntnisse aneignen. Ohne die wirst du diese Aufgabe, auch mit Hilfestellung, nicht lösen können.
4. November 200916 j Ja genau das ist ja das problem die habe ich nicht ich muss den mist unbedingt ferit gbekommen
4. November 200916 j { int zahl; cout <<"********************************************************\n"; cout <<" Für BlackSmith :-)\n"; cout <<"********************************************************\n"; cout <<"Geben Sie bitte:\nZahl 1 fuer *Der*\nZahl 2 fuer *Die*\nZahl 3 fuer *Das* ein:\n"<<endl; cin>>zahl; if(zahl==1) { cout<<("Du hast Zahl 1 fuer Der eingegeben.\n "); } if(zahl==2) { cout<<("Du hast Zahl 2 fuer Die eingegeben.\n "); } if(zahl==3) { cout<<("Du hast Zahl 3 fuer Das eingegeben.\n "); } return 0; } :-) Kein Problem. Bearbeitet 4. November 200916 j von skejcik
4. November 200916 j mal so als fingerübung in c... da es ja schon nach 12 ist #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { char line[1024]; char *cutter; FILE *inDat; FILE *outDat; inDat = fopen("inData.dat","r"); if(inDat == NULL) { printf("--- Err: Can't open inData"); return 1; } outDat = fopen("outData.dat","w"); while(!feof(inDat)) { if(fgets(line, 1024, inDat) != 0) { if(line[0] == '\n') { fprintf(outDat,"\n"); } else { cutter = strtok(line, " "); while(cutter != 0) { if(cutter[strlen(cutter)-1] == '\n') cutter = strtok(cutter, "\n"); if(strcmp(cutter,"der") == 0 || strcmp(cutter,"Der") == 0) fprintf(outDat,"1 "); else if(strcmp(cutter,"die") == 0 || strcmp(cutter,"Die") == 0) fprintf(outDat,"2 "); else if(strcmp(cutter,"das") == 0 || strcmp(cutter,"Das") == 0) fprintf(outDat,"3 "); else fprintf(outDat,"%s ",cutter); cutter = strtok(0, " "); } fprintf(outDat,"\n"); } } } fclose(inDat); fclose(outDat); return 0; }
4. November 200916 j :-) Kein Problem. Was hat das mit der Aufgabenstellung zu tun? Und seit wann macht man hinter den ostream-Operator klammern?! mal so als fingerübung in c... Sollte aber C++ sein. (Würd mal meinen, noch eine Sprache verwirrt ihn/sie/es bloß...) Fertige Lösungen sind eh nicht das Wahre, da das erstens kein Hausaufgabenforum ist und er/sie/es "hingeklatschten" Code eh nicht versteht und dadurch nichts lernt. (btw: Code-TAGs das nächste Mal bitte nehmen.) Bearbeitet 4. November 200916 j von TDM
4. November 200916 j Sollte aber C++ sein. (Würd mal meinen, noch eine Sprache verwirrt ihn/sie/es bloß...) Fertige Lösungen sind eh nicht das Wahre, da das erstens kein Hausaufgabenforum ist und er/sie/es "hingeklatschten" Code eh nicht versteht und dadurch nichts lernt.) Schon klar das es ihn verwirrt... aber damit er zumidnest sieht wies aussieht in c... und damit das für ihn auch nicht all zu einfach wird und ich ihm die aufgabe "hinklatschte" ist das ganze auch in c (btw: Code-TAGs das nächste Mal bitte nehmen.) ok
4. November 200916 j Ahso , sry steht ja TxT* Datei , hab gedacht einfache Konsolenanwendung :-) Sorry.^
4. November 200916 j @skejcik es ist ja auch ne konsolenanwendung bitte ließ bevr du antwortest die aufgabenstellung. Für dich nochmal extra zusammengefasst. In der datei steht der , die oder das. Er soll sein programm öffnen die werte auslesen und aus der 1, die 2 und das 3 machen. Dies dann in die datei reinschreiben und fertig. @ threadersteller #include <iostream> using namespace std; int main() { Hier kommt dein Code rein. } Hier wird die genaustens erklärt wie man Hallo welt schriebt und was was bedeutet Klick
5. November 200916 j Dankeleute für eure Hilfe, hat alles wunder bar geklappt. hab das so stehen. #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { char line[1024]; char *cutter; FILE *inDat; FILE *outDat; inDat = fopen("intausch.dat","r"); if(inDat == NULL) { printf("der die das der die das wieso weshalb warum wer nicht bei plus wasmacht bleibt dumm"); return 1; } outDat = fopen("outData.dat","w"); while(!feof(inDat)) { if(fgets(line, 1024, inDat) != 0) { cutter = strtok(line, " "); while(cutter != 0) cutter = strtok(line, " "); while(cutter != 0) { if(cutter[strlen(cutter)-1] == '\n') cutter = strtok(cutter, "\n"); if(strcmp(cutter,"der") == 0 || strcmp(cutter,"Der") == 0) fprintf(outDat,"1 "); else if(strcmp(cutter,"die") == 0 || strcmp(cutter,"Die") == 0) fprintf(outDat,"2 "); else if(strcmp(cutter,"das") == 0 || strcmp(cutter,"Das") == 0) fprintf(outDat,"3 "); else fprintf(outDat,"%s ",cutter); cutter = strtok(0, " "); } fprintf(outDat,"\n"); } } fclose(inDat); fclose(outDat); return 0; } nun soll ich das wieder umwandeln nicht das er 1 2 3 ausgiebt sondenr wieder in der die das umwandelt nur ich bekomme das nicht hin, kann mir jemand schreiben was genau ich da umschreiben muss versuche es schon seit 8 uhr morgens nur komme leider kein meter weiter MfG C.
5. November 200916 j ... Lies dir das programm durch... wenn du schon meins benutzt schau wo ich nach der die oder das suche...ändere das und suche nach 1 2 oder 3 und lass der die das rausschreiben... bissel solltest du auch machen...
5. November 200916 j hab das so stehen. Das ist aber C und kein C++. [Editerle] Micha, ich sagte doch, dass es ihn verwirrt.
5. November 200916 j Micha, ich sagte doch, dass es ihn verwirrt. ich geb dir recht !!! ich werd keinen code mehr hier rein setzen nur noch tipps
5. November 200916 j @ blacksmith ich glaube du hast nicht den sinn von dem ganzen verstanden. Es wird niemals irgenteiner dir deine Arbeit abnehem den Code der dir gepostet wurde ist in c geschreiben. C ist nicht c++ sondern es baut in einigen Sachen drauf auf und in vielen dingen ist es aber anders. Desweiteren glaube ich nicht das du überhaupt den sinn des Quellcodes oder bessergesagt die funktionen verstanden hast und wie sie funktionieren. Deshalb gibt euch der Lehrer aufgaben damit er überprüfen kann ob ihrs verstanden habt und net um euch zu nerven. Fange mit kleineren Projekten an. Wie gesagt guck dir c++ tuts an bei google gibts unterdem begriff mio von sachen. Kleine Auflistung was du am anfang zuerst machen können solltest. Auflistung: Standartaufbau eines C++ codes in einer Konsolenanwendung (siehe oben mein Beitrag) 2. Aus und Eingabe (Cout / Cin) 3. Escapesequenzen (optional) 4. Alle Datentypen und ihre Funktionen (char, string, bool, short, int, long, float, double) 5. Anweisungen (if) 6. Schleifen ( for , while, do while) 7. Dateiarbeit (fstream oder ifstream) Danach sollte man sich ein bisschen orientieren können.
6. November 200916 j Warum zählst du primitive Datentypen (char, int, bool) und Klassen (string) zusammen auf? Short und Long sind in meinen Augen keine Datentypen, sondern Größenangaben. (Du hast ja auch nicht signed und unsigned aufgezählt...) Wenn man sich das hier mal ansieht: stellt man sogar fest, dass cin/cout und Dateiarbeit nahe zusammen liegen.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.