• ベストアンサー

Cのプログラミングについて

入力した半角のアルファベットが大文字なら小文字で,小文字なら大文字で表示するプログラムを作り, また,半角のアルファベット以外の文字が入力された場合は,「入力エラー」と表示するプログラムを作りたいんですけど,作ってもうまく動作してくれません。簡単だとは思うんですがお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> 簡単だとは思うんですがお願いします。 何をお願いしているのでしょうか? if ( それが大文字 ) { 小文字で書く } else if ( それが小文字 ) { 大文字で書く } else { エラー } と、これだけのことですが。

isozin
質問者

お礼

御礼が遅くなりすみませんでした。ありがとうございました。

その他の回答 (4)

回答No.5

> 大文字から小文字、小文字から大文字へと変換の仕方はご存知なのでしょうか?? あ、むしろそっちでお悩みですか? islower/isupper/tolower/toupper なんてのが <ctype.h> に用意されています。

  • ayuayu17
  • ベストアンサー率16% (1/6)
回答No.4

度々失礼します。 たしかにおおまかなプログラムはepistemeさんのおっしゃるとおり、if文を用いて書いてやれば良いのですが、大文字から小文字、小文字から大文字へと変換の仕方はご存知なのでしょうか?? 正しくプログラムを作成しているのに動作しない、なんてことはまずありえません。意外と小さなケアレスミスのせいかもしれませんよ。 とりあえずもう一度プログラムをチェックしてみてはどうでしょう。

isozin
質問者

お礼

ありがとうございました。プログラムをチェックし直したら単純なミスが何箇所か見つかりました。 今度から、確認をしてから質問をするようにします。

  • ayuayu17
  • ベストアンサー率16% (1/6)
回答No.2

arrowrootさんと同じく、ソースを見せていただければ…。

noname#4252
noname#4252
回答No.1

その作ったプログラムのソースコードも書いてもらえると回答しやすいと思います。 そんなに長いものではないですよね?

isozin
質問者

お礼

ありがとうございます。プログラムを書いとけば解かり易かったですよね。今度からそうします。

関連するQ&A

  • このプログラミングの宿題を教えてください。

    「アルファベット4文字を半角で文字列として入力します。4文字のコードを足しあわせ,その結果を10進数で表示します。さらに,百の位,十の位,一の位に分けて表示するようにプログラムを作りましょう。」という宿題です。 main( ) { char s[6]; printf("4文字を入力してください:"); scanf("%s",s); } ここまでできたんですが、そのあとが分かりません。 回答よろしくお願いします。

  • C言語でプログラミング。(文字を置き換えるやり方)

    scanfなどで入力した文字列(アルファベット)の中にある特定の文字を違う文字に置き換えるようなプログラムってどのように作ったらよいのでしょうか?? 例えば、(sという文字をtと言う文字に変える・・・sound→tound)などのように、入力した文字を置き換えて、もう一度表示するようにするには、どうしたらよいのでしょうか? 関数を使ってプログラムを作りたいと思っているのですが・・・ なにかヒントなどがあったらお願いします。

  • プログラミング教えて下さい

    会社の研修で課題が出たんですが、わかりません。誰か教えて下さい。 1.整数を入力してくださいと表示し、入力された文字列が10進数であるかをチェックする。桁数が10桁以上であれば、エラー。符号+-も1文字に数える。入力文字列が数字以外、小数、全角文字の場合はエラー。最初の文字が符号であればOK。結果は、整数は で桁数は ですと表示するプログラム。 2.処理を選択してください 0:処理続行 1:処理終了 と表示し、入力された処理区分が0の場合は処理を続行します。メッセージ回数は ??回です。と表示し、処理区分入力画面に戻る。1の場合は処理を終了しますと表示する。入力された処理区分が0か1以外の場合はエラーメッセージし、処理区分入力画面に戻る。

  • プログラミングC

    以下に示すプログラムは、キーボードから39文字以下の文字列を入力した後で、その文字列を表示するプログラムである。ただし、文字列の表示においては、printf命令における変換指定で、%sを使用するのが一般的であるが、以下のプログラムあえて%sを使用せずに、%cを使っている。このプログラムについてキーボードから入力される文字列の文字数が391文字以下である限り、その文字列を正しく表示できるよう、下線部を埋めてプログラムを完成させなさい。 char x[40],i printf("39文字以下の文字列を入力:"); scanf("%s",x); for(i=0;x[i]_____;i++) printf("%c",x[i]); printf("です。\n"); [実行例] 39文字以下の文字列を入力:programming 入力された文字列はprogrammingです。

  • Cプログラミング

    授業の課題で出されたのですが、判別式を使ってのD<0の時の場合が 分かりません。どうか、else ifを使ってのプログラムで分かる方はお力をかしてください。よろしくお願いします。 1.二次方程式ax2+bx+c=0のa、b、cを入力すると、解の公式を用いて答えを出すプログラムを作って、動作を確認せよ。ただし、aが0の場合を考慮せよ。また、解が重根の場合や複素数の場合にも対応せよ。(判別式を用いて条件分岐させるとよい。複素数解の場合は、x = 3 + 5i のように表示させる。)

  • Cプログラミング(文字入力)

    getsを使って文字を入力し、while文で一文字ずつ 表示させるプログラムをつくりたいのですが、 上手く動作しません。 間違っている点を指摘頂けないでしょうか。 宜しくお願いします。 char c[11]; int i; printf("文字列を入力してください(10文字以内)\n-->"); gets(c); while(i=0;c[i]=='\0';i++){ printf("%c\n",c[i]); }

  • C言語の問題

    配列の問題 1.キーボードから入力したアルファベットの大文字(A~Z)の入力回数をそれぞれ数え、結果を画面出力するプログラムを作成せよ。但し、入力の終了はEOFとし、入力回数のカウントには、配列を用いるものとする。(文字ごとに回数を格納する配列を用意する) 2.キーボードから番号(数字)を入力し、その番号に該当する文字列中の文字を画面表示するプログラムを作成せよ。なお、数字以外の文字が入力した場合と、文字列の範囲外の数字が入力された場合は、任意のメッセージを出力し、再入力するようにする。また文字列はキーボードから入力するものとする。 この問題が解けなくて困ってます。どうか知恵をかしてください。

  • 全角文字を半角に変換する

    全角文字を半角へ、またはその半角文字を全角にする 関数もしくは処理がありましたら教えていただきたいの ですが、宜しくお願い致します。 また変換する文字はアルファベットと数字で、漢字とかが 入力されたらエラー表示させる例を提示していただけると たいへんありがたいです。

  • C言語のプログラミングについてです。

    C言語のプログラミングについて教えて欲しいです。 scanf関数を用いて、キーボードから文字列(最大30文字)を読み込み、これをchar型配列に格納します。最大10個までの文字列が入力された場合か、「END」が入力された時、入力された逆順で画面に表示するプログラム。作成しなさい。 〈完成例〉 adjm 10mdjp jpd-4 njad' END njad jpd-4 10mdjp adjm

  • プログラミングC

    次のプログラムは、キーボードから5個の整数データを入力し、すべてのデータ入力が終わった後で、実行例に示すように、それらのデータを入力順とは逆の順序で表示するプログラムである。このプログラムが正しく動作するように下線部を埋め、プログラムを完成させなさい。 int ______,i; for(i=0;i<______;i++) { printf("NO.%d:",i++) scanf("%d", &a[i]); } for(i=4;_____;i++) printf("%d,",a[i]); printf("%d\n",a[0]); [実行例] No.1:5 No.2:3 No.3:8 No.4:2 No.5:2 2,2,8,3,5