C語言課程設(shè)計報告 (職工信息管理)
C課程設(shè)計C語言課程設(shè)計報告 題目:職工信息管理系統(tǒng) 學(xué) 院 信息工程 _ 專 業(yè) 計算機(jī)科學(xué)與技術(shù) _ 年級班別 一年級4班 _ 學(xué) 號 2012051449 _ 學(xué)生姓名 張 霞 _ 指導(dǎo)教師 丁富華 _ 成 績 _ 一、實(shí)驗報告實(shí)驗名稱:職工信息管理1.課程設(shè)計的目的:進(jìn)一步掌握和利用C語言進(jìn)行程設(shè)計的能力,理解和運(yùn)用結(jié)構(gòu)化程設(shè)計的思想和方法,熟練掌握條件語句、循環(huán)、數(shù)組、函數(shù)操作,初步掌握開發(fā)一個小型實(shí)用系統(tǒng)的基本方法,學(xué)會搞懂一個較長程序的基本方法和利用流程圖或N-S圖表示算法,將本課程所學(xué)的知識合理地運(yùn)用于實(shí)踐當(dāng)中。了解一些書上沒有的函數(shù)及使用方法。2.課程設(shè)計要求:語句簡練、清晰,盡量通俗易懂,使讀者一目了然。 3.設(shè)計題目分析:職工信息管理系統(tǒng)需要職工姓名、職工號、職工部門、工資、職位;主要運(yùn)用結(jié)構(gòu)體、循環(huán)結(jié)構(gòu)、函數(shù)、選擇結(jié)構(gòu)等C語言結(jié)構(gòu)描述的;在此系統(tǒng)中用了5個函數(shù)分別有:主函數(shù)MAIN();添加職工信息函數(shù)ADD();查找函數(shù)SEEK();顯示職工信息函數(shù)SHOW();刪除職工信息函數(shù)DELETE(),依此完成了職工信息管理系統(tǒng)中的各項操作。(1) 系統(tǒng)以菜單方式工作。(2) 職工信息輸入功能(職工信息用文件保存)輸入。(3) 職工信息瀏覽功能輸出。(4) 查詢功能(至少一種查詢方式)算法。(5) 按職工號查找 。(6) 某職工情況(可選項)。4.分析:由于題目要求將職工信息用結(jié)構(gòu)體形式輸入,并寫入文件中,所以應(yīng)提供文件的輸入輸出等操作:在過程中需有添加、查找、顯示、刪除學(xué)生選課信息等操作,顧應(yīng)分別建五個功能模塊;另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)程序運(yùn)行。5.課程的設(shè)計的內(nèi)容:主要是對職工管理系統(tǒng)進(jìn)行一系列的操作:有添加,查找,顯示,刪除操作。 總體設(shè)計:根據(jù)題目要求,可以將系統(tǒng)分為五個模塊:1) 系統(tǒng)以菜單方式工作模塊;2) 職工信息錄入功能模塊;3) 職工信息查詢功能模塊;4) 職工信息顯示模塊(按職工號查詢);5) 職工信息的刪除; 系統(tǒng)以菜單方式工作模塊職工信息錄入功能模塊職工信息的查詢模塊按職工號查詢的模塊職工信息顯示的模塊職工信息刪除的模塊職工信息管理系統(tǒng) 主流程圖:N結(jié)束判斷 顯示一系列功能選擇開始詳細(xì)設(shè)計:#include<stdio.h> #include<string.h> struct Staff char name10; int num; char apartment20; int salary; char duty20; person10; void Add() int t,i=0; do printf("增加職工信息時:n"); printf("請輸入職工姓名:"); scanf("%s",&personi.name); printf("請輸入職工號:"); scanf("%d",&personi.num); printf("請輸入職工部門:"); scanf("%s",&personi.apartment); printf("請輸入職工工資:"); scanf("%d",&personi.salary); printf("請輸入職工職位:"); scanf("%s",&personi.duty); printf("職工添加成功!"); i+; printf("是否還要添加?要添請輸入1不添請輸入0"); scanf("%d",&t); while(t);/執(zhí)行條件 void Seek() int m,i; printf("查找某個職員信息時:"); printf("請輸入你要查找的職工工號:"); scanf("%d",&m); for(i=0;i<10;i+) if(personi.num=m) printf("職工信息找到!信息如下:n"); printf("姓名t工號t部門t工資t職位n"); printf("%st%dt%st%dt%sn",personi.name,personi.num,personi.apartment,personi.salary,personi.duty); break; if(i=10) printf("職工信息找不到!n"); void Show() int i; printf("所有職工信息如下:n"); printf("姓名t工號t部門t工資t職位n"); for(i=0;i<10;i+) printf("%st%dt%st%dt%sn",personi.name,personi.num,personi.apartment,personi.salary,personi.duty); void Delete() int m,i,n,j; printf("刪除某個職員信息時:n"); printf("請輸入你要刪除的職員號:"); scanf("%d",&m); for(i=0;i<10;i+) if(personi.num=m) printf("職工信息找到!信息如下:n"); printf("姓名t工號t部門t工資t職位n"); printf("%st%dt%st%dt%sn",personi.name,personi.num,personi.apartment,personi.salary,personi.duty); break; printf("確定刪除嗎?確定刪除請輸入1不刪除請輸入0:n"); scanf("%d",&n); if(n) strcpy(personi.name,"0"); personi.num=0; strcpy(personi.apartment,"0"); personi.salary=0; strcpy(personi.duty,"0"); printf("刪除成功!"); printf("刪除成功后的職工信息如下:n"); printf("姓名t工號t部門t工資t職位n"); for(i=0;i<10;i+) printf("%st%dt%st%dt%sn",personi.name,personi.num,personi.apartment,personi.salary,personi.duty); /刪除某個職工信息 void exit() void main() int k; do printf(" - n"); printf(" 歡迎進(jìn)入公司職工信息管理程序 n"); printf(" - n"); printf("請選擇您的操作:n"); printf(" 1.增加職工信息;n"); printf(" 2.查找職工信息;n"); printf(" 3.顯示所有職工信息;n"); printf(" 4.刪除職工信息;n"); printf(" 0.退出。n"); printf("請選擇按鍵(0-4):"); scanf("%d",&k); 開始 switch(k) case 1:Add();break; case 2:Seek();break; case 3:Show();break;輸出 case 4:Delete();break; error:exit(); while(k);寫入文件并儲存輸入 結(jié)束6