Wyswietlanie ilości małych i dużych liter.

Odpowiedz Nowy wątek
2011-07-17 14:57
0

Mam problem z programem, który za zadanie ma policzenie ilości dużych i małych liter. Mam coś takiego:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
 
int main(void)
{
    char a;
    int duze = 0;
    int male = 0;
 
    printf("Podaj dane wejsciowe\n");
    while ((a = getchar()) != EOF)
    {
        if (isalpha(a) == 1)
        {
            if (islower(a) == 1)
                male++;
            else 
                duze++;
        }
    }
    printf("Liczba duzych liter wynosi %d a malych %d", duze, male);
    getchar();
    return 0;
}

Niestety program w ogóle nie liczy małych liter. Zawsze w wyniku dostaje 0 małych liter.

Pozostało 580 znaków

2011-07-17 15:12
#include <stdio.h>
#include <ctype.h>
 
int main()
{
    char a;
    int duze = 0;
    int male = 0;
    printf("Podaj dane wejsciowe\n");
    while (scanf("%c", &a) != EOF)
    {
        if(isupper(a))
            duze++;
        else if(islower(a))
            male++;
    }
    printf("Liczba duzych liter wynosi %d a malych %d", duze, male);
    return 0;
}
 
edytowany 1x, ostatnio: piternet, 2011-07-17 15:23
Ja użyłbym zamiast is_big, is_small standardowe funkcje czyli isupper, islower. Poza tym byłoby lepiej, gdybyś dopisał else if przy sprawdzaniu małych znaków. - bang_bang 2011-07-17 15:19
masz racje, w sumie to zapomniałem o tych funkcjach bo z nich nie korzystam - piternet 2011-07-17 15:23

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0