es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Hay un problema con la declaración de la función. El tipo de retorno de la función debe ser void ya que no estamos devolviendo nada de la función. Además, la función debería tomar un array de char como entrada ya que necesitamos modificar la cadena original. Aquí está el código corregido:

    #include <stdio.h>
    #include <string.h>
    
    void umwandlung(char text[])
    {
        int n, upper=0;
    
        for (n=0; text[n]!='\0'; n++)
        {
            if (text[n] >= 'A' && text[n] <= 'Z') //convertir mayúsculas a minúsculas
            {
                text[n] = text[n] + 32;
                upper++;
            }
        }
        printf("\n%i Buchstaben wurden geandert\n",upper);
    }
    
    int main(void)
    {
        char satz[80];
        int i, x;
    
        printf("\nmayúsculas a minúsculas \n");
        printf("Bitte geben Sie einen Satz mit max. 80 Zeichen ein:\n");
        fgets(satz, 80, stdin); //usar fgets en lugar de gets
    
        umwandlung(satz);
    
        printf("%s",satz);
    
        return 0;
    }
    

    En la función principal, llamamos a la función umwandlung() que toma el arreglo satz como entrada, lo modifica para convertir las mayúsculas en minúsculas y cuenta el número de letras mayúsculas que se han convertido. Luego imprimimos el arreglo satz modificado en la función principal. También usamos fgets() en lugar de gets() para evitar errores de desbordamiento de búfer.</string.h></stdio.h>

Comments are closed.