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

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上青島理工大學(xué)C語言程序設(shè)計(jì)題目 職工考勤管理程序 指導(dǎo)教師: 姓名: 學(xué)號: 班級: 專業(yè): 計(jì)算機(jī)工程 地點(diǎn): 計(jì)算機(jī)工程學(xué)院機(jī)房 時間: 2014.6.30 至 2014.7.4 一、內(nèi)容此系統(tǒng)以對職工考勤為背景,提供對職工信息、上下班時間的錄入、顯示、查詢、刪除等功能。具體功能實(shí)現(xiàn)如下:1、 職工信息新建:實(shí)現(xiàn)職工工號、姓名、順序號、上下班時間的錄入功能,并能將其以文件形式加以保存。2、 考勤信息瀏覽:實(shí)現(xiàn)對全體職工所投的的考勤信息的瀏覽功能。3、 查詢功能:實(shí)現(xiàn)按工號或姓名查詢職工一周的上下班時間的功能。4、 刪除功能:實(shí)現(xiàn)對職工考勤信息的刪除管理。5、 系統(tǒng)

2、以菜單方式工作,界面清晰,易于操作。二、上機(jī)環(huán)境操作系統(tǒng):windows xp/8.1開發(fā)工具:vc6.0三、函數(shù)調(diào)用關(guān)系圖 錄入函數(shù) input()主函數(shù)顯示函數(shù) display()查詢函數(shù) search0()刪除函數(shù) del()四、各函數(shù)功能說明對每個函數(shù)功能加以說明,說明該函數(shù)主要實(shí)現(xiàn)了什么內(nèi)容。例如:1 main()主函數(shù)2. void input();錄入函數(shù)3. void display();顯示函數(shù)4. void search0();查找函數(shù)5. void del();刪除函數(shù)五、算法描述或流程圖(或者進(jìn)行描述,或者繪出流程圖,例子見下)主函數(shù) 歡迎界面程序 主菜單輸入要選擇的選

3、項(xiàng)前的序號,給x賦值 Switch() Case條件Case1Case2Case3Case4Case5DefultInput()Display()Search0()Del()Exit()錄入函數(shù) 定義局部變量i,x 打開文件打不開文件(x!=n) Do-while循環(huán) Scanf輸入職工信息進(jìn)入結(jié)構(gòu)Fwrite把輸入的職工信息寫入文件 輸入結(jié)束標(biāo)記x(是n就結(jié)束,否則繼續(xù)輸入),判斷是否跳出循環(huán)輸出“打不開文件”顯示函數(shù) 定義局部變量i 打開文件 Fseek查詢文件的末尾,計(jì)算n Rewind將指針指向文件開頭i<n for循環(huán) i=0; fread讀取文件,printf輸出讀取到的文件

4、 i+; 查詢函數(shù) 定義局部變量 打開文件 Fseek查詢文件的末尾,計(jì)算n(結(jié)構(gòu)體個數(shù)) Rrewind將指針指向文件開頭i<n for循環(huán) i=0; fread讀取文件,printf輸出讀取到的文件 i+; 讀取顯示結(jié)束后,跳出循環(huán),在fclose關(guān)閉文件刪除函數(shù) 定義局部變量 打開文件 Fseek查詢文件的末尾,計(jì)算n(結(jié)構(gòu)體個數(shù)) Rrewind將指針指向文件開頭i<n for循環(huán) i=0; fread讀取文件,遍歷結(jié)構(gòu)體數(shù)組,找到信息并刪除 i+; 讀取顯示結(jié)束后,跳出循環(huán),在fclose關(guān)閉文件六、程序運(yùn)行效果圖;歡迎界面主菜單錄入考勤信息顯示考勤信息查詢考勤信息刪除考

5、勤信息刪除考勤信息成功七、總結(jié)通過這次做C語言課設(shè),我發(fā)現(xiàn)這學(xué)期在老師那學(xué)的只是一些皮毛而已。編程的知識博大精深,還有許許多多的函i數(shù)我都不知j道,不會用,在今后自己還要不斷i的學(xué)習(xí)。通過這幾天做課設(shè),我體會到這個過程是艱辛并快樂著的,這個過程中充滿了編程的樂趣。每次為如何把實(shí)際中的問題轉(zhuǎn)化為計(jì)算機(jī)可以識別的語言而苦惱、煩躁,不停的在圖書館和網(wǎng)上查找自己需要的資料,可是一旦自己把程序編出來了,并在計(jì)算機(jī)上運(yùn)行通過,自己心里又是快樂的,有一種巨大的成就感回蕩在心頭,把坐在電腦前幾個小時的苦和累都忘了。這次課設(shè),是我自己第一次靠自己編出來的一個完整的程序,我會把這個程序一直的保存著,隨著我今后在編

6、程方面的學(xué)習(xí)加深,我會自己慢慢的改進(jìn)它,讓它見證我的成長歷程??傃远@幾天做課設(shè)我過得非常的充實(shí),也讓我學(xué)習(xí)到了很多。八、參考文獻(xiàn)1 李春葆等C語言程序設(shè)計(jì)清華大學(xué)出版社,20112 譚浩強(qiáng)C程序設(shè)計(jì)(第三版)清華大學(xué)出版社,2005九、程序清單#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h> /頭文件聲明#define N 50void input();void display();void search();void del(); /定義函數(shù)str

