C語言課程設(shè)計(jì)職工信息管理系統(tǒng)1_第1頁
C語言課程設(shè)計(jì)職工信息管理系統(tǒng)1_第2頁
C語言課程設(shè)計(jì)職工信息管理系統(tǒng)1_第3頁
C語言課程設(shè)計(jì)職工信息管理系統(tǒng)1_第4頁
C語言課程設(shè)計(jì)職工信息管理系統(tǒng)1_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、武 夷 學(xué) 院 課程設(shè)計(jì)報(bào)告課程設(shè)計(jì):c程序設(shè)計(jì)設(shè)計(jì)題目:職工信息管理系統(tǒng)學(xué)生班級(jí):2010信息與計(jì)算科學(xué)學(xué)生姓名:指導(dǎo)老師:完成日期:201215數(shù)學(xué)與計(jì)算機(jī)系 課程設(shè)計(jì)項(xiàng)目研究報(bào)告目 錄第 1 章 項(xiàng)目簡介31.1 項(xiàng)目名稱31.2 開發(fā)人員31.3 指導(dǎo)教師3第 2 章 項(xiàng)目研究意義42.1 課程設(shè)計(jì)概述42.2 需求分析及研究意義42.3 研究意義5第 3 章 采用的技術(shù)53.1 課程設(shè)計(jì)的方案設(shè)計(jì)論證53.2 重要算法的設(shè)計(jì)、流程描述或偽代碼描述5第4 章 課程設(shè)計(jì)項(xiàng)目進(jìn)度表5第5 章 課程設(shè)計(jì)任務(wù)分配表錯(cuò)誤!未定義書簽。第6 章 達(dá)到的效果661 程序設(shè)計(jì)思想662 程序最終實(shí)現(xiàn)結(jié)

2、果6第7 章 源程序671 xml源代碼672 xsl源代碼772 “添加”模塊源代碼7第8 章 附錄881 學(xué)生考勤登記管理系統(tǒng)882 xml數(shù)據(jù)類型定義表9第9 章 設(shè)計(jì)心得9第10 章 參考文獻(xiàn)9 數(shù)學(xué)與計(jì)算機(jī)系 34第 1 章 項(xiàng)目簡介1.1 項(xiàng)目名稱職工信息管理系統(tǒng)1.2 開發(fā)人員2010級(jí)信息與計(jì)算科學(xué) 1.3 指導(dǎo)教師第 2 章 項(xiàng)目研究意義2.1 課程設(shè)計(jì)概述在用戶同信息服務(wù)人員的交流方面,沒有一個(gè)單位指望能做到盡善盡美,但是,確有某些單位已經(jīng)取得了比較好的成功經(jīng)驗(yàn)。用戶同信息服務(wù)人員配合默契的一些單位認(rèn)為:這種成功的原因在于,用戶已經(jīng)掌握了計(jì)算機(jī)和信息資源管理方面的基本知識(shí)。

3、可見,用戶管理人員掌握這方面的知識(shí)是非常必要的。誠然,信息服務(wù)專業(yè)人員是具備這方面知識(shí)的,但是要使用戶管理人員獲得這些知識(shí),就必須通過正規(guī)的學(xué)習(xí)、閱讀和實(shí)踐妥善處理用戶同信息服務(wù)人員之間的關(guān)系,可以加強(qiáng)雙方的互相配合。為了建立和維護(hù)一個(gè)高質(zhì)量的信息系統(tǒng),各方都必須尊重對(duì)方的意愿。系統(tǒng)質(zhì)量的優(yōu)劣是直接與用戶同信息服務(wù)人員之間互相配合的好壞成正比的。凡是那些不愿意掌握有關(guān)計(jì)算機(jī)和信息資源管理方面基本知識(shí)的用戶管理人員和行政首腦,必將成為落伍者,特別是在當(dāng)前這種鼓勵(lì)用戶直接參與信息系統(tǒng)開發(fā)過程的發(fā)展趨勢(shì)下。過去,用戶管理人員在很大程度上是依靠信息服務(wù)人員來推薦、開發(fā)和實(shí)現(xiàn)所需要的信息系統(tǒng)的。鑒于信息

