Zum Inhalt springen

HILFE :( der, die, das durch 1, 2, 3 ersetzten


Empfohlene Beiträge

Geschrieben

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 :-(

Geschrieben
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

Geschrieben

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.)

Geschrieben

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

Geschrieben

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

Geschrieben (bearbeitet)

{

	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 von skejcik
Geschrieben

mal so als fingerübung in c... da es ja schon nach 12 ist :P

#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;

}

Geschrieben (bearbeitet)

:-)

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 von TDM
Geschrieben
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 :)

Geschrieben

@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

Geschrieben

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.

Geschrieben

...

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...

Geschrieben

@ 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.

Geschrieben

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:

iostream.gif

stellt man sogar fest, dass cin/cout und Dateiarbeit nahe zusammen liegen. ;)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...