Znaki zapytania zamiast znaków w wyniku programu

2018-11-30 20:02
0

Witam, mam taki program zamieniajacy małe litery na duże, ale jak wpiszę cokolwiek, wychodzą w znaki zapytania. Czemu?

#include <stdio.h>
#include <ctype.h>
int main()
{

printf("Podaj: ");
char wyraz;
scanf("%c",&wyraz);
while(wyraz=getchar()!='\n')
{
    if(islower(wyraz))
    {
        wyraz=toupper(wyraz);
    }
    else
    putchar(wyraz);
}
putchar(wyraz);
return 0;
}
edytowany 1x, ostatnio: furious programming, 2018-11-30 20:48

Pozostało 580 znaków

2018-11-30 20:33
2

Jak Chcesz zamienić cały wyraz (czyli string), a na to mi wygląda, to Musisz operować na tablicy znaków:

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

int main(){

    printf("Podaj: ");
    char  wyraz [40];
    scanf("%s", wyraz); //qwerty
    char c;
    for (int i = 0; i < strlen(wyraz)  ; i++){
        if (islower(wyraz[i]))
            wyraz[i] = toupper( wyraz[i]);
    }
    printf("%s\n", wyraz); //QWERTY
    return 0;
}

Pozostało 580 znaków

2018-12-01 10:06
0
    char c;

    printf("Podaj: ");

    while((c = getchar()) != '\n' && c != EOF)
    {
        putchar(toupper(c));
    }

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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