版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、程序設計宇文皓月課程設計說明書課程名稱程序設計設計題目C語言課程設計學生考勤系統(tǒng)專業(yè)班級學生姓名指導教師起止日期2013年6月8日至2013年6月14日福建林業(yè)職業(yè)技術學院白動化工系目錄第1章設計目的第2章總體設計第3章詳細設計第4章調(diào)試與測試第5章總結與體會附:源程序清單和執(zhí)行結果第1章設計目的本次c語言課程設計是對本學期程序設計基礎課程的實際應用,也算是對所學知識的一次檢驗,通過本次課程設計能達到的目的如下:1. 鞏固和加深對C課程基本內(nèi)容和理論知識的理解和掌握。2. 掌握C語言編譯和程序調(diào)試的基本技能。3. 利用C語言進行基本的程序設計從而逐步了解文件的一些相關操縱和掌握函數(shù)的使用技巧,
2、包含函數(shù)類型的選擇,含參數(shù)的傳遞方式。4. 掌握使用數(shù)組,指針,引用,文件等編譯的方法,提高運用C語言解決實際問題的能力。5. 通過對學生考勤系統(tǒng)的設計、編寫源代碼,以及對C語言中各個語法和函數(shù)的使用,使得對比較復雜的結構體、鏈接、文件的操縱更加熟悉。通過課程設計,將本學期所學知識與實際應用聯(lián)系和結合起來,培養(yǎng)白己的動手能力,以及加強各學科之間的聯(lián)系,從而提高個人的團隊意識,增強團隊之間協(xié)調(diào)和配合第2章總體設計2.1學生考勤信息記錄系統(tǒng)的要求通過該系統(tǒng)實現(xiàn)對學生考勤信息進行創(chuàng)建、錄入、修改、查詢、保管等操縱的管理。實驗考勤信息包含學生姓名,學號,學科種類,各科的考勤信息。主要功能:1)、能夠完
3、成對考勤的錄入和修改2)、創(chuàng)建一個班級的信息3)、設備的查詢4)、將考勤信息保管到文件中根據(jù)設計要求,畫出如下流程圖:5.查詢2錄入函數(shù)*/查詢函數(shù)_1*/6.退出2.2流程圖voidenter(void);/*voidsearch_1(void);/*voidsearch_2(void);/*查詢函數(shù)_2*/voidadd(void);voidmodify(void);/*修改函數(shù)*/voidback(void);/*退出函數(shù)*/voidmune_1();/*界面-1*/voidmune_2();/*界面-2*/mune_1();mune_2();第3章詳細設計3.1函數(shù)以及調(diào)用關系void
4、mune_1();/*菜單函數(shù)1*/菜單函數(shù)2*/voidenter(void);voidsearchi開始6Menu_2BreakBrerkbreakBreak'錄入函數(shù)*/Brebreak/*開始->num=a3r-C-(void);/*B-息2目、I、3O/輸入A人所/H級和力號真假p->nm=a-IV.voidsearch_2(void);/*輸入要詢娜J班別查詢班級信息*/返回菜單2voidmodify(void);/*輸她郵郵勒信啟彳湫*/真假和座位號a輸入你些I也芝尊p->num=ajvoidsave(structStudent*目/111、char重叫
5、輸入假鬲料葉坊勤T);structStudent*load(charfilename)3.2結構的應用If-else結構和while結構嵌套結構:voidmune_2()/*while(p1->num!=0)(n=n+1;if(n=1)head=p1;elsep2->next=p1;p2=p1;p1=(structStudent*)malloc(LEN);scanf("%s%d%s”,p1->name,&p1->num,p1->sex);p1->math=p1->English=p1->physics=p1->Mks=p1
6、->C=p1->teal=p1->PE=0;p2->next=NULL;p=head;while(p!=NULL)(fwrite(p,LEN,1,fp);p=p->next;fclose(fp);printf("ttt創(chuàng)建成功,按任意鍵返回主菜單n");getch();system("cls");mune_2();2switch結構switch(sub)(case1:p->math+=num;break;case2:p->English+=num;break;case3:p->physics+=num;br
7、eak;case4:p->Mks+=num;break;case5:p->C+=num;break;case6:p->teal+=num;break;case7:p->PE+=num;break;3while結構while(p!=NULL)(if(p->num=a)(printf("ntt請重新輸入高等數(shù)學缺勤節(jié)數(shù):,scanf("%d”,&p->math);printf("ntt請重新輸入大學英語缺勤節(jié)數(shù):");scanf("%d”,&p->English);printf("
8、ntt請輸入大學物理缺勤節(jié)數(shù):");scanf("%d”,&p->physics);printf("ntt請重新輸入馬克思主義基來源根基理與概論缺勤節(jié)數(shù):");scanf("%d”,&p->Mks);printf("ntt請重新輸入C語言缺勤節(jié)數(shù):");scanf("%d",&p->C);printf("ntt請重新輸入英語口語缺勤節(jié)數(shù):");scanf("%d",&p->teal);printf("
9、ntt請重新輸入體育缺勤節(jié)數(shù)目:");scanf("%d",&p->PE);flag=1;save(head,cla);printf("ntt修改成功!ntt");break;p=p->next;第4章調(diào)試與測試4.1調(diào)試執(zhí)行程序時,顯示如下信息選擇分歧的選項,執(zhí)行相應的功能。(選擇3),創(chuàng)建一個班級的基本信息。(詵擇1).錄入本次課者勤情況。專祚脊若祎帶典梆琳宥*裨伸*磚神祥訐*村村宥*伸釁禱訐祎*請輸入本秋課缺席同學的匿號I5、.*>L1UII-_<.I1、錄入本次課考勤情況L查詢學生考勤信息(選擇4),修改
10、學生個人考勤信息。(選擇5),檢查一個班級的考勤信息。(選擇6),退出學生考勤信息系統(tǒng)。第5章總結與體會三周的課程設計已經(jīng)結束了?;叵雽W習C語言的過程中,既有快樂又有煩惱。從領到書的那一刻,我就很郁悶,C語言程序設計到底事學什么的,有什么用。剛開始上課時,還在迷茫這門課程是用來做什么的。不過,這些感受都是在對這門課程不了解的情況下發(fā)生的。后來慢慢的接觸多了,聽老師講的多了,了解多了,漸漸的發(fā)生了興趣。尤其是學到語句和函數(shù)時,上機操縱程序,經(jīng)過編譯,調(diào)試和運行后,出現(xiàn)界面,當時覺得很好奇,想真正的學好這門課程。通過半個學期的學習,我掌握了基本知識。下學期開始時,被通知要進行課程設計。當時有點懵,
11、感覺學的東西很少,彳艮零散,不知該怎么連到一起,就要課程設計,是不是太難為我們了。第一天基本上都是在看書,把基本知識再熟悉一遍。到了下午的時候,看了很多練習題,從這些練習題上我得到了很多啟發(fā),然后我們組把整個程序的思路理清了,開始著手寫程序。第一周結束的時候,我感覺白己收獲挺大的,從一開始的迷茫,不知道從何下手到把程序中的幾個模塊編寫出來,心里挺開心的。但是,接下來,我們又不克不及不再次陷入困境。在整個程序的編寫過程中,最難的就是修改和刪除這兩個模塊,這也是我們要解決的重點問題。開始編寫修改和刪除時,很頭疼,去向其他人尋求幫忙,在他人的幫忙和提示下,我編完了修改程序,但編譯時老出錯,修改后的內(nèi)
12、容將文本內(nèi)的信息全部覆蓋了。困難之時,我們組的其他人,幫忙了我,完成了修改和刪除,這讓我認識到團隊的力量。這樣的話,整個程序基本上全部完成了,就剩下完善工作了。我們組寫了兩個程序,最后,兩個程序相互組合,互補,大功告成雖然設計時完成了,但是我覺得其中還是有一些缺乏之處:1. 警告句。程序中缺少一些警告句,例如:“是否真的刪除(y/n)?”。2. 重名的情況。由于考慮的不周全,沒有設計遇到重名的情況該怎么處理。3. 選擇單一。我們設計的程序中,只設計了按名字選擇,進行操縱,忽略了重名的情況。整個程序完成了,還有很多不完善的地方,希望白己以后處事的時候要認真,仔細,考慮周全。短短的幾周課程設計結束
13、了,但是這段時間里,我又學到了更多C知識,如:對象數(shù)組,string類,文件流,鏈表以及文件對鏈表的操縱等,同時我也被提醒以后處事的時候要認真,仔細,考慮周全,也看到了團隊精神和互幫互助的重要性。這一點會讓我終生受益。通過這次課程設計,我覺得白己肚子里的墨水多了,收獲也挺大的,這幾周過的挺充實!*附:源程序清單和執(zhí)行結果#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>#defineLENsizeof(structStudent)structStudenti
14、ntnum;charname15;charsex4;intmath,English,physics,Mks,C,teal,PE;structStudent*next;intn;voidmain()voidcreat(void);voidsave(structStudent*,char);structStudent*load(char);voidenter(void);/*錄入函數(shù)*/voidsearch_1(void);/*查詢函數(shù)_1*/voidsearch_2(void);/*查詢函數(shù)_2*/voidmodify(void);/*修改函數(shù)*/voidback(void);/*退出函數(shù)*/v
15、oidmune_1();/*界面-1*/voidmune_2();/*界面-2*/mune_1();mune_2();printf("n");voidmune_1()printf("nnnnnn");printf("t*");printf("ttt*");printf("tttprintf("ttt*歡迎使用班級考勤系統(tǒng)*ii);printf("nt*nnn");printf(");printf("nnntttt<getch();system(&qu
16、ot;cls");voidmune_2()intoption,ch;printf("nnn");按任意鍵進入nttttt");/*/*定義一個選項的數(shù)據(jù)類型*/制作的一個漂亮的選擇界面*/printf("t*n");printf("t*ttttttt*n");printf("t*ttttttt*n");、錄入本次課考勤情況tprintf("t*1*n");printf("t*tttttttprintf("t*n");printf("t*
17、tttttttprintf("t*5*n");printf("t*ttttttt*n");3、創(chuàng)建學生信息tt*n");、檢查班級考勤情況t、查詢學生考勤信息t4、修改學生信息t6、退出考勤系統(tǒng)t*n");printf("t*ttttttt*n");printf("t*n");printf("n");printf("tttwhile(1)請輸入您所需的操縱(16):ntttt");scanf("%d”,&option);switch(op
18、tion)case1:ch=getchar();system("cls");enter();break;case2:ch=getchar();system("cls");search_1();break;case3:ch=getchar();system("cls");creat();break;case4:ch=getchar();system("cls");modify();break;case5:ch=getchar();system("cls");search_2();break;cas
19、e6:ch=getchar();system("cls");back();break;default:printf("ttt輸入錯誤,請重新輸入!");printf("ntttt");ch=getchar();voidsave(structStudent*head,charfilename)(FILE*fp;structStudent*p=head;if(fp=fopen(filename,"wb")=NULL)(printf("cannotopenfilen");exit(0);while(p
20、!=NULL)(fwrite(p,LEN,1,fp);p=p->next;fclose(fp);structStudent*load(charfilename)(FILE*fp;structStudent*head,*p1,*p2;head=NULL;p1=NULL;if(fp=fopen(filename,"rb")=NULL)(printf("cannotopenfilen");exit(0);while(!feof(fp)(p2=(structStudent*)malloc(LEN);if(fread(p2,LEN,1,fp)=1)(if(h
21、ead=NULL)head=p2;if(p1)p1->next=p2;p1=p2;p1->next=NULL;return(head);錄入函數(shù)*/voidenter()/*(structStudent*head,*p;charselect='y',cla10;intsub,stu,num,flag=0;printf("請輸入上課班級:");scanf("%s",cla);strcat(cla,".dat");p=head=load(cla);system("cls");while(se
22、lect='y'|select='Y')(printf("nnn");printf("t*n");printf("t*ttttttt*n");printf("t*tttttttprintf("t*1*n");、高等數(shù)學tt2tt*n");printf("t*ttttttt*n");printf("t*3、大學物理tt4、馬克思基來源根基理概論*n");、C程序設計基礎t6、教師口語ttprintf("t*ttttt
23、tt*n");printf("t*5*n");printf("t*tttttttprintf("t*7printf("t*tttttttprintf("t*ttttttt*n");*n");*n");tttttt*n");printf("t*n");printf("n");printf("ttt請輸入科目選項(17):ntttt");scanf("%d”,&sub);while(1)(if(sub>0&
24、amp;&sub<8)break;elseprintf("ttt輸入錯誤,請重新輸入ntttt");scanf("%d”,&sub);system("cls");printf("請輸入本次課缺席同學的座號:");scanf("%d",&stu);printf("n");printf("請輸入該同學的缺課節(jié)數(shù):");scanf("%d",&num);while(p!=NULL)if(p->num=stu)
25、switch(sub)case1:p->math+=num;break;case2:p->English+=num;break;case3:p->physics+=num;break;case4:p->Mks+=num;break;case5:p->C+=num;break;case6:p->teal+=num;break;case7:p->PE+=num;break;p=p->next;printf("nntt*輸入成功*!n");printf("是否繼續(xù)輸入(yn):");scanf("%c&
26、quot;,&select);save(head,cla);getch();system("cls");mune_2();voidsearch_1(void)/*查詢個人信B*/structStudent*head,*p;charselect='y',cla10;intnum,flag=0;printf("請輸入上課班級:");scanf("%s",cla);strcat(cla,”.dat");p=head=load(cla);printf("請輸入要查詢同學的座號:");sca
27、nf("%d”,&num);system("cls");while(p!=NULL)(if(p->num=num)(printf("nn");printf("*n");座號姓名性別數(shù)學英語物理馬克思C語言教師口語體育n");%3d%8s%4s%5d%5d%5d%5d%3d%7d%8dn",p-printf("printf(">num,p->name,p->sex,p->math,p->English,p->physics,p->M
28、ks,p->C,p->teal,p->PE);printf("*n");flag=1;p=p->next;if(flag=0)printf("tt!沒有這個學生信息,請核對后再輸入!!nn");getch();system("cls");mune_2();voidsearch_2(void)/*詢某班級信息*/(charcla10;structStudent*head,*p;printf("請輸入您要查詢的班級名:");gets(cla);system("cls");printf("nttt%s班的考勤情況nn",cla);strcat(cla,”.dat");p=head=load(cla);printf(*n");printf("座號姓名性別數(shù)學英語物理馬克思C語言教師口語體育n");u*while(p!=NULL)(printf("%3d%8s%4s%5d%5d%5d%5d%3d%7d%8dn",p->num,p->name,p->sex,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑用鋼材料采購合同范本
- 二零二五年度房地產(chǎn)項目普法合同執(zhí)行與消費者權益保護合同3篇
- 2025版編劇聘用合同范本(原創(chuàng)劇本創(chuàng)作)3篇
- 2025年酒類團購服務及產(chǎn)品經(jīng)銷一體化合同
- 二零二五年度毛巾品牌授權及銷售合同
- 二零二五年度智慧社區(qū)土地租賃合同模板
- 2025年度個人交通事故損害賠償法律援助合同
- 課題申報參考:明清尺牘選本書畫文獻研究
- 2025年度個人信用保證保險合同范本大全2篇
- 課題申報參考:寧海古戲臺建造技藝與匠作譜系研究
- 內(nèi)科學(醫(yī)學高級):風濕性疾病試題及答案(強化練習)
- 音樂劇好看智慧樹知到期末考試答案2024年
- 辦公設備(電腦、一體機、投影機等)采購 投標方案(技術方案)
- 查干淖爾一號井環(huán)評
- 案卷評查培訓課件模板
- 體檢中心分析報告
- 2024年江蘇省樣卷五年級數(shù)學上冊期末試卷及答案
- 波浪理論要點圖解完美版
- 金融交易數(shù)據(jù)分析與風險評估項目環(huán)境敏感性分析
- 牛頓環(huán)與劈尖實驗論文
- 移動商務內(nèi)容運營(吳洪貴)任務四 其他平臺載體的運營方式
評論
0/150
提交評論