歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

C語言課程設(shè)計報告-職工信息管理系統(tǒng)1.doc

  • 資源ID:116645318       資源大?。?span id="kw5nusf" class="font-tahoma">137.04KB        全文頁數(shù):18頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

C語言課程設(shè)計報告-職工信息管理系統(tǒng)1.doc

C語言課程設(shè)計報告題 目: 職工信息管理系統(tǒng)院系名稱: 通信與信息工程學(xué)院 專業(yè)名稱: 信息工程班 級: 學(xué)生姓名: 學(xué)號(8位): 指導(dǎo)教師: 設(shè)計起止時間:2011年06月13日2011年06月22日一. 設(shè)計目的 加深對程序設(shè)計課程所學(xué)的理解,進(jìn)一步鞏固c語言知識,學(xué)會獨立完成一定規(guī)模的系統(tǒng)編寫,深化知識,學(xué)以致用二. 設(shè)計內(nèi)容在熟練掌握C語言的基本知識,例如:數(shù)據(jù)類型(包括整形、實型、字符型、指針、數(shù)組、結(jié)構(gòu)等);運算類型(包括算術(shù)運算、邏輯運算、自增自減運算、賦值運算等);程序結(jié)構(gòu)(包括順序結(jié)構(gòu)、判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu));大程序的功能分解方法(即函數(shù)的使用)等的同時。進(jìn)一步掌握各種函數(shù)的應(yīng)用,包括時間函數(shù)、繪圖函數(shù),以及文件的讀寫操作等。三概要設(shè)計1 功能模塊圖; (1)主函數(shù)main (8)查詢信息模塊(2)密碼模塊 (9)按姓名查詢模塊 (3)進(jìn)入菜單函數(shù) (10)按職稱查詢模塊(4)錄入信息模塊 (11)排序模塊(5)刪除信息模塊 (12)按姓氏首字母排序(6)修改信息模塊 (13)按基本工資排序(7)退出系統(tǒng)模塊 (14)添加信息模塊 (15)保存文件模塊 2各個模塊詳細(xì)的功能描述。A.錄入職工信息,首先確定錄入人數(shù),按步驟輸入職工信息(工號、姓名、職稱、基本工資、獎金、實際工資、生日、學(xué)歷、電話、地址)B.瀏覽職工信息,按照錄入信息依次顯示C.修改職工信息,輸入要修改職工姓名,選擇要修改的信息D.刪除職工信息,輸入要修改職工姓名,確認(rèn)后生效E.查詢職工信息,選擇輸入姓名或職稱,顯示職工信息F.職工信息排序,選擇排序方式,一種按照姓氏首字母,另一種按基本工資G.添加職工信息,首先確定添加人數(shù),按步驟輸入職工信息H.退出系統(tǒng) 職工 信息管理系統(tǒng)密碼輸入錄 入 職 工 信 息瀏 覽 職 工 信 息修 改 職 工信 息刪 除職 工信 息查 詢職 工信 息職 工信 息排 序添 加職 工信 息退 出 職稱查詢姓名查詢按姓名排序按基本工資排序 四詳細(xì)設(shè)計1功能函數(shù)的調(diào)用關(guān)系圖;2各功能函數(shù)的數(shù)據(jù)流程圖;3重點設(shè)計及編碼。頭文件#include #include #include 數(shù)據(jù)類型struct workerint num;char name100;char zhicheng50; int wages;int reward;long birth;int salary;char xueli50;char tele50;char address50; work500,work1; /*定義結(jié)構(gòu)體*/函數(shù)說明void main(); /主函數(shù)void menu(); /聲明菜單函數(shù)void type_in(); /聲明錄入函數(shù)void baocun(int); /聲明保存函數(shù)void scan(); /聲明瀏覽函數(shù)void del(); /聲明刪除函數(shù)void search(); /聲明查詢函數(shù)void search_zhicheng(); /聲明按職稱查詢函數(shù)void search_name(); /聲明按姓名查找函數(shù)void change(); /聲明修改函數(shù)void order(); /聲明排序函數(shù)void order_wages(); /聲明按工資排序void order_name(); /聲明按姓名(首字母順序)排序void add(); /聲明添加函數(shù)五測試數(shù)據(jù)及運行結(jié)果1正常測試數(shù)據(jù)(3組)及運行結(jié)果;2非正常測試數(shù)據(jù)(2組)及運行結(jié)果。六調(diào)試情況,設(shè)計技巧及體會1對自己的設(shè)計進(jìn)行評價,指出合理和不足之處,提出改進(jìn)方案.基本完成課程設(shè)計要求,設(shè)計簡煉,可讀性強,但是職工信息不夠全面,要達(dá)到用戶滿意還有許多需要完善之處,同時如果采用鏈表的方法,增加密碼難度,層次會高些2對設(shè)計及調(diào)試過程的心得體會。在本程序的設(shè)計過程中深刻體會到了程序是建立在數(shù)據(jù)結(jié)構(gòu)之上的。程序中的所有算法都要圍繞著自己所定義的抽象數(shù)據(jù)類型來設(shè)計。由此可見在設(shè)計程序時,定義一個好的數(shù)據(jù)結(jié)構(gòu)尤為重要。在此程序設(shè)計過程中也增強了對一些算法的了解以及運用。但是也發(fā)現(xiàn)了自己還有很多不足的地方,要求自己在以后的學(xué)習(xí)中加以改正和提高。七參考文獻(xiàn)c語言程序設(shè)計(王曙燕,科學(xué)出版社 )八附錄:源代碼(電子版)#include #include #include struct workerint num;char name100;char zhicheng50; int wages;int reward;long birth;int salary;char xueli50;char tele50;char address50; work500,work1; /*定義結(jié)構(gòu)體*/void menu(); /聲明菜單函數(shù)void type_in(); /聲明錄入函數(shù)void baocun(int); /聲明保存函數(shù)void scan(); /聲明瀏覽函數(shù)void del(); /聲明刪除函數(shù)void search(); /聲明查詢函數(shù)void search_zhicheng(); /聲明按職稱查詢函數(shù)void search_name(); /聲明按姓名查找函數(shù)void change(); /聲明修改函數(shù)void order(); /聲明排序函數(shù)void add(); /聲明添加函數(shù)void order_wages();void order_name();void menu() /*菜單函數(shù)*/ printf(n); printf( 歡迎進(jìn)入 n); printf( 職工信息管理系統(tǒng) ); printf(*n); printf( 1.錄入職工信息n); printf( 2.瀏覽職工信息n); printf( 3.查詢職工信息n); printf( 4.刪除職工信息n); printf( 5.修改職工信息n); printf( 6.職工信息排序n); printf( 7.添加職工信息n); printf( 8.退出n); printf(*n); printf(n); /*/void main() int n,f,count=0; int key=1234; for(count=0;count=1&n=8) f=1; break; else f=0; printf(您輸入有誤,請重新選擇!); while(f=0); switch(n) case 1:printf( 錄入職工信息n);printf(n);type_in();break; case 2:printf( 瀏覽職工信息n);printf(n);system(cls);scan();break; case 3:printf( 查詢職工信息n);printf(n);system(cls);search();break; case 4:printf( 刪除職工信息n);printf(n);system(cls);del();break; case 5:printf( 修改職工信息n);printf(n);system(cls);change();break; case 6:printf( 職工信息排序n);printf(n);system(cls);order();break; case 7:printf( 添加職工信息n);printf(n);system(sls);add();break; case 8:goto loop ;/*用goto語句跳至跳至指定的行*/ default :break ; loop:/行標(biāo) system(cls); printf(nnnnnn -謝謝使用!祝您工作順利-nnnnnn);/*/void type_in() /*錄入函數(shù)*/ int i,m,t1,t2; printf(請輸入需要創(chuàng)建信息的職工人數(shù)(1-500):n); scanf(%d,&m); for (i=0;im;i+) printf(請輸入職工號: ); scanf(%d,&worki.num); printf(n); printf(請輸入姓名: ); scanf(%s,worki.name); getchar(); printf(請輸入職稱:0.職員1.主任 2.經(jīng)理3.總監(jiān) 4.董事長 ); printf(請輸入序號(0-4):); scanf(%d,&t1); if(t1=0)strcpy(worki.zhicheng,職員); if(t1=1)strcpy(worki.zhicheng,主任); if(t1=2)strcpy(worki.zhicheng,經(jīng)理); if(t1=3) strcpy(worki.zhicheng,總監(jiān)); if(t1=4) strcpy(worki.zhicheng,董事長); printf(請輸入基本工資: ); scanf(%d,&worki.wages); printf(請輸入獎金: ); scanf(%d,&worki.reward); printf(請輸入生日(格式如19900101): ); scanf(%d,&worki.birth); printf(請輸入學(xué)歷:1.高中2.大學(xué) 3.碩士 4.博士 ); printf(請輸入序號(1-4):); scanf(%d,&t2); if(t2=1)strcpy(worki.xueli,高中); if(t2=2)strcpy(worki.xueli,大學(xué)); if(t2=3) strcpy(worki.xueli,碩士); if(t2=4) strcpy(worki.xueli,博士); printf(請輸入電話:); scanf(%s,worki.tele ); printf(請輸入地址:); scanf(%s,worki.address); getchar();system(cls); printf(n一個職工的信息檔案創(chuàng)建完畢!請輸入下一個職工的信息n); worki.salary=worki.wages + worki.reward; printf(n); baocun(m);/*/void baocun(int m) /*保存文件函數(shù)*/ int i; FILE *fp; if (fp=fopen(E:worker_list.txt,wb)=NULL) /*創(chuàng)建文件并判斷是否能打開*/ printf (此文件不能打開n); exit(0); for (i=0;im;i+) /*將內(nèi)存中職工的信息輸出到磁盤文件中去*/ if (fwrite(&worki,sizeof(struct worker),1,fp)!=1) printf(file write errorn); fclose(fp);/*/int load() /*導(dǎo)入函數(shù)*/ FILE*fp; int i=0; if(fp=fopen(E:worker_list.txt,rb)=NULL) printf (cannot open filen); exit(0); else do fread(&worki,sizeof(struct worker),1,fp); i+; while(feof(fp)=0);fclose(fp);return(i-1); /*/void scan() /*瀏覽函數(shù)*/int i;int m=load();printf(n職工號t姓名t職稱t基本工資t獎金t實際工資t生日t學(xué)歷t電話t地址 n);for(i=0;im;i+) printf(n %dt%st%st%dt%dt%dt%ldt%st%st%sn,worki.num,worki.name, worki.zhicheng,worki.wages,worki.reward,worki.salary,worki.birth,worki.xueli,worki.tele,worki.address );printf(按任意鍵繼續(xù)n);getchar();getchar();system(cls);/*/void del() /*刪除函數(shù)*/ int m=load();int i,j,n,t,f;char name110;printf(n 原來的職工信息:n); scan(); /* 調(diào)用瀏覽函數(shù)*/ printf(n);printf(請輸入要刪除的職工的姓名:n);scanf(%s,name1);for(f=1,i=0;f&im;i+) if(strcmp(worki.name,name1)=0) printf(n已找到此人,原始記錄為:n); printf(n職工號t姓名t職稱t基本工資t獎金t實際工資t生日t學(xué)歷t電話t地址 n); printf(n %dt%st%st%dt%dt%dt%ldt%st%st%s n,worki.num,worki.name, worki.zhicheng,worki.wages,worki.reward,worki.salary,worki.birth,worki.xueli,worki.tele,worki.address ); printf(n確實要刪除此人信息請按1,不刪除請按0n); scanf(%d,&n); if(n=1) /*如果刪除,則其他的信息都向前移一行*/ for(j=i;j=1&t=3) f=1; break; else f=0; printf(您輸入有誤,請重新選擇!); while(f=0);system(cls); while(f=1) switch(t) case 1:printf(按姓名查詢n);search_name();break; case 2:printf(按職稱查詢n);search_zhicheng();break; case 3:main();break; default:break; system(cls); /*/void search_name()/*按姓名查找函數(shù)*/ char name110; int i,t; int m=load(); printf(請輸入要查找的姓名:n); scanf(%s,name1); for(i=0;im;i+) if(strcmp(name1,worki.name)=0) printf(n已找到此人,其記錄為:n); printf(n職工號t姓名t職稱t基本工資t獎金t實際工資t生日t學(xué)歷t電話t 地址 n); printf(n %dt%st%st%dt%dt %dt%ldt%st%st%sn,worki.num,worki.name, worki.zhicheng,worki.wages,worki.reward,worki.salary,worki.birth,worki.xueli,worki.tele,worki.address); break; if(i=m) printf(n對不起,查無此人n); printf(n); printf(返回查詢函數(shù)請按1,繼續(xù)查詢職工號請按2n); scanf(%d,&t); switch(t) case 1:search();break; case 2: break; default:break; /*/void search_zhicheng()/*按職稱查找函數(shù)*/ char zhicheng110; int i,t; int m=load(); printf(請輸入要查找的職稱:n); scanf(%s,zhicheng1); for(i=0;im;i+) if(strcmp(zhicheng1,worki.zhicheng)=0) printf(n已找到此人,其記錄為:n); printf(n職工號t姓名t職稱t基本工資t獎金t實際工資t生日 t學(xué)歷t電話t 地址 n); printf(n %dt%st%st%dt%dt%dt%ldt%st%st%sn,worki.num,worki.name, worki.zhicheng,worki.wages,worki.reward,worki.salary,worki.birth,worki.xueli,worki.tele,worki.address); break; if(i=m) printf(n對不起,查無此人n); printf(n); printf(返回查詢函數(shù)請按1,繼續(xù)查詢職工號請按2n); scanf(%d,&t); switch(t) case 1:search();break; case 2: break; default:break; /*/void change() /*修改函數(shù)*/int num;char name20;char zhicheng50; int wages;int reward;int birth;int salary;char xueli50;char tele50;char address50; int b,c,i,n,t1,t2,f,T; int m=load(); /*導(dǎo)入文件內(nèi)的信息*/ printf(n 原來的職工信息:n); scan(); /* 調(diào)用瀏覽函數(shù)*/ printf(n); printf(請輸入要修改的職工的姓名:n);scanf(%s,name);for(f=1,i=0;f&i7|c=1&k=3) f=1; break; else f=0; printf(您輸入有誤,請重新選擇!); while(f=0);system(cls); while(f=1) switch(k) case 1:printf(n按姓名排序為(字母由小到大排列):n);order_name();break; case 2:printf(n按基本工資排序為(由高到低排列):n);order_wages();break; case 3:system(cls);main();break; default:break; system(cls); /*/void order_name()/*按姓名排序函數(shù)*/int i,j,k; int m=load(); for(i=0;im-1;i+) for(j=0;j0) work1=workj;workj=workj+1;workj+1=work1; baocun(m);printf(n職工號t姓名t職稱t基本工資t獎金t實際工資t生日 t學(xué)歷t電話t 地址 n);for(j=0;jm;j+) printf(n %dt%st%st%dt%dt%dt%ldt%st%st%sn,workj.num,workj.name, workj.zhicheng,workj.wages,workj.reward,workj.salary,workj.birth,workj.xueli,workj.tele,workj.address );printf(返回排序函數(shù)請按1,返回主菜單請按2n); scanf(%d,&k); switch(k) case 1:order();break; case 2:system(cls); main();break; default:break; system(cls);/*/void order_wages()/*按基本工資排序函數(shù)*/int i,k,j; int m=load(); for(i=0;im-1;i+) for(j=0;jm-1-i;j+) if(workj.wagesworkj+1.wages)/*用冒泡法排序*/ work1=workj;workj=workj+1;workj+1=work1; baocun(m);printf(n職工號t姓名t職稱t基本工資t獎金t實際工資t生日t學(xué)歷t電話t地址 n);for(j=0;jm;j+) printf(n %dt%st%st%dt%dt%dt%ldt%st%st%sn,workj.num,workj.name, workj.zhicheng,workj.wages,workj.reward,workj.salary,workj.birth,workj.xueli,workj.tele,workj.address );printf(返回排序函數(shù)請按1,返回主菜單請按2n); scanf(%d,&k); switch(k) case 1:order();break; case 2:system(cls); main();break; default:break; system(cls);/*/void add() /*添加函數(shù)*/ int n=load(); int i,m,t1,t2; printf(請輸入需要添加信息的職工人數(shù)n); scanf(%d,&m); for (i=n;im+n;i+) printf(請輸入職工號: ); scanf(%d,&worki.num); printf(n); printf(請輸入姓名: ); scanf(%s,worki.name); printf(請輸入職稱:0.職員1.主任 2.經(jīng)理3.總監(jiān) 4.董事長 ); printf(請輸入序號(0-4):); scanf(%d,&t1); if(t1=0)strcpy(worki.zhicheng,職員); if(t1=1)strcpy(worki.zhicheng,主任); if(t1=2)strcpy(worki.zhicheng,經(jīng)理); if(t1=3) strcpy(worki.zhicheng,總監(jiān)); if(t1=4) strcpy(worki.zhicheng,董事長); printf(請輸入基本工資: ); scanf(%d,&worki.wages); printf(請輸入獎金: ); scanf(%d,&worki.reward); printf(請輸入生日(格式如19900101): ); scanf(%d,&worki.birth); printf(請輸入學(xué)歷:1.高中2.大學(xué) 3.碩士 4.博士 ); printf(請輸入序號(1-4):); scanf(%d,&t2); if(t2=1)strcpy(worki.xueli,高中); if(t2=2)strcpy(worki.xueli,大學(xué)); if(t2=3) strcpy(worki.xueli,碩士); if(t2=4) strcpy(worki.xueli,博士); printf(請輸入電話:); scanf(%s,worki.tele); printf(請輸入地址:); scanf(%s,worki.address); getchar();system(cls); printf(n一個職工的信息檔案添加完畢!請輸入下一個職工的信息n); worki.salary=worki.wages + worki.reward; printf(n); baocun(m+n);system(cls); printf(添加職工檔案完成。n這時庫存信息為:n); scan();

注意事項

本文(C語言課程設(shè)計報告-職工信息管理系統(tǒng)1.doc)為本站會員(good****022)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!