版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第頁(yè)第頁(yè)課程設(shè)計(jì)報(bào)告課程名稱(chēng)程序設(shè)計(jì)語(yǔ)言c課程設(shè)計(jì)U設(shè)計(jì)題目日程管理姓名專(zhuān)業(yè)班級(jí)網(wǎng)絡(luò)學(xué)號(hào)組別無(wú)同組者指導(dǎo)教師日期2011/7成績(jī)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)1.課程設(shè)計(jì)任務(wù)書(shū)上海*學(xué)院課程設(shè)計(jì)任務(wù)書(shū)課程名稱(chēng)程序設(shè)計(jì)語(yǔ)言課程設(shè)計(jì)課程代碼B704010設(shè)計(jì)題目算術(shù)練習(xí)個(gè)人收支管理通訊錄成績(jī)記錄簿圖書(shū)借閱管理日程表管理題目序號(hào)6設(shè)計(jì)時(shí)間2011年6月27日2011年7月8日系(院)計(jì)算機(jī)與信息工程學(xué)院專(zhuān)業(yè)網(wǎng)絡(luò)工程班級(jí)10104301一、課程設(shè)計(jì)任務(wù)(條件)、具體技術(shù)參數(shù)(指標(biāo))在指導(dǎo)書(shū)提供的課程設(shè)計(jì)題目中選擇一題或自選(但需經(jīng)過(guò)指導(dǎo)教師認(rèn)可)每個(gè)題目限一人完成,題目選定后不可更換。用戶(hù)提供
2、的主操作界面應(yīng)該方便用戶(hù)的操作。最后提交的課程設(shè)計(jì)成果包括:a)課程設(shè)計(jì)報(bào)告電子稿。c)源程序文件。d)可執(zhí)行程序文件。二、對(duì)課程設(shè)計(jì)成果的要求(包括課程設(shè)計(jì)說(shuō)明書(shū)、圖紙、圖表、實(shí)物等軟硬件要求)分析課程設(shè)計(jì)題目的要求;寫(xiě)出詳細(xì)設(shè)計(jì)說(shuō)明;編寫(xiě)程序代碼,調(diào)試程序使其能正確運(yùn)行;設(shè)計(jì)完成的軟件要便于操作和使用,有整齊、美觀的使用界面;設(shè)計(jì)完成后提交課程設(shè)計(jì)報(bào)告和源代碼文件的電子文檔。三、課程設(shè)計(jì)工作進(jìn)度計(jì)劃:第一天選擇課程設(shè)計(jì)題目,分析課題的要求,確定設(shè)計(jì)方案;第二天總體設(shè)計(jì),模塊劃分第三天繪制程序流程圖;第四天按功能模塊編寫(xiě)詳細(xì)設(shè)計(jì)說(shuō)明;第五天編寫(xiě)程序代碼第六天設(shè)計(jì)用戶(hù)界面;第七天運(yùn)行與調(diào)試程序
3、;第八天寫(xiě)課程設(shè)計(jì)報(bào)告;第九天完成軟件的設(shè)計(jì)準(zhǔn)備答辯第十天提交課程設(shè)計(jì)報(bào)告;面試或答辯。四、主要參考資料譚浩強(qiáng).C程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2005譚浩強(qiáng).C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第三版).北京:清華大學(xué)出版社,2005HerbertSchildt.C語(yǔ)言大全(第四版).北京:電子工業(yè)出版社,2004SamuelP.HarbisonIII,GuyL.Steele.C語(yǔ)言參考手冊(cè)(第5版).北京:機(jī)械工業(yè)出版社,2003程序設(shè)計(jì)語(yǔ)言課程設(shè)計(jì)指導(dǎo)書(shū).指導(dǎo)教師(簽名):教研室主任(簽名):2011年6月27日2011年6月27日上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)2.目的及要求2
4、.1課程設(shè)計(jì)目的本課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)重要的實(shí)踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完程序設(shè)計(jì)語(yǔ)言課程后進(jìn)行的一次全面的綜合練習(xí)。本課程設(shè)計(jì)的目的和任務(wù):鞏固和加深學(xué)生對(duì)C語(yǔ)言課程的基本知識(shí)的理解和掌握;掌握C語(yǔ)言編程和程序調(diào)試的基本技能;利用C語(yǔ)言進(jìn)行基本的軟件設(shè)計(jì);掌握書(shū)寫(xiě)程序設(shè)計(jì)說(shuō)明文檔的能力提高運(yùn)用C語(yǔ)言解決實(shí)際問(wèn)題的能力。2.2課程設(shè)計(jì)要求分析課程設(shè)計(jì)題目的要求;寫(xiě)出詳細(xì)設(shè)計(jì)說(shuō)明;編寫(xiě)程序代碼,調(diào)試程序使其能正確運(yùn)行;設(shè)計(jì)完成的軟件要便于操作和使用,有整齊、美觀的使用界面;設(shè)計(jì)完成后提交課程設(shè)計(jì)報(bào)告和源代碼文件的電子文檔。上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)
5、用紙第頁(yè)第頁(yè)3.課程設(shè)計(jì)內(nèi)容說(shuō)明3.1程序功能介紹本系統(tǒng)的主要功能是實(shí)現(xiàn)日程表的管理,有添加日程,刪除日程,查詢(xún)?nèi)粘?,顯示日程,設(shè)置日程,修改日程,日程排序,讀取日程,保存日程的功能。每個(gè)日程的信息包括:日程時(shí)間,日程名稱(chēng),日程詳情,日程提醒,日程標(biāo)記。3.2程序設(shè)計(jì)整體設(shè)計(jì)說(shuō)明本系統(tǒng)的主函數(shù)是整個(gè)程序的核心,子函數(shù)之間也是有聯(lián)系的,對(duì)日程的刪除,查詢(xún),顯示,設(shè)置,修改,排序,保存,必須是在添加了日程,或者讀取了日程的情況下進(jìn)行的。一些基本操作在子函數(shù)中多次重復(fù)使用,即可單獨(dú)設(shè)定函數(shù),多次調(diào)用即可。運(yùn)行程序開(kāi)始后進(jìn)入主菜單,用戶(hù)即可選擇選擇要進(jìn)行的操作,例如,1為添加日程,用戶(hù)需輸入相應(yīng)信息。
6、選擇2為刪除日程,按照日期或者名稱(chēng)選中相應(yīng)日程后,可以刪除日程或者日程設(shè)置。等等功能。當(dāng)選擇不存在時(shí)提示用戶(hù)選擇錯(cuò)誤并提示重新選擇。3.2.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)包含的數(shù)據(jù)結(jié)構(gòu)有:structDate_timeintyear;structDate_timeintyear;intmonthintday;inthour;intmin;/年;/月/日/時(shí)/定義日程結(jié)構(gòu)體/定義日程結(jié)構(gòu)體/日程時(shí)間/日程提醒時(shí)間/日程名稱(chēng)structCalenderstructDate_timedate;structDate_timeremind_date;charname50;1.2.3.4.5.6.7.8.9.10.
7、11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.charimportant;chardetail100;structCalender*next;/重要標(biāo)記/重要標(biāo)記/日程詳情3.2.2.1程序子程序及功能設(shè)計(jì)charMenu()/顯示菜單/顯示菜單/判斷日程是否為空函數(shù)/判斷是否閏年/檢查輸入時(shí)間是否正確/檢查輸入日期是否正確/顯示指針指向的日程事件信息/按名稱(chēng)選擇日程/按時(shí)間選擇日程/選擇日程/設(shè)置日程提醒日期/設(shè)置重要標(biāo)記/設(shè)置日程/添加日程/刪除指定日程/刪除日程/查詢(xún)提醒事件/查詢(xún)某天事件/查詢(xún)重要事件/查詢(xún)指定日程,按名稱(chēng)查詢(xún)/查詢(xún)?nèi)粘?/p>
8、/顯示全部日程/修改事日程/日程排序/讀取日程/寫(xiě)入文件/主函數(shù)3.2.2.2函數(shù)主要調(diào)用關(guān)系圖122232425152112132061298791617181914787122232425152112132061298791617181914787圖表3-1函數(shù)主要調(diào)用關(guān)系圖3.2.2.3各模塊流程圖添加日程上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)添加日程信息輸入日期時(shí)間NY輸入日程名稱(chēng),日程詳情Y是否進(jìn)入設(shè)置?N判斷輸入時(shí)間是否正確記錄輸入的信息顯示菜單進(jìn)入設(shè)置日程上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)刪除日程輸入
9、選擇12判斷選擇輸出選中的日/程信息輸出選擇列表刪除日程信息顯示菜單刪除選中日程刪除選中日程設(shè)置選中日程確認(rèn)?確認(rèn)?上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)查詢(xún)?nèi)粘躺虾?上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)顯示日程上海上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)設(shè)置日程上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)修改程序上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)日程排序讀取日程上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)保存日程保存日程寫(xiě)入文
10、件輸出“保存成功”顯示菜單4.運(yùn)彳丁結(jié)果系統(tǒng)運(yùn)行主頁(yè)面如圖4-1所示,顯示當(dāng)前系統(tǒng)時(shí)間:.,CA1UrcWll|Desktop,!10134JCil?ftakndercewr-filervyrir-觀在Silfib261.1-?-4l=?sJgEEsJgEE.EIEIEITJ:.FSismmrru二一二二二LEJ二一FW用兒3-3-3-5-i-y了1236tsfiil圖4-1-1各子功能運(yùn)行結(jié)果如下:添加日程.在主菜單下用戶(hù)輸入1并回車(chē),運(yùn)行結(jié)果如圖4-1-1所示。用戶(hù)需要輸入要添加的日程信息詳情,如日程時(shí)間,日程名稱(chēng),日程詳情。輸入完成之后,系統(tǒng)會(huì)提醒用戶(hù)是否現(xiàn)在進(jìn)入設(shè)置,運(yùn)行結(jié)果如圖4-1
11、-2所示。如果,用戶(hù)選擇進(jìn)行設(shè)置,系統(tǒng)會(huì)轉(zhuǎn)至設(shè)置功能;如果選擇放棄,則保存已經(jīng)用戶(hù)輸入的信息,完成操作.XYi.u-sinjCiwiciDpfci10soissssr-x(刖已“化嶽人日程日輒時(shí)闔iM-a時(shí)咖=T嶽人日程日輒時(shí)闔iM-a時(shí)咖=T時(shí)TTT:T日裡事件名稱(chēng)(5#個(gè)鐘K腦笛揚(yáng)述“盼卜宇符厲內(nèi))t-PitlA1二二在進(jìn)政系SEEEEEE_H.tsiu用it.晉Bf1L33*&”B昨辭的迎ihEQE.fl圖4-1-2刪除功能在主菜單下用戶(hù)輸入2并回車(chē),運(yùn)行結(jié)果如圖4-2-1所示。用戶(hù)需要再輸入,選擇要?jiǎng)h除日程時(shí)間的方式,如圖有輸入日程名稱(chēng)和輸入日程日期兩種方式,選中日程后,用戶(hù)可以選擇刪
12、除此日程事件或者刪除此日程設(shè)置,經(jīng)用戶(hù)確認(rèn)后即可刪除。圖4-2-1BJiVSStSrHrnyfiklCM.filt,Jl,31C43Dljyj!sfi:CahndTrjc.etfilenams|n|Fl圖4-4-1設(shè)置日程在主菜單下用戶(hù)輸入5并回車(chē),運(yùn)行結(jié)果如圖4-5-1所示。選擇事件的運(yùn)行程序與前面一樣,選中事件后,如圖4-5-2所示,用戶(hù)可以選擇設(shè)置提醒時(shí)間和重要標(biāo)記,可以重復(fù)設(shè)置,直到用戶(hù)選擇退出。圖4-5-1上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)IfiltUQlCiSDlSjiftiCalendrrjc.esr-filename|u|Fl圖4-5-2修改日程在主菜單下用戶(hù)輸入6并回車(chē),
13、用戶(hù)仍需選擇日程,選中日程后,如圖4-6-1所示,用戶(hù)可以選擇修改日程時(shí)間,修改日程名稱(chēng),修改日程詳情,修改日程提醒,修改重要標(biāo)記。用戶(hù)只要輸入新的信息即可修改。用戶(hù)可以多次重復(fù)修改,直到選擇完成即可退出。4-6-1日程排序在主菜單下用戶(hù)輸入7并回車(chē),運(yùn)行結(jié)果如圖4-7-1所示,顯示“排序完成”即完成排序。用戶(hù)可再次選擇“4顯示日程”查看此時(shí)日程是否已經(jīng)按照時(shí)間排序成功。上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)IfileM01!C45C,13j,iCalendrr.c&xefilename?LJ-JBgjHIfileM01!C45C,13j,iCalendrr.c&xefilename?LJ-J
14、BgjH琨琨H.日日日日?qǐng)D4-7-1讀取文件在主菜單下用戶(hù)輸入8并回車(chē),運(yùn)行結(jié)果如圖4-8-1所示。程序從文件中讀取已經(jīng)保存的日程信息,并在屏幕上顯示應(yīng)經(jīng)讀取的信息,以供用戶(hù)查看。圖4-8-1保存文件在主菜單下用戶(hù)輸入9并回車(chē),運(yùn)行結(jié)果如圖4-9-1所示,顯示“保存成功”即將添加,修改的日程信息保存到文件中。上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)I和沁繼段計(jì)VriFfilZlClC*!沁丄$凈審匚山ndffrfSMisTileriNE一mmm一二一二一-TTH二一mmm一二一二一-TTH二.E.=;r:.,.:.:l*存Jb*1*上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)
15、用紙第頁(yè)第頁(yè)4-9-127.結(jié)論及體會(huì)回顧起此次課程設(shè)計(jì),從理論設(shè)計(jì)到實(shí)踐編程,兩周的課程設(shè)計(jì),我學(xué)到很多東西,通過(guò)這次課程,不僅鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的內(nèi)容,或者僅僅通過(guò)上課沒(méi)有精通的知識(shí),例如鏈表的正確使用,文件的讀寫(xiě)操作,系統(tǒng)時(shí)間的提取等等。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),通過(guò)實(shí)際編程動(dòng)手操作,理解書(shū)本上的知識(shí),才是真正的知識(shí),才能提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在這次設(shè)計(jì)的過(guò)程遇到了各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,通過(guò)老師同學(xué)的幫助,
16、以及自己查找各種資料,更準(zhǔn)確的了解了很多知識(shí)技能。自身能力提升了很多。在此感謝老師兩周的指導(dǎo),與辛苦,感謝同學(xué)們的幫助與交流。參考文獻(xiàn)(另起一頁(yè))譚浩強(qiáng).C程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2005譚浩強(qiáng).C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第三版).北京:清華大學(xué)出版社,2005HerbertSchildt.C語(yǔ)言大全(第四版).北京:電子工業(yè)出版社,2004SamuelP.HarbisonIII,GuyL.Steele.C語(yǔ)言參考手冊(cè)(第5版).北京:機(jī)械工業(yè)出版社,2003張建勛.C語(yǔ)言程序設(shè)計(jì)教程.北京:清華大學(xué)出版社,2008.2崔武子.C程序設(shè)計(jì)教程(第2版).北京:清華大學(xué)出版社,
17、2007.6(第2版)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)附錄(另起一頁(yè))源代碼:include#include#include#include#defineLENsizeof(structCalender)/定義時(shí)間日期結(jié)構(gòu)體structDate_timeintyear;intmonth;intday;inthour;intmin;/定義日程結(jié)構(gòu)體structCalenderstructDate_timedate;structDate_timeremind_date;charname50;charimportant;chardetail100;structCalender*next;*he
18、ad=NULL,*p0=NULL;/head是頭指針,p0總是指向最后一個(gè)結(jié)點(diǎn)charset10;/顯示菜單charMenu()charchoice10;printf(n彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、歡迎使用printf(n彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、歡迎使用日程表系統(tǒng)*n);printf(1)添加日程n);printf(2)刪除日程n);printf(3)查詢(xún)?nèi)粘蘮);printf(4)顯示日程n);printf(5)設(shè)置日程n);printf(6)修改日程n);printf(7)日程排序n
19、);printf(8)讀取日程n);printf(9)保存日程n);printf(0)退出操作n);J/*XItrT(彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、-9999|time.year12|time.monthday_of_monthtime.month-1|time.day24|time.hour60|time.min9999|year12|monthday_of_monthmonth-1|dayi
20、mportant!=y)p-important=n;printf(!Itprintf(!*n);上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)printf(!*日程名稱(chēng):%sn,p-name);printf(!*日程時(shí)間:-4d-%-2d-%-2d%2d:%2dn,上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)p-date.year,p-date.month,p-date.day,p-date.hour,p-date.min);printf(*日程詳情:%sn,p-detail);printf(*l日程設(shè)置*:n);printf(*提醒時(shí)間:%-4d-%-2d-%-2d%
21、-2d:%-2dn,p-remind_date.year,p-remind_date.month,p-remind_date.day,p-remind_date.hour,p-remind_date.min);printf(*重要標(biāo)記:%cn,p-important);上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)if(newtime-tm_year+1900p-date.year|newtime-tm_year+1900=p-date.year&newtime-tm_mon+1p-date.month上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海上海*學(xué)院課程設(shè)計(jì)專(zhuān)
22、用紙第頁(yè)第頁(yè)|newtime-tm_year+1900&newtime-tm_mon+1&newtime-tm_mday&newtime-tm_hour|newtime-tm_year+1900&newtime-tm_mon+1&newtime-tm_mday&newtime-tm_hour=p-date.year=p-date.month=p-date.dayp-date.hour|newtime-tm_year+1900=p-date.year|newtime-tm_year+1900=p-date.year&newtime-tm_mon+1=p-date.month&newtime-tm
23、_mdayp-date.day上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)=p-date.month=p-date.day=p-date.month=p-date.day=p-date.hour=p-date.min&newtime-tm_mday&newtime-tm_hour&newtime-tm_min)printf(*日程已發(fā)生*n);elseprintf(*日程未發(fā)生*n);printf(n);/按名稱(chēng)選擇日程structCalender*select_name_program()
24、structCalender*p;charselect_event50;inti=0;printf(n請(qǐng)輸入日程名稱(chēng):);scanf(%s,select_event);p=head;printf(n請(qǐng)確認(rèn)日程信息:n);while(p!=NULL&strcmp(p-name,select_event)!=0)p=p-next;/如果沒(méi)有找到指定日程if(p=NULL)printf(n*沒(méi)有找到日程*n);getchar();returnNULL;print_program(p);returnp;/按時(shí)間選擇日程structCalender*select_date_program()struct
25、Calender*p,*p_sel;structDate_timetime;inti=0;charselect_event50;p=head;p_sel=NULL;doprintf(n請(qǐng)輸入日程日期(年-月-日):);scanf(%d-%d-%d,&time.year,&time.month,&time.day);while(date_exam(time.year,time.month,time.day)=0);printf(n請(qǐng)確認(rèn)日程信息:n);while(p!=NULL)if(p!=NULL&(p-date.year=time.year&p-date.month=time.month&p
26、-date.day=time.day)p_sel=p;print_program(p);i+;p=p-next;/如果沒(méi)有找到指定日程if(i=0)printf(n*沒(méi)有找到日程*n);getchar();/如果找到一件符合時(shí)間條件的日程elseif(i=1)returnp_sel;/如果找到幾件符合時(shí)間條件的日程,再按名稱(chēng)查找elseprintf(n請(qǐng)從中選擇要操作的日程:n);p_sel=select_name_program();returnp_sel;/選擇日程structCalender*select_program()structDate_timetime;structCalend
27、er*p,*p1;charselect_event50;intsel=0;do上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)printf(n*選擇方式*n);printf(l.輸入日程名稱(chēng)n);printf(2.輸入日程日期n);printf(n*請(qǐng)選擇:);scanf(%d,&sel);getchar();if(sel=l)p=select_name_program();elseif(sel=2)p=select_date_program();elseprintf(n選擇錯(cuò)誤!n);while(sel!=l&sel!=2);return(p);/返回指向選中的日程
28、的指針/設(shè)置日程提醒日期voidset_remind_program(structCalender*p)doprintf(“請(qǐng)輸入日程提醒時(shí)間(年-月-日時(shí):分):n);scanf(%d-%d-%d%d:%d,&p-remind_date.year,&p-remind_date.month,&p-remind_date.day,&p-remind_date.hour,&p-remind_date.min);getchar();while(time_exam(p-remind_date)=0);/設(shè)置重要標(biāo)記voidset_important_program(structCalender*p)p
29、-important=y;/設(shè)置日程voidset_program(structCalender*p)intsel=0;inti=0;charfilename100;doi+;printf(n請(qǐng)選擇:n);printf(l.設(shè)置提醒時(shí)間n);printf(2.設(shè)置重要標(biāo)記n);printf(0.退出操作n);scanf(%d,&sel);getchar();/第一次設(shè)置,把未設(shè)置的項(xiàng)目初始化if(i=l&strcmp(set,new)=0)if(sel=0)p-remind_date.year=0000;p-remind_date.month=00;p-remind_date.day=00;p
30、-remind_date.hour=00;p-remind_date.min=00;p-important=n;elseif(sel=l)p-important=n;elseif(sel=2)p-remind_date.year=0000;p-remind_date.month=00;p-remind_date.day=00;p-remind_date.hour=00;p-remind_date.min=00;switch(sel)case0:break;case1:set_remind_program(p);break;case2:set_important_program(p);break
31、;default:printf(n選擇錯(cuò)誤!n);while(sel!=0);/可多次設(shè)置直到選擇0退出/添加日程voidadd_programe()structCalender*p;structDate_timetime;上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)chare_name50;chare_detail100;intsel=0;strcpy(set,new);doprintf(”請(qǐng)輸入日程日期,時(shí)間(年-月-日時(shí):分):n);scanf(%d-%d-%d%d:%d,&time.year,&time.month,&time.day,&time.hour
32、,&time.min);while(time_exam(time)=0);/輸入日程時(shí)間printf(日程事件名稱(chēng)(50個(gè)字符以?xún)?nèi)):n);scanf(%s,e_name);/輸入日程名稱(chēng)printf(“詳細(xì)描述(100個(gè)字符以?xún)?nèi)):n);scanf(%s,e_detail);/輸入日程詳情p=(structCalender*)malloc(LEN);strcpy(p-name,e_name);strcpy(p-detail,e_detail);p-date.year=time.year;p-date.month=time.month;p-date.day=time.day;p-date.ho
33、ur=time.hour;p-date.min=time.min;printf(n現(xiàn)在是否進(jìn)入設(shè)置?n);添加日程的同時(shí)是否添加日程設(shè)置printf(l.進(jìn)入設(shè)置n);printf(2.放棄設(shè)置n);getchar();scanf(%d,&sel);if(sel=l)set_program(p);elsep-remind_date.year=0;p-remind_date.month=0;p-remind_date.day=0;p-remind_date.hour=0;p-remind_date.min=0;p-important=n;/尋找插入位置,新添加的日程插到后面if(head=NUL
34、L)head=p0=p;p0-next=NULL;elsep0-next=p;p0=p;p0-next=NULL;/p0始終指向最后一個(gè)數(shù)據(jù)/刪除指定日程voiddelet_event(structCalender*p)structCalender*p_sel;structCalender*p_last;intsel=0;intsure=0;p_sel=p_last=head;while(p_sel!=NULL&(strcmp(p_sel-name,p-name)!=0|p_sel-date.year!=p-date.year|p_sel-date.month!=p-date.month|p_
35、sel-date.day!=p-date.day|p_sel-date.hour!=p-date.hour|p_sel-date.min!=p-date.min)p_last=p_sel;p_sel=p_sel-next;p_sel指向指定日程,p_last指向此日程的上一個(gè)doprintf(n請(qǐng)選擇要執(zhí)行的操作:n);printf(l.刪除此日程事件n);printf(2.刪除此日程設(shè)置n);printf(0.退出操作n);scanf(%d,&sel);getchar();switch(sel)case0:break;casel:/刪除此日程事件printf(確認(rèn)刪除?:n);printf(
36、1.刪除n);printf(2.放棄n);scanf(%d,&sure);getchar();if(sure=1)if(p_sel=head&p_sel!=NULL)head=p_sel-next;elseif(p_sel!=NULL)p_last-next=p_sel-next;break;case2:/刪除此日程設(shè)置printf(確認(rèn)刪除?:n);printf(l.是n2.否n);scanf(%d,&sure);getchar();if(sure=l)p_sel-remind_date.year=0000;p_sel-remind_date.month=00;上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙
37、第頁(yè)第頁(yè)上海上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)p_sel-remind_date.day=00;上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)p_sel-remind_date.hour=00;p_sel-remind_date.min=00;p_sel-important=n;break;default:printf(n選擇錯(cuò)誤!請(qǐng)重新選擇!n);while(sel!=1&sel!=2&sel!=0);/刪除日程voiddelet_program()structCalender*p;p=sel
38、ect_program();if(p=NULL)return;getchar();delet_event(p);/查詢(xún)提醒事件voidsearch_remind_program(intyear,intmonth,intday)structCalender*p,*p_event;p=head;p_event=NULL;printf(n*查詢(xún)的日程信息如下*nn);while(p!=NULL)if(p-remind_date.year=year&p-remind_date.month=month&p-remind_date.day=day)p_event=p;print_program(p);p=
39、p-next;/如果一直沒(méi)有找到指定日程if(p_event=NULL)printf(n*無(wú)查詢(xún)?nèi)粘?n);voidsearch_important_program()查詢(xún)重要事件structCalender*p,*p_event;p=head;p_event=NULL;printf(n*查詢(xún)的日程信息如下*nn);while(p!=NULL)if(p-important=y)p_event=p;print_program(p);p=p-next;/如果一直沒(méi)有找到指定日程if(p_event=NULL)printf(n*無(wú)查詢(xún)?nèi)粘?n);/查詢(xún)某天事件voidsearch_day_progr
40、am(intyear,intmonth,intday)structCalender*p,*p_event;p=head;p_event=NULL;printf(n*查詢(xún)的日程信息如下*nn);while(p!=NULL)if(p-date.year=year&p-date.month=month&p-date.day=day)p_event=p;print_program(p);p=p-next;/如果一直沒(méi)有找到指定日程if(p_event=NULL)printf(n*無(wú)查詢(xún)?nèi)粘?n);/查詢(xún)指定日程,按名稱(chēng)查詢(xún)voidsearch_name_program(charname50)struc
41、tCalender*p,*p_event;p=head;p_event=NULL;printf(n*查詢(xún)的日程信息如下*nn);while(p!=NULL)if(strcmp(p-name,name)=0)p_event=p;print_program(p);p=p-next;/如果一直沒(méi)有找到指定日程if(p_event=NULL)printf(n*無(wú)查詢(xún)?nèi)粘?n);/查詢(xún)?nèi)粘蘶oidsearch_program()structDate_timetime;chare_name50;intsel=0;doprintf(n請(qǐng)選擇:n);printf(l.查詢(xún)提醒日程n);printf(2.查詢(xún)重
42、要日程n);printf(3.查詢(xún)當(dāng)日日程n);printf(4.查詢(xún)指定日程n);printf(0.退出操作:n);scanf(%d,&sel);getchar();switch(sel)case0:break;上海*上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)上海上海*學(xué)院課程設(shè)計(jì)專(zhuān)用紙第頁(yè)第頁(yè)case1:doprintf(“請(qǐng)輸入日程提醒日期(年-月-日):n);scanf(%d-%d-%d,&time.year,&time.month,&time.day);getchar();while(date_exam(time.year,time.month,time.day)=0);search_remi
43、nd_program(time.year,time.month,time.day);break;case2:search_important_program();break;case3:doprintf(請(qǐng)輸入日程日期(年-月-日):n);scanf(%d-%d-%d,&time.year,&time.month,&time.day);getchar();while(date_exam(time.year,time.month,time.day)=0);search_day_program(time.year,time.month,time.day);break;case4:printf(請(qǐng)輸
44、入事件名稱(chēng):);scanf(%s,e_name);getchar();search_name_program(e_name);break;default:printf(n選擇錯(cuò)誤!nn);while(sel!=0);/顯示全部日程voidshow_program()structCalender*p;p=head;if(Empty_Calender()=1)日程信息如下return;日程信息如下printf(n*全部It*n);while(p!=NULL)print_program(p);p=p-next;printf(nprintf(n彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳
45、、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、n);n);printf(n按回車(chē)鍵返回n);getchar();/修改日程事件voidalter_program()structCalender*p;structDate_timetime;structDate_timeremind_time;chare_name50;chare_detail100;intsel=0;p=select_program();/選中日程事件if(p=NULL)printf(n*無(wú)查找信息*n
46、);getchar();return;doprintf(n*請(qǐng)選擇要修改的項(xiàng)目*n);printf(l.修改日程時(shí)間n);printf(2.修改日程名稱(chēng)n);printf(3.修改日程詳情n);printf(4.修改日程提醒n);printf(5.修改重要標(biāo)記n);printf(0.完成n);scanf(%d,&sel);getchar();switch(sel)case0:break;case1:/輸入日程時(shí)間doprintf(請(qǐng)輸入日程日期,時(shí)間(年-月-日時(shí)-分):n);scanf(%d-%d-%d%d-%d,&time.year,&time.month,&time.day,&time.
47、hour,&time.min);while(time_exam(time)=0);p-date.year=time.year;p-date.month=time.month;p-date.day=time.day;p-date.hour=time.hour;p-date.min=time.min;break;case2:/輸入日程名稱(chēng)printf(日程事件名稱(chēng)(50個(gè)字符以?xún)?nèi)):n);scanf(%s,e_name);strcpy(p-name,e_name);break;case3:/輸入日程詳情printf(“詳細(xì)描述(100個(gè)字符以?xún)?nèi):)n);scanf(%s,e_detail);str
48、cpy(p-detail,e_detail);break;case4:/輸入提醒時(shí)間doprintf(“提醒日程日期,時(shí)間(年-月-日時(shí)-分):n);scanf(%d-%d-%d%d-%d,&remind_time.year,&remind_time.month,&remind_time.day,&remind_time.hour,&remind_time.min);while(time_exam(remind_time)=0);p-remind_date.year=remind_time.year;p-remind_date.month=remind_time.month;p-remind_
49、date.day=remind_time.day;p-remind_date.hour=remind_time.hour;p-remind_date.min=remind_time.min;break;case5:/修改重要標(biāo)記if(p-important=y)p-important=n;elsep-important=y;break;default:printf(n菜單選擇錯(cuò)誤!請(qǐng)重新選擇!n);while(sel!=0);/日程按時(shí)間先后排序voidsort_program()structCalender*p,*p1,*p2,*p3;p=head;head=p3=NULL;while(p!
50、=NULL)p3=p;p=p-next;p2=p1=head;while(p1!=NULL&(p1-date.yeardate.year|p1-date.year=p3-date.year&p1-date.monthdate.month|p1-date.year=p3-date.year&p1-date.month=p3-date.month&p1-date.daydate.day|p1-date.year=p3-date.year&p1-date.month=p3-date.month&p1-date.day=p3-date.day&p1-date.hourdate.hour|p1-date.year=p3-date.year&p1-date.month=p3-date.month&p1-date.day=p3-date.day&p1-date.hour=p3-date.hour&p1-date.mindate.min)p2=p1;p1=p1-next;p3-next=p1;if(p2=NULL|(p2-date.yearp3-d
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度個(gè)人店面租賃合同租賃費(fèi)用調(diào)整辦法
- 二零二五年度高層建筑消防改造勞務(wù)分包合同范本2篇
- 二零二五年度內(nèi)部承包合作協(xié)議范本12篇
- 《特種設(shè)備安全法》解析-浙江
- 酒店管理工作中的客戶(hù)服務(wù)
- 科技應(yīng)用在小班教育中的探索計(jì)劃
- 二零二五年度個(gè)人租賃山地別墅及園林使用權(quán)合同4篇
- 二零二五年度寵物領(lǐng)養(yǎng)合同范本3篇
- 二零二五年度企業(yè)收入證明修訂協(xié)議3篇
- 二零二五年度離婚方式適用條件及技巧解析合同3篇
- 廣西南寧市2024-2025學(xué)年八年級(jí)上學(xué)期期末義務(wù)教育質(zhì)量檢測(cè)綜合道德與法治試卷(含答案)
- 2025年供應(yīng)鏈管理培訓(xùn)課件
- 2025中智集團(tuán)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《攜程旅行營(yíng)銷(xiāo)環(huán)境及營(yíng)銷(xiāo)策略研究》10000字(論文)
- 餐飲行業(yè)優(yōu)化食品供應(yīng)鏈管理計(jì)劃
- 復(fù)工復(fù)產(chǎn)六個(gè)一方案模板
- 2024夏季廣東廣州期貨交易所招聘高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 浙江省2024年高考化學(xué)模擬試題(含答案)2
- 2024新人教七年級(jí)英語(yǔ)上冊(cè) Unit 2 Were Family!(大單元教學(xué)設(shè)計(jì))
- 中國(guó)醫(yī)美行業(yè)2024年度洞悉報(bào)告-德勤x艾爾建-202406
- 藥用植物種植制度和土壤耕作技術(shù)
評(píng)論
0/150
提交評(píng)論