c課程設(shè)計學生考勤管理系統(tǒng)報告_第1頁
c課程設(shè)計學生考勤管理系統(tǒng)報告_第2頁
c課程設(shè)計學生考勤管理系統(tǒng)報告_第3頁
c課程設(shè)計學生考勤管理系統(tǒng)報告_第4頁
c課程設(shè)計學生考勤管理系統(tǒng)報告_第5頁
免費預(yù)覽已結(jié)束,剩余11頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、信息科學與技術(shù)學院程序設(shè)計基礎(chǔ)課程設(shè)計報告題目名稱:學生考勤管理系統(tǒng)學生姓名:郭晨晨學 號:二專業(yè)班級:13 級計科(3)班指導教師:郭理2013年6月6日目錄1.課程設(shè)計題目與要求課題目的和要求設(shè)計目的:要求實現(xiàn)- “學生考勤管理程序”記錄學生的缺課情況,它包括:缺課日期、第幾節(jié)課、課程名稱、學生姓名、缺課類型 (遲到、 早退、 請假及曠課)設(shè)計要求:1. 錄入學生的缺課記錄;2修改某個學生的缺課記錄;3查詢某個學生的缺課情況;4統(tǒng)計某段時間內(nèi),某門課曠課學生姓名及曠課次數(shù),按曠課次數(shù)由多到少排序;5統(tǒng)計某段時間內(nèi),有學生曠課的課程及曠課人次,按曠課人次由多到少排序;6. 系統(tǒng)以菜單方式工作

