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

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

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