4、服務(wù)需要不斷的發(fā)展變化,現(xiàn)在把鑒別和提高系統(tǒng)的責(zé)任留給了用戶這也是理所應(yīng)當(dāng)?shù)摹S脩舾嗟貐⑴c信息系統(tǒng)的開發(fā),2.2 需求分析及研究意義 由于計(jì)算機(jī)基礎(chǔ)課程遠(yuǎn)程教學(xué)系統(tǒng)可同時(shí)為多組教師/學(xué)生提供服務(wù),各組間的課程不盡相同,因此教師/學(xué)生組間應(yīng)具有一定的隔離性。例如一門課程的教師對(duì)其學(xué)生具有管理權(quán),但不能對(duì)學(xué)生進(jìn)行管理、某個(gè)學(xué)生只能訪問其教師的作業(yè)等。因此系統(tǒng)主頁需要教師或?qū)W生均以帳號(hào)/密碼登錄后才能訪問,以此追蹤用戶訪問系統(tǒng)資源的身份。而用戶帳號(hào)的開設(shè)與刪除、教師與學(xué)生的對(duì)應(yīng)關(guān)系、課程名稱、學(xué)生人數(shù)等信息,由系統(tǒng)管理員負(fù)責(zé)管理。這里,我們將系統(tǒng)資源訪問帳號(hào)作為操作系統(tǒng)帳號(hào)開設(shè),由windows

5、nt和web服務(wù)器iis負(fù)責(zé)進(jìn)行用戶驗(yàn)證。這樣做的好處,一是可以充分利用操作系統(tǒng)的安全機(jī)制,使操作系統(tǒng)與數(shù)據(jù)庫服務(wù)器(sql server)無縫集成;二是可同時(shí)為用戶提供其它輔助服務(wù),如:電子郵件、個(gè)人主頁、ftp服務(wù)等。使系統(tǒng)應(yīng)用與課程內(nèi)容緊密結(jié)合,學(xué)生在應(yīng)用系統(tǒng)的使用過程中可進(jìn)一步加深對(duì)課程內(nèi)容的理解。2.3 研究意義 就其功能來說,管理信息系統(tǒng)是組織理論、會(huì)計(jì)學(xué)、統(tǒng)計(jì)學(xué)、數(shù)學(xué)模型及經(jīng)濟(jì)學(xué)的混合物,它全面使用計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)庫技術(shù)等,是多學(xué)科交叉的邊緣技術(shù),因此是技術(shù)系統(tǒng)。從社會(huì)技術(shù)系統(tǒng)的觀點(diǎn)來看,mis和組織結(jié)構(gòu)之間是相互影響的,引進(jìn)mis將導(dǎo)致新組織結(jié)構(gòu)的產(chǎn)生,而現(xiàn)存的組

6、織結(jié)構(gòu)又對(duì)mis的分析、設(shè)計(jì)、引進(jìn)的成功與否產(chǎn)生重要影響,其影響要素包括組織環(huán)境、組織戰(zhàn)略、組織目標(biāo)、組織結(jié)構(gòu)、組織過程和組織文化。同時(shí)也是社會(huì)系統(tǒng)。第 3 章 采用的技術(shù)3.1 課程設(shè)計(jì)的方案設(shè)計(jì)論證3.2 重要算法的設(shè)計(jì)、流程描述或偽代碼描述第4 章 課程設(shè)計(jì)項(xiàng)目進(jìn)度表日期完成的工作2012-1.2項(xiàng)目可行性研究,研究報(bào)告2012-1.21.3數(shù)據(jù)采集,確定表格,數(shù)據(jù)類型,系統(tǒng)開發(fā)技術(shù),運(yùn)行環(huán)境2012-1.31.4子模塊的程序設(shè)計(jì)和調(diào)試2012-1.41.5系統(tǒng)聯(lián)合調(diào)試,撰寫課程設(shè)計(jì)總結(jié)報(bào)告第5 章 達(dá)到的效果61 程序設(shè)計(jì)思想將程序設(shè)計(jì)的思路和技術(shù)、方法等放在這里。62 程序最終實(shí)現(xiàn)結(jié)

7、果將程序最終實(shí)現(xiàn)結(jié)果(包括重點(diǎn)結(jié)果界面的抓取,能夠說明問題的重要實(shí)驗(yàn)結(jié)果數(shù)據(jù)或其可視化結(jié)果等)放在這里。 第6 章 源程序61 xml源代碼菜單函數(shù):void menu() /*菜單函數(shù)*/ printf(t*學(xué)校:武夷學(xué)院*t);printf(n);printf(t 院系:數(shù)學(xué)與計(jì)算機(jī)系 t);printf(n);printf(t 專業(yè):信息與計(jì)算科學(xué) t);printf(n);printf(t 學(xué)號(hào): 20104161003 t);printf(n);printf( 姓名:代 樂 樂 t);printf(n);printf(n);printf( 主 菜 單 t);printf(n);pri