2、。課題意義程序?qū)嵺`是本科生重要教學環(huán)節(jié)之一。通過程序?qū)嵺`,強化學生的計算機應(yīng)用技能,使學生驗證、鞏固和充實所學的理論知識,寬知識面,培養(yǎng)學生的創(chuàng)新精神和實踐能力加深對相關(guān)內(nèi)容的理解,拓學生考勤管理程序可以大大減緩學生考勤人員的工作量, 方便了平時上課學生的出勤率的管理。2總體設(shè)計功能模塊設(shè)計根據(jù)分析整個系統(tǒng)主要劃分為7 個功能模塊,分別執(zhí)行要求中的功能。數(shù)據(jù)管理中可以對學生的基本信息、課程的基本信息、學生缺課的查詢、添加、刪除和修改。查詢管理通過根據(jù)學生姓名,課程姓名時間段兒等信息,查詢單個學生的缺課記錄,單科課的曠課記錄,單個學生的曠課記錄。功能模塊圖如圖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)體,用來存放一個學科名及其相應(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 kuangke_

5、num;struct student *next; 這是定義了一個student 的結(jié)構(gòu)體,用來存放一個學生的考勤記錄,其中有,字符數(shù)組name50 , lesson_name50, 分別存放學生名字,缺 課 課 程 名 字 ; int 型 變 量lesson_time,chidao_num,zaotui_num,qingjia_num,kuangke_num,分別來存放,缺課節(jié)次,遲到次數(shù),早退次數(shù),請假次數(shù),曠課次數(shù) long 型變量 time ,記錄時間。主模塊設(shè)計要建立的學生人數(shù),學生基本信息(包括缺課時間、學生姓名、課程名稱、節(jié)次、遲到次數(shù)、早退次數(shù)、請假次數(shù)、曠課次數(shù))可用crea

6、t ()函數(shù)如圖1.結(jié)束根據(jù)要修改的學生姓名以及科目名稱找到相應(yīng)的信息,再選擇要修改的項目進行單項修改如根據(jù)人名可以查出該學生的所有缺課記錄如圖 3圖3根據(jù)學科名稱和時間范圍查出所有在該范圍內(nèi)曠課的學生以及次數(shù)如圖 4圖4根據(jù)要查詢的學科名稱及時間段查出在改時間段內(nèi)該門課上曠課的人數(shù)如5圖5可以載入實現(xiàn)儲存在當前文件夾中txt 文件中所儲存的數(shù)據(jù)如圖 6進入系統(tǒng)界面,順序的完成各項操作,進行數(shù)據(jù)的輸入,信息的保存調(diào)用相應(yīng)的函數(shù)打開相應(yīng)的地址,查詢各項信息。如圖 74.圖7運行結(jié)果運行開始菜單圖1開始菜單 主菜單圖2主菜單 建立學生缺課記錄圖2建立學生缺課記錄儲存學生曠課記錄3 儲存學生曠課記錄

7、5.課程設(shè)計總結(jié)課程設(shè)計順利完成,題目所要求的功能基本實現(xiàn),可以對學生的缺課信息進行添加,修改,刪除以及查詢的顯示。不過這個程序還不夠完善,例如不能往當前文件夾中的txt 文件中添加記錄。結(jié)束語整個系統(tǒng)的設(shè)計過程對于我來說是個學習、探索的過程,通過借鑒別人,學習設(shè)計程序,在整個設(shè)計過程中,出現(xiàn)過很多的問題,很多繁瑣的東西都需要反復(fù)的修改,主要是因為前期的學習不認真,對系統(tǒng)的需求分析的要求認識不清楚,使得在后邊的工作中不得不經(jīng)常反復(fù)請教別人去修改。使我體會到設(shè)置中每一步的重要性。所以在分析一個問題時,我們需要站在一個有遠見的高度。通過此次設(shè)計,我對C+吾言編程有了深刻的認識,積累了使用軟件工程的

8、思想來開發(fā)軟件的經(jīng)驗,更重要的是學會了在對待問題時應(yīng)該考慮到哪些方面和怎么解決問題。雖然時間緊迫但我學會了不少, 感到自身知識的貧乏, 希望在日后積極學習并嘗試努力中能做出完善的系統(tǒng)。參考文獻譚浩強.C+語言程序設(shè)計.清華大學出版社求是科技.Visual C+ 信息系統(tǒng)開發(fā). 人民郵電出版社附錄:源代碼#include<cstdio> ueke_name;ai.people_num=0;cout<<" 請輸入要查看的時間范圍由小到大【輸入格式: 時間 (空格 )時間】 "cin>>look_time1>>look_time2;

9、p1=head;for(i=0;i<n;i+)while(p1!=NULL&&look_time1<=p1->time&&p1->time<=look_time2)if(ai.xueke_name=p1->lesson_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.

10、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.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

11、.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.xueke_name,zhongjian_name);for(i=0;i<n;i+)cout<<" 學科名稱:"<<ai.xueke_name<<" 曠課次數(shù):"<<ai.people_num<<endl;return

12、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("","rb+")=NULL) printf("cannot open filen");return(head); while(!feof(fp1)if(fread(&student_ziliaoi,LEN,1,fp1)!=1)if(feof(fp

13、1)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+)p1->chidao_num=student_ziliaoi.chidao_num;p1->kuangke_num=student_ziliaoi.kuangke_num;strcpy(p1->lesson_name,student_ziliaoi.lesson_name);p1->lesso

14、n_time=student_ziliaoi.lesson_time;strcpy(p1->name,student_);p1->qingjia_num=student_ziliaoi.qingjia_num;p1->time=student_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(s

15、truct student *head) struct student *p1;p1=head;fp1=fopen("","wb+");while(p1!=NULL) fwrite(p1,LEN,1,fp1);p1=p1->next; fclose(fp1);cout<<"儲存成功n"void main()struct student *head; int a,b,c;歡迎使用學生考勤管理系統(tǒng)進入管理nnn"查看系統(tǒng)相關(guān)信息nnn"zhuye:cout<<"$n, cout&

16、lt;<"1_cout<<"2cout<<$nnnnn" cin>>a;if(a=1)docout<<"I*cout<<"1_建立學生缺課記錄n"cout<<"2_修改學生缺課記錄n"cout<<"3_查詢學生缺課記錄n"cout<<"4_查看單科曠課記錄n"cout<<"5_查看學生曠課記錄n"cout<<"6_載入學生曠課記錄n"cout<<"7_儲存學生曠課記錄n"cout<<"8_退出考勤管理程序n"I*cout<<"*n"cin>>b;switch(b)case 1:head=creat(); print(head); break;case 2:head=xiugai(head);print(head);break;case 3:chaxun(hea

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論