ページ 11

質問です

Posted: 2009年1月22日(木) 07:05
by ぽにょ
今、提示している問題をやろうと思っているのですが半日ほどかけて処理手順を考えてたのですが
まったく思い浮かびません、問題の意図すら微妙な感じです・・
ピリオドが入力されるまでループ(while)でループさせる・・・
これぐらいしか思いつきませんでした
こんな自分ですが、助言の方、よろしくお願いします。

-- 課題 --
行頭でピリオドが入力されるまで、入力された文字を出力するプログラムを作成
(ピリオド自身は表示しなくていい)

エラー仕様
行頭ピリオドの後に文字がある場合
対処
行頭でピリオドと認識しプログラムを終了

(12:46管理人により課題内容追加)

Re:質問です

Posted: 2009年1月22日(木) 07:19
by 御津凪
短い問題文なら、添付せずに直接載せたほうがいいと思いますよ。
過去ログに入ってしまうと、添付したファイルは削除されますし。

コマンドラインでの入力が対象なら、getchar で読み込んで処理すればいいと思います。
#include <stdio.h>

int main(){
    int ch;

    ch = getchar();
    while(ch != '.'){

        ch = getchar();
    }

    return 0;
}
ヒントとして骨組み部分だけ書いておきます。

Re:質問です

Posted: 2009年1月22日(木) 08:35
by non
行頭のピリオドをチェックなら,私なら行単位で例えばgetsを使って入力したいです。

Re:質問です

Posted: 2009年1月22日(木) 09:25
by バグ
1行辺りの最大文字数が決まっていないのが気になりますね…
こちら側で勝手に決めていいのかな?

Re:質問です

Posted: 2009年1月26日(月) 00:09
by ぽにょ
なるほど、次回からはそうします、ご指摘ありがとうございました

monさん
そうですね、行単位ならgetsの方がいいかもしれませんね
ありがとうございます

バグさん
文字数は・・・そうですね、今回はこちら側で決めてみようと思います
50とか。

御津凪さんのコードをヒントに
なんとなくですが書いてみました。

Re:質問です

Posted: 2009年1月26日(月) 08:35
by non
これって、コンパイル通らないでしょ。コンパイルしてみたらどうですか?

Re:質問です

Posted: 2009年1月26日(月) 09:20
by BEMANI
ピリオドをチェックと仰ってるんですが、ソース見たところ
>if(','=!str[0])
だと、ピリオドではなくカンマをチェックしていることになるのでは・・・。