2017-03-10 8 views
-1

私はC言語ではかなり新しく、getcharで入力を受け取り、putcharを使用して入力からUとKのみを出力するループを作成しようとしています。forループとgetchar/putcharの使用方法C

私はこれを試してみました:あなたは、入力から前記UさんとKさんを印刷し、「X」が入力されるまで入力を読み込むしようとしているよう

printf("Enter a bunch of letters: "); 

char ch; 
while (ch != 'x') { 
    ch = getchar(); 
    if (ch >= 'a' && ch <= 'z') { 
     putchar(ch - 32); 
     ch; 
    } 
} 
+2

ようこそスタックオーバーフロー!私たちにいくつかのコードを見せれば、もっと助けてくれるでしょう。あなたは何を試しましたか? –

+0

私のコードを今追加しました。私はCには全く新しいので、何か助けていただければ幸いです。ありがとうございました! – Rossie

+1

そのコードはあなたの質問とはまったく無関係です。 –

答えて

1

は、私には見えます。これを試して。

あなたのコメントによると、上部として読まれているかどうかにかかわらず、上部としてそれらを印刷したいようです。これにはtolower()を使用できます。

char ch; 
while ((ch = getchar()) != 'x') 
    if (toupper(ch) == 'U' || toupper(ch) == 'K') 
     putchar(toupper(ch)); 
+0

ありがとう、これは私が探していたかなりの答えでした。私は文字を変換する方法を知っているが、私はputcharを大文字にする。 – Rossie

+0

@Sinem私はあなたが文字の大文字小文字を無視して大文字として印刷したいと思っていると思いますか?それを含めるように更新します。 –

+0

はい、ありがとうございました。私は本当に、今、あなたのおかげで学んだ! – Rossie

0
#include <stdio.h> 
int main() 
{ 
    puts("(I will print U and K only): "); 
    int c; 
    while(EOF != (c=getchar())){ 
     if(c=='U'||c=='K') 
      putchar(c); 
    } 
} 
+0

ありがとうございました。それは、私がかなり探していたものと非常に似ています。 – Rossie

関連する問題