4月より専門学校に通い、プログラムの勉強をしているC言語初心者です
現在学校の課題で「万年カレンダー」の製作をしています
明日提出なのですがどうしてもわからないところがあるので
こちらで質問をさせていただきます
仕様は4つの関数利用しmainにて呼び出しというもので
4つの関数は
1、年月入力処理関数
表示する年、月を入力する
数字以外、1583年~3999年の範囲外、1月~12月の範囲外の場合再入力を促す
2、日付文字列編集関数
課題用の関数で入力された年月を文字列へ変換する処理
3、曜日計算処理
↑の関数から受け取った文字列を数字へ変換し、
ゼラーの公式(ツェラー?)で計算し1~6までの数字を返す
4、カレンダ表示データ編集関数
与えられた年月のカレンダ表示用文字列を
グローバル変数 char D_date[15][80]に設定する
わからないのは最後の4の関数で現在は
char D_date[15][80]; //グローバル変数宣言 ・ ・ void cal_edit (int year, int month, int dayofweek) { int dm, i , j, a = 1; ・ ・ 閏年、月の日数等の分岐 表示日数をdmに格納する [例] 2月の閏年→ dm = 29; ・ ・ printf("日 月 火 水 木 金 土\n"); //曜日の表示 while( a <= dm ){ for(i = 0 ; i < 15 ; i ++){ for( j = 0 ; j < 7 ; j++ ){ D_date[j] = a ; // D_dateに日数を格納 a ++ ; } } } } }
このような感じに・・・
1日の前に空白を入れなければいけないのはわかりますが
やり方がいまいちわかりません
上記のやり方では文字化けをおこしてしまいます
わからないのは
・空白の入れ方
・配列への日付の入れ方
・表示
です。
学校では「独習C」という本を使い勉強していて
現在、基礎、制御文、配列、文字列、ポインタまでは終わっています(6章まで)
急ではあると思いますがどうかよろしくお願いします!