8、ntf(t 1.職工信息錄入功能 tn);printf(t 2.職工信息瀏覽功能 tn);printf(t 3.職工信息查詢功能 tn);printf(t 4.職工信息刪除功能 tn);printf(t 5.職工信息添加功能 tn);printf(t 6.職工信息修改功能 tn);printf(t 7. 退 出 tn);printf(t 謝 謝 tn);printf(t*tn);錄入函數(shù):void input() /*錄入函數(shù)*/ int i,m; printf(請(qǐng)輸入錄入的職工人數(shù)(1-100):n); scanf(%d,&m); for (i=0;im;i+) printf(職工號(hào): );

9、 scanf(%ld,&emi.num); printf(n); printf(請(qǐng)輸入姓名: ); scanf(%s,); getchar(); printf(n); printf(請(qǐng)輸入性別(女-f、男-m): ); scanf(%c,&emi.sex); getchar(); printf(n); printf(請(qǐng)輸入年齡: ); scanf(%d,&emi.age); getchar(); printf(n); printf(請(qǐng)輸入學(xué)歷:(doctor,master,collage,high,junior,primary) ); scanf(%s,emi.xueli);

10、getchar(); printf(n); printf(請(qǐng)輸入工資: ); scanf(%d,&emi.wage); getchar(); printf(n); printf(請(qǐng)輸入住址: ); scanf(%s,emi.addr); getchar(); printf(n); printf(請(qǐng)輸入電話: ); scanf(%d,&emi.tel); printf(n); printf(n創(chuàng)建完畢!n); save(m);保存函數(shù):void save(int m) /*保存文件函數(shù)*/ int i; file*fp; /*建立指向file的指針*/ if (fp=fopen(employee

11、_list,wb)=null) /*創(chuàng)建文件并判斷是否能打開*/ /*fp=fopen(employee_list,wb 打開職工列表文件,wb 只寫*/ printf (對(duì)不起,不能打開文件!n); for (i=0;im;i+) /*將內(nèi)存中職工的信息輸出到磁盤文件中去*/ if (fwrite(&emi,sizeof(struct employee),1,fp)!=1) /*fwrite的用法:fwrite(buffer,size,count,fp)*/ printf(對(duì)不起,文件寫入有誤!n); fclose(fp);62 xsl源代碼導(dǎo)入函數(shù):int load() /*導(dǎo)入函數(shù)*/

12、file*fp; int i=0; if(fp=fopen(employee_list,rb)=null) printf (對(duì)不起,不能打開文件!n); return(0); else do fread(&emi,sizeof(struct employee),1,fp); i+;while(feof(fp)=0); fclose(fp); return(i-1);瀏覽函數(shù):void display() /*瀏覽函數(shù)*/ int i; int m=load(); printf(n 職工號(hào) t姓名t性別t年齡t學(xué)歷t工資t住址t電話n); for(i=0;i=1&t=6) flag=1;brea

13、k; else flag=0; printf(您輸入有誤,請(qǐng)重新選擇!); while(flag=0); while(flag=1) switch(t) case 1:printf(按職工姓名刪除n);del_name();break; case 2:printf(按職工號(hào)刪除n);del_num();break; case 3:printf(按職工學(xué)歷刪除n);del_xueli();break; case 4:printf(按職工電話號(hào)碼刪除n);del_tel();break; case 5:printf(按職工年齡刪除n);del_age();break; case 6:main();

14、break; default:break; void del_name() /*職工姓名刪除函數(shù)*/ int m=load(); int i,j,n,t,flag; char name20; printf(n 原來的職工信息:n); display(); /* 調(diào)用瀏覽函數(shù)*/ printf(n); printf(請(qǐng)輸入要?jiǎng)h除的職工的姓名:n); scanf(%s,name); for(flag=1,i=0;flag&im;i+) if(strcmp(,name)=0) printf(n已找到此人,原始記錄為:n); printf(n 職工號(hào) t姓名t性別t年齡t學(xué)歷t工資t住

15、址t電話n); printf(n%ldt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel); printf(n確實(shí)要?jiǎng)h除此人信息請(qǐng)按1,n不刪除請(qǐng)按0n); scanf(%d,&n); if(n=1) /*如果刪除,則其他的信息都往上移一行*/ for(j=i;jm-1;j+) strcpy(,emj+1.name); emj.num=emj+1.num; emj.sex=emj+1.sex; emj.age=emj+1.age; strcpy(

16、emj.xueli,emj+1.xueli); emj.wage=emj+1.wage; strcpy(emj.addr,emj+1.addr); emj.tel=emj+1.tel; flag=0; if(!flag) m=m-1; else printf(n對(duì)不起,查無此人!n); printf(n 瀏覽刪除后的所有職工信息:n); save(m); /*調(diào)用保存函數(shù)*/ display(); /*調(diào)用瀏覽函數(shù)*/ printf(n繼續(xù)刪除請(qǐng)按1,n不再刪除請(qǐng)按0n); scanf(%d,&t); switch(t) case 1:del();break; case 0:break; de

