




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、網 133告級:指導老師:周兵實驗目的1能按照軟件工程的思想,采用面向過程的方法開發出一個小型軟件系統。2在軟件系統開發過程中,能綜合利用一門編程語言和軟件工程等多門課程的知識。3 培養良好的軟件開發習慣,了解軟件企業文化。4 掌握結構化數據流分析技術。5 掌握結構化程序設計的基本概念與技術,并且養成良好的編碼風 格。6 掌握單元測試的一般步驟及技術。7 掌握集成測試的一般步驟和技術。實驗內容1 軟件需求分析、功能需求分析輸入一個年份( 1-3000),然后顯示 12 個月的月歷 能解決閏年和平年問題#define dent "H、運行需求分析操作系統:Windows9x, Wind
2、ows2000, WindowsXP及更高版本、數據流圖確定年丄是否閏丿年份年I檢查輸二軟件結構圖年份J顯示表頭JLcheckinpu 2.:inputyear 身計算1月1>”顯示2.,11r'i. LoL開始信J顯示1 :seti nit()顯示1-Y-T I diiauB;isleap ()軟件設計與編碼-#in elude <> #in elude <> #in elude <> #in elude <> #defi ne firstdayofi 1/*定義第一年的第一天,星期日=7 */#defi ne gap "
3、;"/* set gap betwee n nu mbers of dates */* set right margin. */ struct info int month;int firstdayofmonth;int daysofmonth;int leap;monthinfo;int checkinput(void);int inputyear(void);int isleap(int y);void output(struct info);void printhead(struct info );void printmonth(struct info);struct info
4、 setinit(int);struct info setmonthinfo(struct info );/* 這個作用是判斷年 , 如果是閏年 , return 1, 否則return*/ int isleap(int y)return (y%4=0 && y%100!=0) | y%400=0);/* This module is toaccept inputyear() and check if it iscorrect. if it iscorrect it returnint year, otherwise ask user reenter*/int checkinp
5、ut(void)doy=inputyear();if(y<1 | y >3000)printf("n輸入錯誤!。nn");y=0;while(y<1);return y;/* This function is to accept the input year, if it is theinteger, it returns*/it,otherwiseitreturn-1inf inpufyealr(void)char s80kinf L wyprfo(no 天 8q+i)s 三 Hgefchaoi 宣 FH27)exif(o)if(s三 RIO)break
6、-fo(no 天 8q+i)if(s三RIO) break-pse if(=sdigif(s三)ref urn wyHafoi(s)-efu3 w/*This module is to accept monthinfo, and print the whole year calender. */void output(struct info monthinfo)char ch;do printhead(monthinfo);printmonth(monthinfo);printf("按任意鍵顯視下一月,按Esc鍵退出.n");ch=getchar();if(ch=27) e
7、xit(0);monthinfo=setmonthinfo(monthinfo);while<13);/* This module is to accept monthinfo, amd print monthlyhead like"月" */void printhead(struct info monthinfo)char *ss;printf("%s",dent);switchcase 1:ss="月"break;case 2:ss="月"break;case 3:ss="月"brea
8、k;case 4:ss="月"break;case 5:ss="月"break;case 6:ss="月"break;case 7:ss="月"break;case 8:ss="月"break;case 9:ss="月"break;case 10:ss="月"break;case 11: ss="一 月 "break;case 12: ss="十二 月 "printf(" %s%s%s%snn",
9、gap,gap,gap,ss);/* This module is to accept monthinfo, and print the numbered dates of themonth.*/void printmonth(struct info monthinfo)int i,j,k;printf("%s",dent);printf("一 %s 二 %s 三 %s 四 %s 五 %s 六 %s 日nn",gap,gap,gap,gap,gap,gap);printf("%s",dent);for(i=1;i<i=i+1)p
10、rintf("%s ",gap);k=;for(j=1;j<=;j=j+1)if(k>7) k=k-7;printf("nn%s",dent);k=k+1;printf("%2d%s",j,gap);printf("nn");/* This module is to accept the monthinfo, and set the monthinfo of next month.*/struct info setmonthinfo(struct info monthinfo)int m;%7+1;m=
11、;if(m=1 | m=3 | m=5 | m=7 | m=8 | m=10 | m=12)=31;if(m=2) if= 29;else= 28;return monthinfo;/* This module is to initialize the monthinfo. */struct info setinit(int year)int i,days,total;struct info monthinfo;=1;=firstdayof1;for(i=1;i<year;i=i+1)printf("tt歡迎使用萬年歷演示程序if(isleap(i)days=366;elsed
12、ays=365 ;=+days-1)%7+1;=31;=isleap(year);return monthinfo;void main()printf("n");tt*n");printf("n");tt*int year ;struct info monthinfo;year = checkinput();monthinfo = setinit(year);output(monthinfo);3 單元測試白盒測試 黑盒測試2015年三月四月 五月六月2016 年:總結和體會本次用c語言編寫的萬年歷系統主要實現了年歷、月歷、日歷的顯示。我根本就
13、不喜歡敲 代碼了,看見代碼就頭疼。所以感覺厭惡這門專業,對學習也不感興趣了。而且,還有一件更 頭疼的事是在寫一個簡單的程序時竟然老是出錯,難一點的,復雜一點的程序竟然無從下手。 但是去看程序的參考答案時都看得懂,又感覺很容易。學了軟件工程以后,我就感覺我以前的 學習方法是錯誤的。以前我只注重于代碼,而不注重理論知識以及編程的思路,程序的架構。 以至于在些程序時沒有寫程序的思路, 不能形成程序的架構。 只想到看腦袋里是否有與此類似 的代碼。越想程序越亂,最后腦袋里一片空白。不知道程序從哪個方面下手了。軟件工程這門 課程是做軟件開發的人必學的課程,通過學這門課程,程序員就會注重軟件開發的理論知識,
14、 以及做項目開發的思路。 學了這門課程后你寫程序就不會去盲目的去套用代碼, 而是理清此程 序的架構以及思路。程序該從什么時候開始,什么時候結束。在中間需要添加什么樣的功能, 以完善該軟件。在設計初期,首先溫習了課本內容,再次熟悉了一下C語言程序,然后廣泛的查找有關萬年歷的資料, 并結合查找到的資料, 整理出設計的主要思路, 畫出流程圖, 最終寫出了源程序, 并編譯成功,在實驗中,碰到了不少問題,其中包括如何獲取系統時間,如何計算任意時間的 時間差,這些困難,都通過查閱資料和問同學得到了解決。當然,由于時間和能力的原因,做 得還不是很完美。在這學期的課程序設計中,收獲知識的同時,還收獲了閱歷,收獲了成熟,通過查找大量 資料,請教老師,以及不懈的努力,不僅培養了獨立思考、動手制作的能力,在各種其它能力上也都有了提高。更重要的是,在課程序設計里,我們學會了很多學習的方法,知道了理論 和實踐的巨大差別。而這是以后最實用的,真的是受益匪淺。要面對社會的挑戰,只有不斷的學習、實踐,再學習、再實踐。同時在與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司游艇團建活動方案
- 高等教育評估師資格考試的相關試題及答案
- 2025年虛擬現實技術工程師考試試卷及答案
- 2025年現代農業技術推廣考試試卷及答案
- 2025年心理咨詢師職業資格考試試卷及答案
- 2025年食品安全管理體系考試試題及答案
- 2025年生物醫學工程技術考試卷及答案
- 2025年數據科學與大數據技術專業考試題及答案
- 2025年名師課堂與教學改革實踐能力考核試題及答案
- 2025年護理心理學考試題及答案
- 天津市部分區2025年九年級下學期中考二模數學試卷(含詳解)
- 2024年重慶開州區中醫院招聘筆試真題
- 高中生物競賽課件第一章 組成細胞的分子基礎課時1
- 2024 - 2025學年人教版三年級下冊美術期末考試試卷及參考答案
- DB13-T2828-2018-馬鈴薯抗旱性鑒定技術規程-河北省
- 礦泉水配送合同協議
- 電腦維護合同協議模板
- 浙江省溫州市2023-2024學年高一下學期期末考試語文試卷(含答案)
- 鎂合金半固態注射成型技術的研究與發展
- 口袋妖怪白金金手指大全
- 2025年數控銑工(技師)職業技能鑒定精練考試題庫300題(含答案)
評論
0/150
提交評論