c語言課程設(shè)計_第1頁
c語言課程設(shè)計_第2頁
c語言課程設(shè)計_第3頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、青島理工大學(xué)C語言程序設(shè)計題目職工考勤管理程序指導(dǎo)教師: 姓名: 學(xué)號: 班級:專業(yè):計算機(jī)工程地點:計算機(jī)工程學(xué)院機(jī)房時間:2014630 至 、內(nèi)容此系統(tǒng)以對職工考勤為背景,提供對職工信息、上下班時間的錄入、顯 示、查詢、刪除等功能。具體功能實現(xiàn)如下:1、職工信息新建:實現(xiàn)職工工號、姓名、順序號、上下班時間的錄入功能,并能將其以文件形式加以保存。2、考勤信息瀏覽:實現(xiàn)對全體職工所投的的考勤信息的瀏覽功能。3、查詢功能:實現(xiàn)按工號或姓名查詢職工一周的上下班時間的功能。4、刪除功能:實現(xiàn)對職工考勤信息的刪除管理。5、系統(tǒng)以菜單方式工作,界面清晰,易于操作。上機(jī)環(huán)境操作系統(tǒng):wi ndows x

2、p/8.1 開發(fā)工具:vc6.0三、函數(shù)調(diào)用關(guān)系圖四、各函數(shù)功能說明對每個函數(shù)功能加以說明,說明該函數(shù)主要實現(xiàn)了什么內(nèi)容 例如:1.mai n()主函數(shù)2.void in put();錄入函數(shù)3.void display。;顯示函數(shù)4.void searchO();查找函數(shù)5.void del();刪除函數(shù)五、算法描述或流程圖(或者進(jìn)行描述,或者繪出流程圖,例子見下)主函數(shù)歡迎界面程序王采單輸入要選擇的選項前的序號,給x賦值Switch。Case 條件CaselCase2Case3Case4Case5DefultIn put ()Display ()SearchO()Del()Exit()錄入

3、函數(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查詢文件的末尾,計算nRewind將指針指向文件開頭i<nfor循環(huán)i=0;fread讀取文件,printf輸出讀取到的文件i+;查詢函數(shù)定義局部變量打開文件Fseek查詢文件的末尾,計算 n (結(jié)構(gòu)體個數(shù))Rrewind將指針指向文件開頭i<nfor循環(huán)i=0;fread讀取文件,printf輸出

4、讀取到的文件i+;讀取顯示結(jié)束后,跳出循環(huán),在fclose關(guān)閉文件刪除函數(shù)定義局部變量打開文件Fseek查詢文件的末尾,計算 n (結(jié)構(gòu)體個數(shù))Rrewind將指針指向文件開頭i<nfor循環(huán)i=0;fread讀取文件,遍歷結(jié)構(gòu)體數(shù)組,找到信息并刪除i+;讀取顯示結(jié)束后,跳出循環(huán),在fclose關(guān)閉文件六、程序運行效果圖;歡迎界面主菜單靑輸入要選擇選項前的序號:錄入考勤信息姓名鍵維續(xù)輸入,按阿亭1L毎入:丄倔格事職工號.姓名 g勤生息錄入;小王伶回聿鍵継續(xù)輸入 按H停止輸入:職工號:102考勤>1棄單自a自一自一息 考考考考存 工工丄工保 眼職職職幷 人示找雷1 2 T- 4 5輸

5、入職二考勤信息I耐數(shù)上班時間12813072B0930順序數(shù)上班時間220130727O9Q0I麗數(shù)上班時間3201307200900顯示考勤信息下班時間201307261700下班時間201307271700下班時間2013072B170O考勤信息鬲王紅 姓wh. 號fl- 0 1 2 0 0 0 4 111上班時間20130726890020130V27090B2013H728R9fiHTW寸間2&13072G17&0201372717062813B72817Hfl按任意健返回三菓里查詢考勤信息請輸人查詢信息:2013 07270900職工號難蚩 順序數(shù)上班時間bWl

6、9;al101 小王 2201387270900201397271700按回車鍵M續(xù)查詢,按N停匕宜詢:刪除考勤信息考勤信息刪除-V-比雇功此鏈項如人功能刖的數(shù)字請輸入刪除職工的具伍條件:丄師刪除考勤信息成功職工信息-刪除成功苴他職工信息有:職工號姓名 取序數(shù)上班時間F班時間101 I 王 220130727B900201307271700七、總結(jié)通過這次做 C 語言課設(shè), 我發(fā)現(xiàn)這學(xué)期在老師那學(xué)的只是一些皮毛而已。編程的知識博大精深,還有許許多多的函 i 數(shù)我都不知 j 道,不會用,在今后自己還要不斷 i 的學(xué)習(xí)。通過這幾天做課設(shè), 我體會到這個過程是艱辛并快樂著的, 這個過程中充滿了編程的

7、樂 趣。每次為如何把實際中的問題轉(zhuǎn)化為計算機(jī)可以識別的語言而苦惱、煩躁, 不停的在圖書館和網(wǎng)上查找自己需要的資料, 可是一旦自己把程序編出來了, 并在計算機(jī)上運行通過, 自 己心里又是快樂的, 有一種巨大的成就感回蕩在心頭, 把坐在電腦前幾個小時的苦和累都忘 了。這次課設(shè), 是我自己第一次靠自己編出來的一個完整的程序, 我會把這個程序一直的保 存著,隨著我今后在編程方面的學(xué)習(xí)加深, 我會自己慢慢的改進(jìn)它, 讓它見證我的成長歷程。 總言而之,這幾天做課設(shè)我過得非常的充實,也讓我學(xué)習(xí)到了很多。八、參考文獻(xiàn)1 李春葆等 C 語言程序設(shè)計清華大學(xué)出版社, 20112 譚浩強(qiáng) C 程序設(shè)計(第三版) 清

8、華大學(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ù)struct workerr/結(jié)構(gòu)體變量聲明char no10;char name10;int number;char go14;char back14;struct worker flN;/定義結(jié)構(gòu)體數(shù)組int n;int

9、 main()int x; char ch;doprintf("nttt=nttttnnnn"); printf(" 歡迎使用職工考勤管理系統(tǒng) nn"); printf("n 編 程 者nnn");printf("*按任意鍵繼續(xù)*nnn");ch=getch(); while(!ch); system("cls");dohaha:printf(" n");printf(" 菜單 n"); printf("nn")printf("

10、;tttt1. 錄入職工考勤信息 n");printf("tttt2. 顯示職工考勤信息 n");printf("tttt3. 查找職工考勤信息 n");printf("tttt4. 刪除職工考勤信息 n");printf("tttt5. 退出并保存 n"); printf(" 請輸入要選擇選項前的序號: ");scanf("%d",&x);getchar();system("cls");switch(x)case 1:input();b

11、reak;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 *fp;/定義 FLIe 文件操作指針職工考勤信息管理 .txt","ab+")=NULL) 職工考勤信息管理 .txt","wb+")=NULL)printf(" 不能建立文件! n"); exit

