Programmieren in C: Funktion umlaute



  • Folgende String-Variablen seien im Hauptprogramm main:
    char sVarIn[50], sVarOut[???]

    Die Variable sVarIn wird bereits im Hauptprogramm mit einem String belegt, der max. 49 Zeichen aufnehmen kann.

    Es soll eine Funktion mit dem Name ErsetzeUmlaute entwickelt werden. Sie soll die folgende Aufgaben erfüllen:
    - Die Funktion soll alle Umlaute (nur kleinBuchstaben) der übergebene Variablen sVarIn umwandeln:

    Umlaut ASCII-Code umwandeln in
    ä 132 ae
    ö 148 oe
    ü 129 üe
    ...

    - Das Ergebnis wird in der Variablen sVarOut zurückgegeben
    - Dia Anzahl der Ersetzungen wird als Return-Wert zurückgegeben

    1. Parameter: Eingabe String-Variable (bereits vorbelegt)
    2. Parameter: Rückgabe String-Variable
    Return-Wert: Anzahl der Ersetzungen

    Beispiel: Eingabe vom Hauptprogrann:
    1.Parameter: "draußen trägt"
    Rückgabe an das Hauptprogramm
    2.Parameter: "draussen traegt"
    Return-Wert: 2

    Wählen Sie für den Return-Wert einen sinvollen Datentyp!

    a) Geben Sie den Prototyp für die Funktion an?

    b) Wie sieht den Aufruf der Funktion ErsetzeUmlaute aus dem MainProgramm aus?

    c) Geben Sie den C-Quellcode für die Funktion an!

    ich brauche bitte dringend eure Hilfe.
    Danke


  • Mod

    Tommy21 schrieb:

    ich brauche bitte dringend eure Hilfe.

    Wobei? Ist ein Einbrecher im Haus? Bist du ins Wasser gefallen und kannst nicht schwimmen? Bist du hingefallen und kannst von alleine nicht mehr aufstehen?



  • Er möchte, dass ihm jemand die Aufgabe löst und den fraglichen Code hinschreibt, möglichst kommentiert.
    Der Zeitpunkt Sonntag lässt darauf schließen, dass morgen Abgabetermin ist und der junge Herr bis zum letzten Zeitpunkt gewartet hat.



  • Ich möchte eigentlich nur wissen, wie Du Dich um den Abgabetermin gedrückt hast ;o)


  • Mod

    Tommy21 schrieb:

    a) Geben Sie den Prototyp für die Funktion an?

    Nein, das tue ich nicht.

    b) Wie sieht den Aufruf der Funktion ErsetzeUmlaute aus dem MainProgramm aus?

    Er sieht schön aus.

    c) Geben Sie den C-Quellcode für die Funktion an!

    Die a und b habe ich ja schon gemacht, dann bekommst du auch ohne die c) 2/3 der Punkte.



  • SeppJ schrieb:

    Tommy21 schrieb:

    c) Geben Sie den C-Quellcode für die Funktion an!

    Die a und b habe ich ja schon gemacht, dann bekommst du auch ohne die c) 2/3 der Punkte.

    👍 😃



  • SeppJ schrieb:

    Tommy21 schrieb:

    a) Geben Sie den Prototyp für die Funktion an?

    Nein, das tue ich nicht.

    b) Wie sieht den Aufruf der Funktion ErsetzeUmlaute aus dem MainProgramm aus?

    Er sieht schön aus.

    c) Geben Sie den C-Quellcode für die Funktion an!

    Die a und b habe ich ja schon gemacht, dann bekommst du auch ohne die c) 2/3 der Punkte.

    Für b) schlage ich die absolut logische Lösung schwarz auf weiss vor.



  • Guten Abend,
    ich werf jetzt einfach mal einen Source-Code hier in den Raum:

    /*   Umlaute.c  -->  Wandelt in einem Text die Umlaute  „, ”,    *
     *                   in ae, oe, ue um, sowie á in ss.             *
     *                   (Ž, ™, š  werden nicht beruecksichtigt.)     *
     * -------------------------------------------------------------- *
     * Beim Lesen von der Tastatur (also ohne Eingabe-Umlenkung) die  *
     * Eingabe mit Strg+Z (DOS/Windows) bzw. Strg+D (Unix) beenden.   */
    
    #include <stdio.h>        // Definitionen der Konstanten EOF 
                              // und der Makros getchar(), putchar().
    int main()
    {
         int  c;
    
         while( (c = getchar()) != EOF)       // Zeichen einzeln lesen
            switch(c)
            {
              case 0x84:                                //  0x84 = 'ä' 
                          putchar('a');  putchar('e');
                          break;
              case 0x94:                                //  0x94 = 'ö'
                          putchar('o');  putchar('e');
                          break;
              case 0x81:                                //  0x81 = 'ü'
                          putchar('u');  putchar('e');
                          break;
              case 0xE1:                                //  0xE1 = 'ß'
                          putchar('s');  putchar('s');
                          break;
              default:
                          putchar(c);           // Jedes andere Zeichen 
            }                                   // unveraendert ausgeben.
    
            return 0;
    }
    

    Ich denke, dass du damit etwas anfangen kannst.



  • Und was ist mit groß Ä? Soll das zu "Ae" werden oder zu "ae" oder zu "AE" ?


Anmelden zum Antworten