初心者ですみません。
1.どんなカレンダーを作るか仕様を決める
2.仕様に沿ってプログラムを作成する
3.仕様通りに動作するかデバックを行う
以上
DOS画面でcal[Enter]。
cal 月 西暦[Enter]で年の指定も可能。
[Enter]はEnterキーを押せという意味
日曜から土曜まで一週間で改行する。うまらない場所は「・」でうめるようにする。
仕様が決まっているのであれば、
2.仕様に沿ってプログラムを作成する
に進んでください。
表示するだけならfor文で作れるのでは?
カレンダーなのだから1週間で改行することくらいわかりますし。
とりあえず以下の点をお答えください。
・カレンダーの表示方法。(例:年指定で1年分まとめて)
・作成するソフトとOSなどの環境(例:ソフト:VC++6.0、OS:Win2000)
> 日曜から土曜まで一週間で改行する。うまらない場所は「・」でうめるようにする。
> カレンダーなのだから1週間で改行することくらいわかりますし。
わかるのは多分「日めくりカレンダーではなさそうだ」ということくらいですか…。
現状のままでは作ってくれと依頼してるエンドユーザと大差ない…。
だいたいはわかったのですが、このプログラムでは曜日と日にちがわかりずらいので、10日以下ではスペースを一個作りたいのですが、
#include <stdio.h>
int main()
{
int a=-3;
int b=1;
int i=0;
for(i=1;i<36;i++) { a+=b;
if ( a>0 && a<31) printf("%d", a );
else printf("・");
if (i%7==0) printf("\n");}
return 0;
}
なら,printfで幅を指定すればよいでしょう。
printf("%2d", a);
のように。
http://www.microsoft.com/japan/msdn/library/ja/vclib/html/_crt_printf_width_specification.asp
プログラムを見る限りでは来月6月のカレンダーのようですね。
曜日がわかりにくいのならまず曜日を表示させてはいかがですか?
あと、蒸気のプログラムを見る限りiはいらないのでは?
b = 0;
printf("Sun Mon Tue Wed Thr Fri Sat\n");
for(a = -3;a < 36;a++){
if(a>0 && a<31)
printf(" %2d",a);
else
printf(" ・");
b++;
if(b % 7 == 0)
printf("\n");
}
return 0;
で問題ないはず。
解決いたしました。確かにiは必要なかったみたいです。
>あと、蒸気のプログラムを見る限りiはいらないのでは?
分かりにくくなった上に、余計な「・」が表示されませんか?
元の構造の方がよかったと思います。
>REEさん
確かに最初にも後にも「・」が多いorz
できるだけ余分な変数を減らして使いまわせる
変数は使うプログラムを私は組むのでこういうミスにあってしまうんですねorz
ツイート | ![]() |