Kleine Bustaben im Wort groß machen



  • Hallo ich soll eine function schreiben wo ich in einem Wort kleine Bustaben
    in große bustaben umwandel. Und die umgewandelten Zahlen ausgebe.

    Beim compiliern kommt ein fehler: true undeclared first use in function.
    islower gibt aber den wert true wenn bustabe klein und false wenn bustabe groß zurück.
    was mache ich falsch ?

    `#include <stdio.h.>
    #include <ctype.h>
    
    int grossSchreiben(char* c){
    
      int i=0;
      int counter = 0;
    
        while(*c++ != '\0'){
    
               if(islower(*c++) == true){
    
                      *c++ = toupper(*c++);
                      counter++;
               }
        i++;
        }
      return counter;
    }
    
    int main(){
    
       char c;
       printf("Bitte geben Sie in Wort ein: ");
       scanf("%c",&c);
       int anzahl = grossSchreiben(&c);
       printf("Es wurden %i Wörer groß geschrieben");
       system("Pause");
    }
    

    Kann mi riener Weiterhelfen ?

    mfg

    Incredible



  • wenn ich einfahc nur if(islower(*c++)) mache dann klappt es aber bei der antwort kommt raus ich habe 22240 Wörter groß geschrieben.
    Ich habe Hallo eingegeben und da war nur 1 Wort groß 😕

    #include <stdio.h.>
    #include <ctype.h>
    
    int grossSchreiben(char* c){
    
      int i=0;
      int counter = 0;
    
        while(*c++ != '\0'){
    
               if(islower(*c++)){
    
                      *c++ = toupper(*c++);
                      counter++;
               }
        i++;
        }
      return counter;
    }
    
    int main(){
    
       char c;
       printf("Bitte geben Sie in Wort ein: ");
       scanf("%c",&c);
       int anzahl = grossSchreiben(&c);
       printf("\nEs wurden %i Wörer gross geschrieben");
       system("Pause");
    }
    


  • Incredible schrieb:

    while(*c++ != '\0'){
               
               if(islower(*c++)){
                      
                      *c++ = toupper(*c++);
                      counter++;
               }
        i++;
        }
    

    mööp

    while(*c != '\0'){
    
               if(islower(*c)){
    
                      *c = toupper(*c);
                      counter++;
               }
        c++;
        i++;
        }
    


  • Incredible schrieb:

    while(*[u]c++[/u] != '\0'){
    if(islower(*[u]c++[/u])){
    *[u]c++[/u] = toupper(*[u]c++[/u]);
    

    falsches forum, würde ich sagen.
    🙂


Anmelden zum Antworten