![c課程設(shè)計學(xué)生考勤管理系統(tǒng)報告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/17/4487e585-8fbd-4a43-8b83-d92d2ad4194c/4487e585-8fbd-4a43-8b83-d92d2ad4194c1.gif)
![c課程設(shè)計學(xué)生考勤管理系統(tǒng)報告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/17/4487e585-8fbd-4a43-8b83-d92d2ad4194c/4487e585-8fbd-4a43-8b83-d92d2ad4194c2.gif)
![c課程設(shè)計學(xué)生考勤管理系統(tǒng)報告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/17/4487e585-8fbd-4a43-8b83-d92d2ad4194c/4487e585-8fbd-4a43-8b83-d92d2ad4194c3.gif)
![c課程設(shè)計學(xué)生考勤管理系統(tǒng)報告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/17/4487e585-8fbd-4a43-8b83-d92d2ad4194c/4487e585-8fbd-4a43-8b83-d92d2ad4194c4.gif)
![c課程設(shè)計學(xué)生考勤管理系統(tǒng)報告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/17/4487e585-8fbd-4a43-8b83-d92d2ad4194c/4487e585-8fbd-4a43-8b83-d92d2ad4194c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、信息科學(xué)與技術(shù)學(xué)院程序設(shè)計基礎(chǔ)課程設(shè)計報告題目名稱:學(xué)生考勤管理系統(tǒng)學(xué)生姓名:郭晨晨學(xué)號:二專業(yè)班級:13 級計科(3)班指導(dǎo)教師:郭理2013年6月6日目錄1.課程設(shè)計題目與要求課題目的和要求設(shè)計目的:要求實現(xiàn)- “學(xué)生考勤管理程序”記錄學(xué)生的缺課情況,它包括:缺課日期、第幾節(jié)課、課程名稱、學(xué)生姓名、缺課類型 (遲到、 早退、 請假及曠課)設(shè)計要求:1. 錄入學(xué)生的缺課記錄;2修改某個學(xué)生的缺課記錄;3查詢某個學(xué)生的缺課情況;4統(tǒng)計某段時間內(nèi),某門課曠課學(xué)生姓名及曠課次數(shù),按曠課次數(shù)由多到少排序;5統(tǒng)計某段時間內(nèi),有學(xué)生曠課的課程及曠課人次,按曠課人次由多到少排序;6. 系統(tǒng)以菜單方式工作。
2、課題意義程序?qū)嵺`是本科生重要教學(xué)環(huán)節(jié)之一。通過程序?qū)嵺`,強化學(xué)生的計算機應(yīng)用技能,使學(xué)生驗證、鞏固和充實所學(xué)的理論知識,的理解,拓寬知識面,培養(yǎng)學(xué)生的創(chuàng)新精神和實踐能力加深對相關(guān)內(nèi)容學(xué)生考勤管理程序可以大大減緩學(xué)生考勤人員的工作量, 方便了平時 上課學(xué)生的出勤率的管理。2總體設(shè)計功能模塊設(shè)計根據(jù)分析整個系統(tǒng)主要劃分為7 個功能模塊,分別執(zhí)行要求中的功能。數(shù)據(jù)管理中可以對學(xué)生的基本信息、課程的基本信息、學(xué)生缺課的查詢、添加、刪除和修改。查詢管理通過根據(jù)學(xué)生姓名,課程姓名時間段兒等信息,查詢單個學(xué)生的缺課記錄,單科課的曠課記錄,單個學(xué)生的曠課記錄。功能模塊圖如圖1 所示:圖 1 功能模塊圖系統(tǒng)設(shè)計
3、方案這個程序是過程性語言設(shè)計的。運用多種條件語句,主體采用的是鏈表指針。系統(tǒng)的設(shè)計采用了數(shù)組語句、選擇語句和循環(huán)語句, 在需要處理大量同類數(shù)據(jù)時, 這樣就使程序書寫更加簡潔。程序使用了布爾函數(shù)。選擇語句多采用 if 多分支選擇結(jié)構(gòu)與switch 語句。首先計算switch 表達式,然后在 caes 子句中尋找值相等的常量表達式,并以此為入口符號,由此開始順序執(zhí)行。循環(huán)語句采用了for 語句等、 do-while 語句, for 語句用于已知循環(huán)次數(shù)的循環(huán)結(jié)構(gòu),括號中的三個量分別用來表示循環(huán)變量初值、循環(huán)終值和循環(huán)增量。do-while 語句先循環(huán)后判斷,Break 語句在 switch 語句中
4、,保證多分支情況的正確執(zhí)行,在循環(huán)語句中,強制終止本層循環(huán)。保存和讀取函數(shù)是典型的函數(shù)功能,一個程序是由若干個函數(shù)組成的,保存和讀取函數(shù)是和其他函數(shù)互相調(diào)用的。3 詳細設(shè)計數(shù)據(jù)結(jié)構(gòu)設(shè)計struct xuekechar xueke_name50;int people_num;這是定義了一個xueke 結(jié)構(gòu)體, 用來存放一個學(xué)科名及其相應(yīng)的曠課人數(shù);struct student char name50;long time;int lesson_time;char lesson_name50;int chidao_num;int zaotui_num;int qingjia_num;int kuan
5、gke_num;struct student *next; 這是定義了一個student 的結(jié)構(gòu)體,用來存放一個學(xué)生的考勤記錄,其中有,字符數(shù)組name50, lesson_name50, 分別存放學(xué)生名字,缺 課 課 程 名 字 ; int 型 變 量 lesson_time,chidao_num,zaotui_num,qingjia_num,kuangke_num,分別來存放,缺課節(jié)次,遲到次數(shù),早退次數(shù),請假次數(shù),曠 課次數(shù)long型變量time ,記錄時間。主模塊設(shè)計要建立的學(xué)生人數(shù),學(xué)生基本信息(包括缺課時間、學(xué)生姓名、課程名稱、節(jié)次、遲到次數(shù)、早退次數(shù)、請假次數(shù)、曠課次數(shù))可用cr
6、eat()函數(shù)如圖1.圖1根據(jù)要修改的學(xué)生姓名以及科目名稱找到相應(yīng)的信息,再選擇要修改的開始char xiugai_name50;char xiugai_xueke_name50;int k;p1=p1->next;項目進行單項修改printf("請輸入要修改的學(xué) 生姓名與學(xué)科名稱:");scanf("%s%s",xiugai_name ,xiugai_xueke_name);結(jié)束根據(jù)人名可以查出該學(xué)生的所有缺課記錄如圖3圖3根據(jù)學(xué)科名稱和時間范圍查出所有在該范圍內(nèi)曠課的學(xué)生以及次數(shù)根據(jù)要查詢的學(xué)科名稱及時間段查出在改時間段內(nèi)該門課上曠課的人 數(shù)如
7、圖5可以載入實現(xiàn)儲存在當(dāng)前文件夾中txt文件中所儲存的數(shù)據(jù)如圖6進入系統(tǒng)界面,順序的完成各項操作,進行數(shù)據(jù)的輸入,信息的保存調(diào)用相應(yīng)的函數(shù)打開相應(yīng)的地址,查詢各項信息。如圖 7運行結(jié)果4.運行開始菜單圖 1 開始菜單主菜單圖 2 主菜單建立學(xué)生缺課記錄圖 2 建立學(xué)生缺課記錄儲存學(xué)生曠課記錄圖 3 儲存學(xué)生曠課記錄5.課程設(shè)計總結(jié)課程設(shè)計順利完成,題目所要求的功能基本實現(xiàn),可以對學(xué)生的缺課信息進行添加,修改,刪除以及查詢的顯示。不過這個程序還不夠完善,例如不能往當(dāng)前文件夾中的txt 文件中添加記錄。結(jié)束語整個系統(tǒng)的設(shè)計過程對于我來說是個學(xué)習(xí)、探索的過程,通過借鑒別人,學(xué)習(xí)設(shè)計程序,在整個設(shè)計過
8、程中,出現(xiàn)過很多的問題,很多繁瑣的東西都需要反復(fù)的修改,主要是因為前期的學(xué)習(xí)不認真,對系統(tǒng)的需求分析的要求認識不清楚,使得在后邊的工作中不得不經(jīng)常反復(fù)請教別人去修改。使我體會到設(shè)置中每一步的重要性。所以在分析一個問題時,我們需要站在一個有遠見的高度。通過此次設(shè)計,我對C+皓言編程有了深刻的認識,積累了使用軟件工程的思想來開發(fā)軟件的經(jīng)驗,更重要的是學(xué)會了在對待問題時應(yīng)該考慮到哪些方面和怎么解決問題。雖然時間緊迫但我學(xué)會了不少, 感到自身知識的貧乏, 希望在日后積極學(xué)習(xí)并嘗試努力中能做出完善的系統(tǒng)。參考文獻譚浩強.C+語言程序設(shè)計.清華大學(xué)出版社求是科技 .Visual C+ 信息系統(tǒng)開發(fā). 人民
9、郵電出版社附錄:源代碼#include<cstdio> ueke_name;ai.people_num=0;cout<<" 請輸入要查看的時間范圍由小到大【輸入格式: 時間 (空格 )時間】 "cin>>look_time1>>look_time2;p1=head;for(i=0;i<n;i+)while(p1!=NULL&&look_time1<=p1->time&&p1->time<=look_time2)if(ai.xueke_name=p1->less
10、on_name)ai.people_num+=p1->kuangke_num;p1=p1->next;p1=head;for(j=0;j<n-1;j+)for(i=0;i<n-1-j;i+)if(ai.people_num<ai+1.people_num) zhongjian=ai+1.people_num;ai+1.people_num=ai.people_num;ai.people_num=zhongjian;strcpy(zhongjian_name,ai+1.xueke_name);strcpy(ai+1.xueke_name,ai.xueke_name)
11、;strcpy(ai.xueke_name,zhongjian_name);elseif(ai.people_num=ai+1.people_num&&strcmp(ai.xueke_name,ai+1.xueke_n ame)>0) zhongjian=ai+1.people_num;ai+1.people_num=ai.people_num;ai.people_num=zhongjian;strcpy(zhongjian_name,ai+1.xueke_name);strcpy(ai+1.xueke_name,ai.xueke_name);strcpy(ai.xuek
12、e_name,zhongjian_name);for(i=0;i<n;i+)cout<<" 學(xué)科名稱:"<<ai.xueke_name<<" 曠課次數(shù):"<<ai.people_num<<endl;return head;return head;struct student *zairu()struct student *p1=NULL,*p2=NULL,*head=NULL;struct student student_ziliao100;int i=0,n=0;if(fp1=fopen
13、("","rb+")=NULL) printf("cannot open filen");return(head); while(!feof(fp1)if(fread(&student_ziliaoi,LEN,1,fp1)!=1)if(feof(fp1)fclose(fp1);break; printf("file read errorn");i+;n=i;student_num=n;p1=p2=(struct student *)malloc(LEN);head=p1;for(i=0;i<n;i+)
14、p1->chidao_num=student_ziliaoi.chidao_num;p1->kuangke_num=student_ziliaoi.kuangke_num;strcpy(p1->lesson_name,student_ziliaoi.lesson_name);p1->lesson_time=student_ziliaoi.lesson_time;strcpy(p1->name,student_);p1->qingjia_num=student_ziliaoi.qingjia_num;p1->time=studen
15、t_ziliaoi.time;p1->zaotui_num=student_ziliaoi.zaotui_num;p2->next=p1;p2=p1;p1=(struct student*)malloc(LEN); p2->next=NULL;return(head);void chucun(struct student *head) struct student *p1;p1=head;fp1=fopen("","wb+");while(p1!=NULL)fwrite(p1,LEN,1,fp1);p1=p1->next; fcl
16、ose(fp1);cout<<"儲存成功n"void main()(struct student *head;int a,b,c;zhuye:cout<<"$ 歡迎使用學(xué)生考勤管理系統(tǒng)$n;cout<<"1_進入管理 nnn"cout<<"2_查看系統(tǒng)相關(guān)信息nnn"cciCt Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct
17、 Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ct Ctcout<<$cout<<"cout<<"$nnnnn" cin>>a; if(a=1) ( do*n"cout<<"1_建立學(xué)生缺課記錄n"cout<<"2_修改學(xué)生缺課記錄n"cout<<"3_查詢學(xué)生缺課記錄n"cout<<"4_查看單科曠課記錄n"cout<<"5_查看學(xué)生曠課記錄n"cout<<"6_載入學(xué)生曠課記錄n"cout<<"7_儲存學(xué)生曠課記錄n"cout<<"8退出考勤管理程序n"(I*I*n"cin>>b;switch(b)(case 1:head=creat();print(head);break;case 2:head=xiugai(head);print(head);break;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 星級宿舍申請書
- 2025年鼓形銷聯(lián)軸器項目投資可行性研究分析報告
- 2025年度建筑施工安全責(zé)任免除承諾書
- 2025年度新型建筑膩子粉研發(fā)與應(yīng)用推廣合同
- 二零二五年度綠色能源項目股權(quán)融資與投資合同
- 2025年度餐飲設(shè)備維修勞務(wù)服務(wù)合同(2025年度)
- 2025年度地下綜合管廊建設(shè)項目聯(lián)合承包協(xié)議
- 2025年度智能家居系統(tǒng)集成與解決方案合同范本
- 2025年度酒店客房租賃與酒店客房餐飲配套服務(wù)合同
- 2025年度加壓水泵自動化控制系統(tǒng)集成合同
- 2024年云南省中考數(shù)學(xué)模擬試卷(三)
- 信息系統(tǒng)安全等級保護(一級)基本要求
- 2024年襄陽漢江檢測有限公司招聘筆試參考題庫附帶答案詳解
- 2021利達JB-QG-LD988EL JB-QT-LD988EL 火災(zāi)報警控制器 消防聯(lián)動控制器調(diào)試手冊
- 心血管介入護士進修匯報
- 九下名著閱讀《儒林外史》考點+人物分析+中考真題
- 醫(yī)院檢驗科安全風(fēng)險評估報告表單
- 第23課《出師表》課件(共48張)
- 高一北師大版歷史必修一知識點總結(jié)9篇
- 夏普LCD-46LX750A電視機使用說明書
- 2024年山東魯商集團有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論