![]() |
|
|||||||
| 論壇說明 |
|
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
|
主題工具 | 顯示模式 |
|
|
#2 (permalink) |
|
註冊會員
![]() |
一年級剛學 C 時寫的
大概三年多了 現在看看以前寫的東西還真濫 orz 執行完之後案任一鍵結束 萬年曆會輸出到C槽 C:\萬年歷.txt 語法:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
int m_days(int,int); // 回傳月份有幾天-28
int first_mon(int); // 每年的一月一號是星期幾
int first_day(int,int); // 回傳某個月份的一號是星期幾
main()
{
FILE *fptr ;
fptr = fopen ("C:\\萬年歷.txt","w");
int y , m=1 ; // y 年份, m 月份
int i , j=1 ; // 計數器
int d , e ; // 一個月有days天 第一行個e格
printf("執行完請至 C:\\萬年曆.txt\n") ;
cout << "請輸入年份 " ;
cin >> y ;
do{
i=1,j=1;
fprintf(fptr,"\n\t\t\t\t\t%d年%d月\n",y,m) ;
for(i=0;i<=48;i++)
fprintf(fptr,"_");
fprintf(fptr,"\n");
e = first_day(y,m); // 每個月第一天
d = m_days(y,m)+28; // 每個月有幾天
fprintf(fptr,"\n日\t一\t二\t三\t四\t五\t六\n");
// 第一行空白
for(i=1;i<=e;i++)
fprintf(fptr,"\t");
// 第一行數字
for(i=1;i<=7-e;i++)
fprintf(fptr,"%d\t",i);
fprintf(fptr,"\n");
// 剩餘數字
for(i;i<=d;i++)
{
if(j%7==0)
{
fprintf(fptr,"%d\t\n",i);
j++ ;
}
else
{
fprintf(fptr,"%d\t",i);
j++ ;
}
}
fprintf(fptr,"\n");
m++;
}while(m<=12);
cout << endl ;
system("pause");
}
int first_mon(int y) //每年的一月一號是星期幾
{
int i , j=2 ;
for(i=1;i<=(y-1980);i++)
{
if(i%4==1)
j+=2;
else
j++ ;
}
return j%7;
}
int m_days(int y,int m) //回傳月份有幾天-28
{
switch(m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 3;
break;
case 2 :
if (y%4==0)
return 1 ;
else
return 0 ;
break ;
default :
return 2;
break ;
}
}
int first_day(int y,int m) // 每月的一號是星期幾
{
int i ,sum=0;
for(i=1;i<=m-1;i++)
sum+=m_days(y,i);
sum=(sum+first_mon(y))%7;
return sum ;
}
語法:
2007年1月 _________________________________________________ 日 一 二 三 四 五 六 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 31 2007年2月 _________________________________________________ 日 一 二 三 四 五 六 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 2007年3月 _________________________________________________ 日 一 二 三 四 五 六 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 31 . . . |
|
|
送花文章: 623,
|
|
向 snoopy 送花的會員:
|