bugele Geschrieben 11. Februar 2009 Teilen Geschrieben 11. Februar 2009 Hallo, habe mal eine Frage zur folgenden Aufgabe: Bie dieser Aufgabe ist nummer zwei richtig. Könnt ihr mir bitte mal erklären warum hier nummer zwei richtig ist und was genau ein "satzwechsel" ist?! hört sich so an als ob stzwechsel ein spezieller begriff in einen struktogramm ist oder ist hiermit "nur" die konvertierung das kleinbuchstbane zum großbuchstaben gemeint. außerdem würde mich nur aus neugier interessieren ob nummer 3 eigentlich möglich wäre? mir ist schon klar das bei diesr aufgabe nummer 2 richtig ist aber theoretisch wäre es doch möglich, das zeichen auch bereits beimm ersten durchlauf in der schleife einulesen, oder nicht? danke! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dicka Geschrieben 11. Februar 2009 Teilen Geschrieben 11. Februar 2009 (bearbeitet) Wechsel von einem Datensatz zum nächsten ist wohl ein "Satzwechsel". Datensätze sind mit dem ASCII Zeichen 124 getrennt, das größer ist als 97 aber nicht verändert werden soll. Daher wohl 2. Die Datei kann ja leer sein, dann erkennst du gleich EOF und brauchst gar nicht erst mit der bearbeitung anfangen. Bzw. deine Variable hat ja irgend einen Initialisierungswert, der dann in die Datei geschrieben werden würde, und die Originaldatei verfälschen würde im ersten Zeichen. Bearbeitet 11. Februar 2009 von dicka Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bugele Geschrieben 11. Februar 2009 Autor Teilen Geschrieben 11. Februar 2009 danke für die schnelle antwort. aber wenn die datei leer sein sollte gibt es doch gar keine variabel und auch keinen "startwert" warum sollte dann das ergebnis verfälscht werden?? eventuell bin ich auch einfach zu müde... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dicka Geschrieben 11. Februar 2009 Teilen Geschrieben 11. Februar 2009 (bearbeitet) Wenn du nen Text Zeichen für Zeichen einliest hast ja in C z.B. sowas: int main(void){ int c; FILE *ifp, ...; . . . c = fgetc(ifp); while(c != EOF){ //tu was } } Die Variable 'c' repräsentiert dein aktuelles Zeichen. Wenn das c = fgetc(ifp) innerhalb der Schleife wäre, würde es immer in die while-Schleife hinein springen und sie Ausführen. Damit würde der undefinierte Inhalt von 'c' in die Datei geschrieben werden laut Struktogramm. Bearbeitet 11. Februar 2009 von dicka Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.