#99 Article 958 Posted at 1995/12/03 00:52:01 by 夢中ゆわ (MAP2717) [SAHOU.1]

Subject: Re:*6 プログラミングお作法の話 /946 ... /941 /940

> 「引数かキー入力(どちらか)で数値を読み込み、1からその数まで表示する。
>  ただし、3と5と入力された数の所では数字を表示するかわりに、
>  その回数だけ『にゃん』を表示する」

Cで作ってみましたにゃん。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#include <stdio.h>
#define NEKO(max) for (j=1; j<=max; j++) printf("にゃん");
#define CRLF      putchar('\012');
/* maple #99 用サンプルだにゃん */
void main( void )
{
    unsigned int i,j,c;
    printf("数字を入れてにゃん!:");
    scanf("%d",&c);                               /* argじゃないのにゃん */
    for (i=1; i<c; i++)
    {
        switch (i)                                /* ifでもいいかにゃん */
        {
            case 3:
            case 5:                               /* 変数は使えないにゃん */
                NEKO(i)
                break;
            default:
                printf("%d", i);
        }
        CRLF                                      /* 改行だにゃん */
    }
    NEKO(c)
    printf("\n★じゃぁまたね、ばいにゃん★\n");   /* おまけだにゃん */
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
自己診断ですか?(^^;)
・CはBASICと違って文字列の管理を自分でしなきゃいけない。
 従ってバッファを用意せずに済む方法があれば、そちらをとる。
・不等号は<、<=を使用(左小、右大を暗黙)
・値を返さず、簡単なものは関数じゃなくてマクロを使う。
・for の中の ; の次に空白。
・=や<=などでは、左辺右辺が簡単なときには空白を入れず
 複雑になったら=の両側に空白を入れる。
・括弧は直前行と同桁。インデントは4桁。
・CRLF とか CLS とかは、よく定義して使っています(^^;)
・putcharで済むときにはprintfを使わない。
・'\xnn'を使わず、'\0nn'を使う
・コメントは大いに入れましょう(^^;)
 コメント桁は出来るだけ同桁に。

未だ未だCを初めて日が浅いので、私もいっぱい勉強させていただきたいと思います。

#MAP2717 夢中ゆわ

Rem おまけだみゃぁ
Do
 Input"数字を入れてみゃぁ~";A
Loop Until 0<=A
For I=1 TO A
 Select Case I
 Case 3,5,A
  For J=1 TO I:Print "みゃぁ";:Next :Print
 Case Else
  Print I
 End Select
Next