17、fault :break; void del_num() /*職工號(hào)刪除函數(shù)*/ int m=load(); int i,j,n,t,flag; long int num; printf(n 原來的職工信息:n); display(); /* 調(diào)用瀏覽函數(shù)*/ printf(n); printf(請(qǐng)輸入要?jiǎng)h除的職工的職工號(hào):n); scanf(%ld,&num); for(flag=1,i=0;flag&im;i+) if(emi.num=num) printf(n已找到此人,原始記錄為:n); printf(n 職工號(hào) t姓名t性別t年齡t學(xué)歷t工資t住址t電話n); printf(n%ld

18、t%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel); printf(n確實(shí)要?jiǎng)h除此人信息請(qǐng)按1,n不刪除請(qǐng)按0n); scanf(%d,&n); if(n=1) /*如果刪除,則其他的信息都往上移一行*/ for(j=i;jm-1;j+) strcpy(,emj+1.name); emj.num=emj+1.num; emj.sex=emj+1.sex; emj.age=emj+1.age; strcpy(emj.xueli,emj+1.xue

19、li); emj.wage=emj+1.wage; strcpy(emj.addr,emj+1.addr); emj.tel=emj+1.tel; flag=0; if(!flag) m=m-1; else printf(n對(duì)不起,查無此人!n); printf(n 瀏覽刪除后的所有職工信息:n); save(m); /*調(diào)用保存函數(shù)*/ display(); /*調(diào)用瀏覽函數(shù)*/ printf(n繼續(xù)刪除請(qǐng)按1,n不再刪除請(qǐng)按0n); scanf(%d,&t); switch(t) case 1:del();break; case 0:break; default :break; void

20、del_xueli() /*職工學(xué)歷刪除函數(shù)*/ int m=load(); int i,j,n,t,flag; char xueli20; printf(n 原來的職工信息:n); display(); /* 調(diào)用瀏覽函數(shù)*/ printf(n); printf(請(qǐng)輸入要?jiǎng)h除的職工的學(xué)歷:n); scanf(%s,xueli); for(flag=1,i=0;flag&im;i+) if(strcmp(emi.xueli,xueli)=0) printf(n已找到此人,原始記錄為:n); printf(n 職工號(hào) t姓名t性別t年齡t學(xué)歷t工資t住址t電話n); printf(n%ldt%s

21、t%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel); printf(n確實(shí)要?jiǎng)h除此人信息請(qǐng)按1,n不刪除請(qǐng)按0n); scanf(%d,&n); if(n=1) /*如果刪除,則其他的信息都往上移一行*/ for(j=i;jm-1;j+) strcpy(,emj+1.name); emj.num=emj+1.num; emj.sex=emj+1.sex; emj.age=emj+1.age; strcpy(emj.xueli,emj+1.xueli)

22、; emj.wage=emj+1.wage; strcpy(emj.addr,emj+1.addr); emj.tel=emj+1.tel; flag=0; if(!flag) m=m-1; else printf(n對(duì)不起,查無此人!n); printf(n 瀏覽刪除后的所有職工信息:n); save(m); /*調(diào)用保存函數(shù)*/ display(); /*調(diào)用瀏覽函數(shù)*/ printf(n繼續(xù)刪除請(qǐng)按1,n不再刪除請(qǐng)按0n); scanf(%d,&t); switch(t) case 1:del();break; case 0:break; default :break; void del

