

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、安徽師范大學(xué)物理與電子信息學(xué)院 C 語言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告 專業(yè)名稱:電子信息工程 實(shí)驗(yàn)室:34043404 實(shí)驗(yàn)課程:C C 語言課程設(shè)計(jì) 實(shí)驗(yàn)名稱:打印月歷 姓名: 同組人員: 指導(dǎo)老師: 實(shí)驗(yàn)完成日期:20102010- -6 6- -2626 一、問題描述: 打印月歷程序要求在程序運(yùn)行后年份和月份由鍵盤輸入,然后按照日期和星 期相吻合的順序把這個(gè)月的月歷打印顯示在屏幕上,打印的月歷按星期一到星期 日排列。 二,基本要求: (1)要打印何年何月的月歷完全由用戶決定,在程序運(yùn)行后由鍵盤輸入。 (2)在打印月歷中要注意閏年,大小月的問題,而且日期和星期要相對應(yīng)。 三、系統(tǒng)分析與設(shè)計(jì)。 在打印月
2、歷程序中,程序可以根據(jù)用戶輸入的年份和月份在電腦屏幕上打印 出該月的月歷,打印的月歷是按星期一到星期日排列的。初看起來,打印月歷的 程序的邏輯似乎十分簡單,實(shí)際上卻要考慮大量細(xì)節(jié)性問題,例如 ,閏年和大小月 問題。 在程序的設(shè)計(jì)思路中,首先我定義了兩個(gè)全局變量 int month,year。然后我定 義了兩個(gè)函數(shù) void printmessage_(1 )和 void printmessage_(2 )函數(shù),第一個(gè) 函數(shù)的功能是在打印月歷前顯示友好界面和關(guān)于本打印月歷程序的 Introductin。 第二個(gè)函數(shù)的功能是在打印月歷后顯示此程序的制作者等信息。而后我定義 了 int Estima
3、teYear(int year) 函數(shù),此函數(shù)是用來判斷用戶輸入的年份是不是閏年 (此函數(shù)有一個(gè)返回值,返回 1 代表是閏年,返回 0 代表是非閏年)。 在后我定義了 int Judgeweekday(int year,int month函數(shù),此函數(shù)的作用是用 來判斷用戶輸入的月份的 1號(hào)是星期幾。在函數(shù)體中有下面語句: rst=year-1+(int)(year-1)/4)-(int)(year-1)/100)+(int)(year-1)/400)+days。 weekday=rst%7。 (函數(shù)的返回值即變量 weekday的值:1到6代表星期一到星期六,返回值是 0代表是星期日) 。 接
4、下來就是最重要的事情了,也就是在電腦屏幕上打印出該月的月歷。我在 函數(shù)中定義了 Printclendar(int weekday,int monthday)函數(shù),此函數(shù)的作用就是實(shí) 現(xiàn)所需功能。在此函數(shù)中,我定義了計(jì)數(shù)變量 i,j,通過weekday的值可以知道此 月的1號(hào)是星期幾,在第一行打印1前全部打印t,計(jì)數(shù)變量累加,計(jì)數(shù)變量的值 達(dá)到7( j從0開始)就輸出n換行,最后從第二行開始又進(jìn)行循環(huán),當(dāng)i累加到 這個(gè)月的總天數(shù)后結(jié)束循環(huán),這樣月歷就打印出來了 最后就是主函數(shù)了,在主函數(shù)中依次調(diào)用 printmessage_1() Judgeweekday(year,month) Printcl
5、endar(weekday,monthday) printmessage_2()最后在電腦屏幕上打印出相應(yīng)年份的月份的月歷。 四、運(yùn)行結(jié)果: 程序運(yùn)行后呈現(xiàn)如下界面: 在界面上會(huì)提示用戶輸入數(shù)據(jù)的格式(Year-Month),例如用戶輸入2009-6 后, 程序會(huì)顯示如下界面:c: C-VllMD0TSsysteB32exe 4羽 Thank you for- usin this ! designer: Xiong shi Wang zlian 又或者用戶輸入2000-5,程序會(huì)呈現(xiàn)如下界面: C;C: VlIHD0fSsrsteB32cadr exe Introduction: In t h
6、is pro gram j. ou can input a no nth in one it can sho you the calendar of this month t LetJ s haue a try ! Please input the Wear and Month here : 2000-5 The calendar of S in 2900 Thank you for using this prorairt ! designer: Xiong shi Uang ?han 五、 程序運(yùn)行流程圖: 輸 Introduction: In this program,you it can
7、 show you the calendar of can input a month in one year,then this month ? Lets have a try ? Please input tJw Vear and Month hei*e : 2009-6 The calendar of 6 in 2009 lu T .1 18 5 4 18 5 63 0 763 0 7 12 2 n 7n 7 susu 4 18 口 i CO 5 2 9 12 2 29630 u 12 3 d30 74 1 e 112 3 u t 63 07 a 12 2 s n 7418 u 12 2
8、 s 入 (year,month) 六、小結(jié)及收獲和體會(huì): 在這次 C C 語言程序設(shè)計(jì)中,我學(xué)到了很多東西,首先對于 C C 語言中循環(huán) 的使用更加的嫻熟,對于程序設(shè)計(jì)的思路也更加敏捷。當(dāng)然在程序設(shè)計(jì)中我 也遇到了很多問題,首先是 Printclendar(weekday,monthday函數(shù)的設(shè)計(jì)思想上 有問題,當(dāng)然最后通過努力才得以解決。還有就是開始的時(shí)候我設(shè)計(jì)的打印月歷 的程序打印出來的月歷排列是從星期日到星期一的,后來看見要求是要從星期一 到星期日,在多次的實(shí)驗(yàn)下,我最終將程序的循環(huán)進(jìn)行了改變,才實(shí)現(xiàn)了所需的 功能 程序結(jié)束 七、參考書目: (1)、譚浩強(qiáng)版 C 語言程序設(shè)計(jì)教程 (
9、2)、華中科大版標(biāo)準(zhǔn) C 語言程序設(shè)計(jì) 八、C C 語言程序設(shè)計(jì)一打印月歷完整源程序如下: #include int month,year。 void printmessage_1( ) printf(nt )。 * | * ) 。 Welcome to use this program ! * | * ) 。 printf(n )。 printf(n Introduction:) 。 printf(n In this program,you can input a month in one year,then。) printf(n it can show you the calendar o
10、f this month ! 。) printf(n )。 printf(n Lets have a try ! )。 printf(n )。 printf(n Please input the Year and Month (Year-Month) here : )。 void printmessage_2() printf(n - ) 。 printf(n )。 printf(n Thank you for using this program !)。 printf(n designer: 。) printf(n Xiong shi)。 printf(n Wang zhan n)。 int
11、 EstimateYear(int year) int leap。 if(year%4=0) if(year%100=0) if(year%400=0) leap=1。leap=0。 else leap=1。 printf(nt * ) printf(nt * ) printf(nt * printf(nt * printf(nt * else else leap=0。 return(leap)。 int Judgeweekday(int year,int month) int days=0,i,rst,weekday。 int monthdays13=0,31,28,31,30,31,30,
12、31,31,30,31,30,31。 if (EstimateYear(year) monthdays2=29。 for (i=1。 imonth。 i+) days+=monthdaysi。 days+=1。 rst=year-1+(int)(year-1)/4)-(int)(year-1)/100)+(int)(year-1)/400)+days 。 weekday=rst%7。 return(weekday)。 Printclendar(int weekday,int monthday) int dt=1,i,j=0 。 printf(n )。 printf(ntt The calend
13、ar of %d in %d tt,month,year) 。 printf(n - ) 。 printf(ntMontTuetWedtThutFritSattSunn) 。 printf( t) 。 for (i=1。 iweekday。 i+) printf(t) 。 j+ 。 while (j!=7) printf(%3d,dt) 。 if (j6) printf(t) 。 else printf(nt) 。 dt+。 j+ 。 while (1) for (j=0o j7。j+) printf(%3d,dt) 。 if (j!=6) printf(t) 。 else printf(nt) 。 if (dt!=monthday) dt+。 else return 0。 main() int monthday,weekday,monthdays13=0,31,28,31,30,31,30,31,31,30,31,30,31 printmessage_1(。) scanf(%d-%d,&year,&month) 。 if (year0|month12) return 0。 if (EstimateYear(year) monthdays2=29。 monthday=monthdaysmonth。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度解除雙方影視制作合作合同
- 2025年度科幻電影總導(dǎo)演專業(yè)聘用合同
- 二零二五年度電子商務(wù)平臺(tái)軟件使用及推廣許可協(xié)議
- 2025年度生態(tài)果園產(chǎn)權(quán)及種植技術(shù)引進(jìn)合同
- 2025年度紡織品普通采購合同書
- 二零二五年度醫(yī)療健康行業(yè)業(yè)務(wù)員委托合同
- 二零二五年度手農(nóng)機(jī)售后服務(wù)與技術(shù)支持合同
- 2025年度環(huán)保項(xiàng)目投資欠款付款協(xié)商協(xié)議書
- 二零二五年度民間借貸合同-跨境電商供應(yīng)鏈融資
- 二零二五年度員工股權(quán)激勵(lì)與股權(quán)鎖定期協(xié)議
- 托物言志寫詩 知行合一做人
- 化工分離過程1緒論第1講ppt課件精選
- 陶板幕墻施工方法
- 設(shè)備管理培訓(xùn)教材
- 財(cái)務(wù)報(bào)表分析財(cái)務(wù)報(bào)表分析課件
- T∕CCCMHPIE 1.2-2016 植物提取物 檳榔多糖多酚
- 局域網(wǎng)規(guī)劃設(shè)計(jì)_畢業(yè)論文
- 脛骨平臺(tái)骨折(課堂PPT)
- 冷室壓鑄機(jī)電腦操作控制部分操作說明
- 中考復(fù)習(xí)復(fù)分解反應(yīng)類型方程式書寫訓(xùn)練題(無答案)
- 病理學(xué)課程標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論