-
大小: 1.73MB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2023-09-27
- 語(yǔ)言: C/C++
- 標(biāo)簽:
資源簡(jiǎn)介
1.1問題描述
對(duì)單位的職工進(jìn)行管理,包括插入、刪除、查找、排序等功能。
1.2要求
職工對(duì)象包括工號(hào)、姓名、性別、出生年月、工作年月、學(xué)歷、職務(wù)、住址、電話等信息。
(1)新增一名職工:將新增職工對(duì)象按姓名以字典方式存入職工管理文件中。
(2)刪除一名職工:從職工管理文件中刪除一名職工對(duì)象。
(3)查詢:從職工管理文件中查詢符合某些條件的職工。
(4)修改:檢索某個(gè)職工對(duì)象,對(duì)其某些屬性進(jìn)行修改。
(5)排序:按某種需要對(duì)職工對(duì)象文件進(jìn)行排序。
1.3實(shí)現(xiàn)提示
職工對(duì)象數(shù)不必很多,便于一次讀入內(nèi)存,所有操作不經(jīng)過內(nèi)外存交換。
(1)由鍵盤輸入職工對(duì)象,以文件方式保存。程序執(zhí)行時(shí)先將文件讀入內(nèi)存。
(2)對(duì)職工對(duì)象中的"姓名"按字典順序進(jìn)行排序。
(3)對(duì)排序后的職工對(duì)象進(jìn)行增加、刪除、查詢、修改、排序等操作。

代碼片段和文件信息
#include
#include
#include
#include?
#define?I?100
static?char?tempstr[20];??/*用于臨時(shí)存儲(chǔ)輸入信息的數(shù)組*/
static?struct?staff
{
?int?num;
?char?name[20];
?char?sex;
?long?byear;//birth?year?出生年月
?long?iyear;//imploy?year?工作年月
?char?education[20];
?char?duty[20];
?char?address[20];
?char?phone[20];
?struct?staff?*next;
}*head=NULL*thisn*newnsta[I]={0}temp;?????/*temp用于交換的中間量*/
void?cin(void);??????????/*輸入信息*/
int?identify(int?num);???/*對(duì)職工號(hào)是否重復(fù)進(jìn)行驗(yàn)證*/
void?cout(void);?????????/*輸出信息*/
void?seek(void);?????????/*查詢排序*/
void?del(void);??????????/*刪除職工信息*/
int?record(void);?????????/*將文件中的數(shù)據(jù)錄入結(jié)構(gòu)體數(shù)組中*/
void?iyear(int?j);????????/*按工作年月排序*/
void?education(int?j);?????/*按學(xué)歷排序*/
void?modify(void);???????/*修改職工信息*/?
void?descending(void);??????/*學(xué)歷降序輸出*/?
void?ascending(void);??????/*學(xué)歷升序輸出*/
void?printmsg(int?i);??????/*輸出信息*/
int?main(void)
{
?int?flag=1;
?while(flag)
?{
??system(“cls“);?????????????/*清屏*/
??printf(“?????????????????????????歡迎登陸職工信息管理系統(tǒng)!\n“);?
??printf(“????????????【1】?輸入職工信息????????????【2】?輸出職工信息\n“);
??printf(“????????????【3】?信息查詢排序????????????【4】?刪除職工信息\n“);
??printf(“????????????【5】?修改職工信息??????????????????????????????\n“);??????
??printf(“請(qǐng)輸入以上數(shù)字,選擇相應(yīng)的功能:?“);
??switch?(getchar())
??{
????case?‘1‘:cin();break;????????/*調(diào)用輸入信息的函數(shù)*/
????case?‘2‘:cout();break;???????/*調(diào)用輸出信息的函數(shù)*/
????case?‘3‘:seek();break;???????/*調(diào)用排序的函數(shù)*/
????case?‘4‘:del();break;?????????/*調(diào)用刪除職工信息函數(shù)*/
????case?‘5‘:modify();break;?????/*調(diào)用修改職工信息的函數(shù)*/
????default:flag=0;break;???????/*跳出循環(huán)體,結(jié)束程序*/
??}
?}
?return?0;
}
void?cin(void)????????????????????/*輸入信息的函數(shù)*/
{
?FILE?*fp;
?int?receive;???????????????/*接收返回值*/
?if((fp=fopen(“information.txt““a+“))==NULL)???/*為讀寫打開一個(gè)文本文件*/
??{
????printf(“文件打開錯(cuò)誤\n“);
????exit(1);????/*關(guān)閉所有文件,終止正在執(zhí)行的程序,待用戶檢查出錯(cuò)誤,修改后再運(yùn)行*/
??}
?newn=(struct?staff?*)malloc(sizeof(struct?staff));
?if(head==NULL)?????????????????????????/*連接鏈表*/
??{
????head=newn;
????thisn=newn;
????thisn->next=NULL;
??}
?else
??{
????thisn=head;
????while(thisn->next!=NULL)
??????thisn=thisn->next;
????thisn->next=newn;
????thisn=newn;
??}
?getchar();?????????????????????????????/*接收緩沖區(qū)中選擇菜單時(shí)多余的回車*/
?fputc(‘\n‘fp);?????????????????????????/*每次記錄信息前先換行*/
?printf(“請(qǐng)輸入職工號(hào):“);
?gets(tempstr);
thisn->num=atoi(tempstr);???????????/*atoi()將字符串轉(zhuǎn)換成整型數(shù)*/
?receive=identify(thisn->num);
?while(receive)
????{
???? ?printf(“請(qǐng)輸入職工號(hào):“);
???? ?gets(tempstr);thisn->num=atoi(tempstr);
???? ?receive=identify(thisn->num);
????}
?fputs(tempstrfp);
?fputs(“?????“fp);?????????????????/*信息排版的需要*/?
?
?printf(“請(qǐng)輸入姓名:“);
?gets(thisn->name);
?fputs(thisn->namefp);
?fputs(“?????“fp);
?
?printf(“請(qǐng)輸入性別(填F或M):“);
?thisn->sex=getchar();getchar();
?fputc(thisn->sexfp);
?fputs(“?????“fp);
?
?printf(“請(qǐng)輸入出生年月(如199001):“);
?gets(tempstr);thisn->byear=atoi(tempstr);
?fputs(tempstrfp);
?fputs(“?????“fp);
?
printf(“請(qǐng)輸入工作年月(如199001):“);
?gets(temp
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-12-19?22:22??職工管理系統(tǒng)PPT?WORD?C語(yǔ)言代碼\
?????文件???????17849??2011-12-06?15:01??職工管理系統(tǒng)PPT?WORD?C語(yǔ)言代碼\employee.c
?????文件??????304128??2011-12-19?22:22??職工管理系統(tǒng)PPT?WORD?C語(yǔ)言代碼\職工管理系統(tǒng).doc
?????文件?????1935360??2011-12-19?22:22??職工管理系統(tǒng)PPT?WORD?C語(yǔ)言代碼\職工管理系統(tǒng).ppt
評(píng)論
共有 條評(píng)論