月の1日と1日の日数をとり、関連するカレンダーを印刷するプログラムを作成しています。私は3と30を入力した場合ループ印刷のための右揃え
それは
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
を印刷する必要がありますこれは私が
#include <stdio.h>
void printclndr();
int main(){
int first,days;
first = firstday();
if(first<1||first>7)
{
printf("%d is not a valid day. Try again. \n",first);
firstday();
}
days = monthdays();
if(days<28||days>31)
{
printf("Retry. Enter days for a valid month. \n");
monthdays();
}
printf("\n");
printclndr(first,days);
printf("\n\n");
main();
}
void printclndr(int day1, int numdays){
int date,check,count,tab;
check = day1 + numdays;
tab = 0;
for(count=1;count<check;count++)
{
if(count<day1)
{
printf("\t");
tab+=1;
}
if(count>=day1)
{
printf("%d\t",count-day1+1);
tab+=1;
}
if(tab==7)
{
printf("\n");
tab=0;
}
}
}
int firstday(){ //function to get the starting day of the month
int day; //initializing local variables
printf("First day of the month (1= Sun, 7= Sat): ");
scanf("%d",&day);
return day; //returns the value of day
}
int monthdays(){ //function to get no of days in a month
int days; //local variables
printf("Number of days in the month: ");
scanf("%d",&days);
return days;
}
firstdayとmonthdays scanfのユーザ入力を書いたコードがあると正常に動作しています。私のコードが動作し、カレンダーを印刷します。今私はカレンダーを右揃えしたい。
私は
1
8
15
代わりの
1
8
15
私はそれをどのように行うのですがしたいですか?
ファイルを使用する前に宣言します。 – JCx
[エラー:gccと '6'の相反するタイプの重複](http://stackoverflow.com/questions/18582731/error-conflicting-types-for-six-with-gcc) – 5gon12eder
@JCxありがとう。今すぐ実行します – Uttaran