7、uct worker /結(jié)構(gòu)體變量聲明 char no10; char name10; int number; char go14; char back14;struct worker flN; /定義結(jié)構(gòu)體數(shù)組int n;int main() int x; char ch; do printf("nttt=nttttnnnn"); printf(" 歡迎使用職工考勤管理系統(tǒng) nn"); printf("n 編程者: nnn"); printf(" *按任意鍵繼續(xù)*nnn"); ch=getch(); while(

8、!ch); system("cls"); do haha: printf(" -n"); printf(" 菜單 n"); printf(" _nn");printf("tttt1.錄入職工考勤信息n"); printf("tttt2.顯示職工考勤信息n");printf("tttt3.查找職工考勤信息n");printf("tttt4.刪除職工考勤信息n");printf("tttt5.退出并保存n");print

9、f("請輸入要選擇選項(xiàng)前的序號:"); scanf("%d",&x); getchar(); system("cls"); switch(x) case 1: input();break; case 2: display();break; case 3: search();break; case 4: del();break; case 5: exit(0); default: goto haha; while(1); return 0; void input() /錄入函數(shù) int i=0; char ch; FILE *f

10、p; /定義FLIe文件操作指針 if(fp=fopen("C:職工考勤信息管理.txt","ab+")=NULL) if(fp=fopen("C:職工考勤信息管理.txt","wb+")=NULL) printf("不能建立文件!n"); exit(0); printf("nttt 輸入職工考勤信息 nn"); do printf(" 輸入格式:職工號t姓名t順序數(shù)t上班時間t下班時間n"); printf("考勤信息錄入:"); s

11、canf("%s%s%d%s%s",fli.no,,&fli.number,fli.go,fli.back); fwrite(&fli,sizeof(struct worker),1,fp); /將結(jié)構(gòu)體數(shù)組內(nèi)容內(nèi)容寫到文件中 printf("按回車鍵繼續(xù)輸入,按N停止輸入:n"); printf("n"); getchar(); ch=getch(); i+; while(ch!='n'&&ch!='N'); fclose(fp); n=i; syste

12、m("cls");void display() /顯示函數(shù) int i; char ch; FILE *fp; if(fp=fopen("C:職工考勤信息管理.txt","rb+")=NULL) printf("不能打開文件!n"); exit(1); fseek(fp,0,2); /將文件指針移到文件尾 n=ftell(fp)/sizeof(struct worker); do printf("n"); printf("ttt 考勤信息 n"); printf("

13、ttt nn"); printf("tt職工號t姓名t順序數(shù)t上班時間t下班時間n"); rewind(fp); for(i=0;i<n;i+) fread(&fli,sizeof(struct worker),1,fp); /從文件指針fp讀取一個size為sizeof(struct worker)的數(shù)據(jù),存入fli printf("tt%st%st%dt%st%sn",fli.no,,fli.number,fli.go,fli.back); printf("nntt 按任意鍵返回主菜單nntt &qu

14、ot;); ch=getch(); while(!ch); fclose(fp); system("cls");void search() /查找函數(shù) int x,k=0,i; char z20,sN20,ch;FILE *fp; if(fp=fopen("C:職工考勤信息管理.txt","rb+")=NULL) printf("不能打開文件!n"); exit(1); fseek(fp,0,2); n=ftell(fp)/sizeof(struct worker); do haha: printf("t

15、tt 考勤信息查詢 n"); printf("ttt1.按職工號查詢n");printf("ttt2.按姓名查詢n");printf("ttt3.按上班時間查詢n"); printf("ttt4.按下班時間查詢n");printf("ttt5.返回主菜單n"); printf("ttt6.退出并保存nn"); printf("ttt 選擇功能選項(xiàng)(輸入功能前的數(shù)字) nn");printf("ttt"); scanf(&quo

16、t;%d",&x); getchar(); system("cls");for(i=0;i<n;i+) switch(x) case 1:strcpy(si,fli.no);break; case 2: strcpy(si,);break; case 3: strcpy(si,fli.go);break; case 4: strcpy(si,fli.back);break; case 5: goto ap; case 6: exit(0); default: goto haha; do printf("nnttt請輸入查詢信

17、息: "); gets(z); for(i=0;i<n;i+) if(!strcmp(si,z) k+; printf(" -n"); printf("tt職工號t姓名t順序數(shù)t上班時間t下班時間n"); printf("tt%st%st%dt%st%sn",fli.no,,fli.number,fli.go,fli.back); printf(" -n"); if(k=0) printf("nttt沒有此職工信息!"); printf("nnnt按回車

18、鍵繼續(xù)查詢,按N停止查詢:"); ch=getch();while(ch!='N'&&ch!='n'); system("cls"); while(1);fclose(fp); ap: system("cls");void del() /刪除函數(shù)char st20,m20; int i,j,l;FILE *fp; if (fp=fopen("C:職工考勤信息管理.txt","rb")=NULL) printf("t>>不能創(chuàng)建文件n&q

19、uot;); exit(0); fseek(fp,0,2);n=ftell(fp)/sizeof(struct worker); fclose(fp);fp=fopen("C:職工考勤信息管理.txt","wb"); printf("n"); printf("ttt 考勤信息刪除n"); printf("tttnn"); printf("ttt1.按職工號刪除n");printf("ttt2.按姓名刪除n");printf("ttt3.按上班時間

20、刪除n"); printf("ttt4.按下班時間刪除n"); printf("ttt 選擇功能選項(xiàng)(輸入功能前的數(shù)字) nn");printf("nttt"); scanf("%d",&l); getchar();/存放回車符printf("請輸入刪除職工的具體條件:"); scanf("%s",m); /輸入的具體條件存入m數(shù)組getchar(); system("cls"); printf("ttt n");print

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論