- ベストアンサー
Cについて教えてください。
学校で 「文字列を繰り返し読み込み、英文字以外を削除し小文字を大文字に 変換して表示するプログラムを作成せよ。'!'を入力したとき終了 するようにすること。」 使う関数などについて指定はなく、第1回目の授業で説明もなく課題が 出てしまいました。他にもあるのですが、それはとりあえずできた。 教科書があるので、そちらを参考にしなさいと言うことだと思います。 教科書…ソフトバンクパブリッシング社 改訂新C言語入門-ビギナー編- 環境はUNIXです。dtpadで入力し、ccでコンパイルしています。 自分なりに考えたのは isalpha(x)を使って英文字を認識してtoupper(x)で文字の変換。 入力はcharでしているのでこれらをintに変換してxに文字コード(10進) を入力すればできるかな~と。 また、「繰り返し~」からwhile(1)で無限ループにして、if(a == '!') break で抜けて終わりかな。 と考えたのですが、うまくプログラムが立てることができず困っています。 ぜひぜひ教えて下さい。
お礼
>ソースにコメントを書くくせをつけておくとよい そうですね。 perlを少々した事があるんですがperlのコメントは#だけ。 Cは/* */と面倒だなぁと思っていたんですが、やっぱり ある方が見安いですね。 それから質問です。 >/* 使用関数宣言 */ >void ChangeStrPrint( char *); この部分(ChangeStrPrint)は自分で決めたのでしょうか? どういうことをこれでしているのか分からないので、 解説を加えていただけないでしょうか? このままコピーさせていただいたとき、エラーの連発。 ”文字 '0x81' は認識できません。”みたいなの。 いったい何が原因なんだ~~ sasasattoさんの回答を疑ったりもしました(ごめんなさい) 理由は全角スペースがあった。 コピー&ペーストした罰があたったんですね。 おかげでまた一歩知識が増えました。 はやく皆さんのように教えれる立場になりたいです。