23、_tel() /*職工電話刪除函數(shù)*/ int m=load(); int i,j,n,t,flag; long int tel; printf(n 原來的職工信息:n); display(); /* 調(diào)用瀏覽函數(shù)*/ printf(n); printf(請(qǐng)輸入要?jiǎng)h除的職工的電話:n); scanf(%s,tel); for(flag=1,i=0;flag&im;i+) if(emi.tel=tel) printf(n已找到此人,原始記錄為:n); printf(n 職工號(hào) t姓名t性別t年齡t學(xué)歷t工資t住址t電話n); printf(n%ldt%st%ct%dt%st%dt%st%ldn,

24、emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel); printf(n確實(shí)要?jiǎng)h除此人信息請(qǐng)按1,n不刪除請(qǐng)按0n); scanf(%d,&n); if(n=1) /*如果刪除,則其他的信息都往上移一行*/ for(j=i;jm-1;j+) strcpy(,emj+1.name); emj.num=emj+1.num; emj.sex=emj+1.sex; emj.age=emj+1.age; strcpy(emj.xueli,emj+1.xueli); emj.wage=emj+1.wage

25、; strcpy(emj.addr,emj+1.addr); emj.tel=emj+1.tel; flag=0; if(!flag) m=m-1; else printf(n對(duì)不起,查無此人!n); printf(n 瀏覽刪除后的所有職工信息:n); save(m); /*調(diào)用保存函數(shù)*/ display(); /*調(diào)用瀏覽函數(shù)*/ printf(n繼續(xù)刪除請(qǐng)按1,n不再刪除請(qǐng)按0n); scanf(%d,&t); switch(t) case 1:del();break; case 0:break; default :break; void del_age() /*職工年齡刪除函數(shù)*/ i

26、nt m=load(); int i,j,n,t,flag; int age; printf(n 原來的職工信息:n); display(); /* 調(diào)用瀏覽函數(shù)*/ printf(n); printf(請(qǐng)輸入要?jiǎng)h除的職工的年齡:n); scanf(%d,&age); for(flag=1,i=0;flag&im;i+) if(emi.age=age) printf(n已找到此人,原始記錄為:n); printf(n 職工號(hào) t姓名t性別t年齡t學(xué)歷t工資t住址t電話n); printf(n%ldt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,

27、emi.age,emi.xueli,emi.wage,emi.addr,emi.tel); printf(n確實(shí)要?jiǎng)h除此人信息請(qǐng)按1,n不刪除請(qǐng)按0n); scanf(%d,&n); if(n=1) /*如果刪除,則其他的信息都往上移一行*/ for(j=i;jm-1;j+) strcpy(,emj+1.name); emj.num=emj+1.num; emj.sex=emj+1.sex; emj.age=emj+1.age; strcpy(emj.xueli,emj+1.xueli); emj.wage=emj+1.wage; strcpy(emj.addr,emj+1.a

28、ddr); emj.tel=emj+1.tel; flag=0; if(!flag) m=m-1; else printf(n對(duì)不起,查無此人!n); printf(n 瀏覽刪除后的所有職工信息:n); save(m); /*調(diào)用保存函數(shù)*/ display(); /*調(diào)用瀏覽函數(shù)*/ printf(n繼續(xù)刪除請(qǐng)按1,n不再刪除請(qǐng)按0n); scanf(%d,&t); switch(t) case 1:del();break; case 0:break; default :break; 62 “添加”模塊源代碼添加函數(shù):void add() /*添加函數(shù)*/ file*fp; int n; i

29、nt count=0; int i; int m=load(); printf(n 原來的職工信息:n); printf(n); display(); /* 調(diào)用瀏覽函數(shù)*/ printf(n); fp=fopen(emploee_list,a); /* a:向文件末尾追加數(shù)據(jù)*/ printf(請(qǐng)輸入想增加的職工數(shù):n); scanf(%d,&n); for (i=m;i=1&t=5) flag=1;break; else flag=0; printf(您輸入有誤,請(qǐng)重新選擇!); while(flag=0); while(flag=1) switch(t) case 1:printf(按職

30、工號(hào)查詢n);search_num();break; case 2:printf(按學(xué)歷查詢n);search_xueli();break; case 3:printf(按電話號(hào)碼查詢n);search_tel();break; case 4:printf(按年齡查詢n);search_age();break; case 5:main();break; default:break; void search_num() /*職工號(hào)查找函數(shù)*/ long int num; int i,t; int m=load(); printf(請(qǐng)輸入要查找的職工號(hào):n); scanf(%ld,&num); for(i=0;im;i+) if(num=emi.num) printf(n已找到此人,其記錄為:n); printf(n 職工號(hào) t姓名t性別t年齡t學(xué)歷t工資t住址t電話n); printf(n%ldt%st%ct%dt%st%dt%st%ldn,emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel); break; else printf(n對(duì)不起,查無此人!n); printf(n); pri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論