12、(0); printf("nttt 輸入職工考勤信息 nn"); doprintf(”輸入格式:職工號t姓名t順序數(shù)t上班時間t下班時間n”);printf(" 考勤信息錄入 :");scanf("%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

13、("n");getchar();ch=getch();i+;while(ch!='n'&&ch!='N'); fclose(fp);n=i;system("cls");void display()/顯示函數(shù)int i;char ch;FILE *fp;職工考勤信息管理 .txt","rb+")=NULL)printf(" 不能打開文件! n");exit(1);fseek(fp,0,2); / 將文件指針移到文件尾 n=ftell(fp)/sizeof(st

14、ruct worker);do printf("n");printf("ttt 考勤信息 n");printf("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ù),存入 fliprintf("tt%st%st

15、%dt%st%sn",fli.no,,fli.number,fli.go,fli.back); printf("nntt 按任意鍵返回主菜單 nntt "); ch=getch();while(!ch);fclose(fp); system("cls");void search() / 查找函數(shù)int x,k=0,i;char z20,sN20,ch;FILE *fp;職工考勤信息管理 .txt","rb+")=NULL)printf(" 不能打開文件! n");exit(1);

16、 fseek(fp,0,2);n=ftell(fp)/sizeof(struct worker);do haha: printf("ttt 考勤信息查詢 n"); printf("ttt1. 按職工號查詢 n");printf("ttt2. 按姓名查詢 n"); printf("ttt3. 按上班時間查詢 n");printf("ttt4. 按下班時間查詢 n");printf("ttt5. 返回主菜單 n");printf("ttt6. 退出并保存 nn"

17、;);printf("ttt 選擇功能選項 (輸入功能前的數(shù)字 ) nn"); printf("ttt");scanf("%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

18、 5: goto ap;case 6: exit(0);default:goto haha;doprintf("nnttt 請輸入查詢信息: "); gets(z);for(i=0;i<n;i+) if(!strcmp(si,z)k+; printf("n");printf("tt 職工號 t 姓名 t 順序數(shù) t 上班時間 t 下班時間 n"n");printf("tt%st%st%dt%st%sn",fli.no,,fli.number,fli.go,fli.back); pri

19、ntf(" if(k=0)printf("nttt 沒有此職工信息 !");printf("nnnt 按回車鍵繼續(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;職工考勤信息管理 .txt",

20、"rb")=NULL) printf("t>> 不能創(chuàng)建文件 n"); exit(0);fseek(fp,0,2); n=ftell(fp)/sizeof(struct worker);fclose(fp); 職工考勤信息管理 .txt","wb");printf("n");printf("ttt 考勤信息刪除 n"); printf("tttnn");printf("ttt1. 按職工號刪除 n");printf("ttt2. 按姓名刪除 n");printf("ttt3. 按上班時間刪除 n"); printf("ttt4. 按下班時間刪除 n");printf("ttt 選擇功能選項 ( 輸入功能前的數(shù)字 ) nn"); printf("nttt");scanf("%d",&l);getchar();/存放回車符printf(" 請輸入刪除職工的具體條件 :");scanf("%s",m); / 輸入的具體條件存入 m 數(shù)組 getchar();s

溫馨提示

  • 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

提交評論