Menu
Coddy logo textTech

Konwersja na wielkie litery

Część sekcji Logika i sterowanie przepływem ścieżki C w Coddy. Lekcja 23 z 63.

challenge icon

Wyzwanie

Łatwy

Rozszerz swój program do obsługi tekstu z poprzedniej lekcji, dodając funkcję konwersji na wielkie litery. Twój program powinien:

  1. Poprosić użytkownika o wpisanie krótkiego zdania, wyświetlając: Enter a sentence: (bez znaku nowej linii na końcu)
  2. Zadeklarować tablicę znaków o nazwie sentence z 200 elementami do przechowywania danych wejściowych
  3. Użyć scanf ze specyfikatorem formatu %s, aby odczytać od użytkownika jedno słowo
  4. Wyświetlić zapisane słowo w formacie: You entered: [word]
  5. Użyć strlen(), aby obliczyć łączną liczbę znaków w słowie
  6. Wyświetlić liczbę znaków w formacie: Character count: [count]
  7. Wyświetlić długość za pomocą strlen() w formacie: Length: [length]
  8. Przejść przez każdy znak w słowie za pomocą pętli, aby policzyć samogłoski
  9. Dla każdego znaku sprawdzić, czy jest samogłoską (a, e, i, o, u) zapisaną małą lub wielką literą
  10. Prowadzić bieżący licznik znalezionych samogłosek
  11. Wyświetlić liczbę samogłosek w formacie: Vowel count: [count]
  12. Wyświetlić Uppercase: , a następnie użyć pętli do konwersji każdego znaku w słowie na wielką literę i wyświetlenia go za pomocą funkcji toupper()

Pamiętaj, aby dołączyć nagłówek <string.h>, żeby użyć funkcji strlen(), oraz nagłówek <ctype.h>, żeby użyć funkcji toupper().

Informacje o toupper():
Funkcja toupper() z <ctype.h> konwertuje pojedynczy znak na jego odpowiednik zapisany wielką literą. Jeśli znak jest już wielką literą lub nie jest literą, zostaje zwrócony bez zmian.
Przykład: toupper('a') zwraca 'A', a toupper('Z') zwraca 'Z'.
Możesz użyć jej w pętli, aby konwertować każdy znak po kolei: printf("%c", toupper(sentence[i]));

Ważne: Po komunikacie Enter a sentence: nie powinien występować znak nowej linii. Użyj printf("Enter a sentence: "); bez \n.

Twój wynik powinien wyświetlać rezultaty w następującym formacie:

Enter a sentence: You entered: [word]
Character count: [count]
Length: [length]
Vowel count: [count]
Uppercase: [WORD]

Na przykład, jeśli dane wejściowe to:

Programming

Twój wynik powinien być następujący:

Enter a sentence: You entered: Programming
Character count: 11
Length: 11
Vowel count: 3
Uppercase: PROGRAMMING

To wyzwanie rozwija zagadnienia z poprzedniej lekcji, dodając funkcję konwersji na wielkie litery za pomocą funkcji toupper() z biblioteki <ctype.h>. Musisz użyć pętli, aby przejść przez każdy znak w ciągu znaków i przekonwertować go na wielką literę, a następnie wyświetlić przekształcony wynik.

Spróbuj swoich sił

#include <stdio.h>
#include <string.h>

int main() {
    printf("Enter a sentence: \n");
    
    char sentence[200];
    scanf("%s", sentence);
    
    printf("You entered: %s\n", sentence);
    
    int char_count = strlen(sentence);
    printf("Character count: %d\n", char_count);
    
    int length = strlen(sentence);
    printf("Length: %d\n", length);
    
    int vowel_count = 0;
    for (int i = 0; i < strlen(sentence); i++) {
        char c = sentence[i];
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||
            c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
            vowel_count++;
        }
    }
    
    printf("Vowel count: %d\n", vowel_count);
    
    return 0;
}

Wszystkie lekcje w sekcji Logika i sterowanie przepływem

Poćwicz samodzielnie: Kompilator C online