0

I'm a newbie to C programming and I have a problem. Here is my problem: I want to use the function 'toupper' so that when we type a letter it automatically becomes upper-case. I want to make the letter upper-case when we type it, not when it shows in the output.

So that it just looks like this when we run the program:

Choose a letter (A/B/C) : a (when we type a it automatically becomes A. Example under this comment.)

Choose a letter (A/B/C) : A (Upper-cased automatically)

This is A (output)

Here is my current code:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main()
{
    char a;

    printf("(A/B/C): ");
    scanf("%c", &a);

    printf("%c", a);

}

Thanks in advance :D... I really need your help

4

2 に答える 2

2

すでにconio.hを使用しているので、getch()関数を使用する方法があります。ただし、conio.hは非標準のCであり、かなり古く、廃止されていることに注意してください。

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

int main()
{
    char ch;

    printf("(A/B/C): ");
    do
    {
      ch = getch();
      ch = toupper(ch);
      printf("%c", ch);
    } while(ch != '\n');

    getchar();
}
于 2012-09-19T14:06:35.253 に答える
-1
printf("%c", islower(a) ? toupper(a) : a );

追加:stty olcucUNIXで動作します。

于 2012-09-19T13:56:29.677 に答える