Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
2.0 kB
3
Indexable
Never
#include <stdio.h>
#include <ctype.h>

#define MAX_SIZE 60

// Funkcja do wczytywania napisu z klawiatury
void wczytajNapis(char napis[], int size) {
    printf("Podaj napis (maksymalnie %d znakow):\n", size);
    scanf(" %[^\n]s", napis);  // %[^\n]s pozwala na wczytanie całej linii tekstu
}

// Funkcja do wyświetlania napisu
void wyswietlNapis(const char napis[]) {
    printf("napis = %s\n", napis);
}

// Funkcja do zliczania dużych liter w napisie
int zliczDuzeLitery(const char napis[]) {
    int count = 0;
    for (int i = 0; napis[i] != '\0'; i++) {
        if (isupper(napis[i])) {
            count++;
        }
    }
    return count;
}

// Funkcja do zamiany spacji na znak podkreślenia
void zamienSpacje(char napis[]) {
    for (int i = 0; napis[i] != '\0'; i++) {
        if (napis[i] == ' ') {
            napis[i] = '_';
        }
    }
}

// Funkcja do zamiany wielkości liter w każdym wyrazie
void zamienWielkoscLiter(char napis[]) {
    for (int i = 0; napis[i] != '\0'; i++) {
        // Jeżeli znak to pierwszy znak w wyrazie i nie jest spacją, zamień na dużą literę
        if ((i == 0 || napis[i - 1] == ' ') && napis[i] != ' ') {
            napis[i] = toupper(napis[i]);
        }
        // W przeciwnym razie zamień na małą literę
        else {
            napis[i] = tolower(napis[i]);
        }
    }
}

int main() {
    char napis[MAX_SIZE];

    // Wczytanie napisu z klawiatury
    wczytajNapis(napis, MAX_SIZE);

    // Wyświetlenie napisu
    wyswietlNapis(napis);

    // Zliczanie dużych liter w napisie
    int liczbaDuzychLiter = zliczDuzeLitery(napis);
    printf("Liczba dużych liter = %d\n", liczbaDuzychLiter);

    // Zamiana spacji na znak podkreślenia
    zamienSpacje(napis);
    printf("napis2 = %s\n", napis);

    // Zamiana wielkości liter w każdym wyrazie
    zamienWielkoscLiter(napis);
    printf("napis3 = %s\n", napis);

    return 0;
}
Leave a Comment