91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 255KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-20
  • 語言: 其他
  • 標簽: c語言??

資源簡介

簡單的職工管理系統,內含源代碼和文檔 簡單的職工管理系統主要實現以下功能: (1) 新增一名職工:將新增職工對象按姓名以字典方式職工管理文件中。 (2) 刪除一名職工:從職工管理文件中刪除一名職工對象。 (3) 查詢:從職工管理文件中查詢符合某些條件的職工。 (4) 修改:檢索某個職工對象,對其某些屬性進行修改。 (5) 排序:按某種需要對職工對象文件進行排序。 要求:職工信息包括姓名、性別、出生年月、工作年月、學歷、職務、住址、電話等信息。 實現提示: (1) 由鍵盤輸入職工對象,以文件方式保存。程序執行時先將文件讀入內存。 (2) 對職工對象中的"姓名"按字典順序進行排序。 (3) 對排序后的職工對象進行增、刪、查詢、修改、排序等操作。

資源截圖

代碼片段和文件信息

/*
單的職工管理系統(數據結構課程設計)
aa?a?32543?453254?aaa?aaaa?aaaaa?4365357
bb?b?52654?654365?bbb?aaaa?bbbbb?5365463
cc?a?54325?546354?aaa?bbbb?ccccc?4354365
dd?b?43543?435465?bcb?dddd?ccccc?1351512
ee?a?23611?151312?bbb?cccc?bbbbb?1531515
ff?b?53111?151515?fff?ffff?fffff?1561561
gg?b?53111?435465?aaa?bbbb?fffff?4454564?

??簡單的職工管理系統主要實現以下功能:
??(1)????新增一名職工:將新增職工對象按姓名以字典方式職工管理文件中。
??(2)????刪除一名職工:從職工管理文件中刪除一名職工對象。
??(3)????查詢:從職工管理文件中查詢符合某些條件的職工。
??(4)????修改:檢索某個職工對象,對其某些屬性進行修改。
??(5)????排序:按某種需要對職工對象文件進行排序。
??要求:職工信息包括姓名、性別、出生年月、工作年月、學歷、職務、住址、電話等信息。
??實現提示:
??(1)????由鍵盤輸入職工對象,以文件方式保存。程序執行時先將文件讀入內存。
??(2)????對職工對象中的“姓名“按字典順序進行排序。
??(3)????對排序后的職工對象進行增、刪、查詢、修改、排序等操作。
*/
#include?
#include?
#include?
#include?
#define?ALLMAX?100?//總共統計的職工的人數


typedef?struct?Node
{
long?int?born_timework_timetele_num;
char?sexname[ALLMAX]degree[ALLMAX]job[ALLMAX]address[ALLMAX];
struct?Node?*next;
}SLNode;


typedef?struct{
long?int?born_timework_timetele_num;
char?name[ALLMAX]sexdegree[ALLMAX]job[ALLMAX]address[ALLMAX];
}DataType;


void?ListInitiate(SLNode?**head)//---------------------------------鏈表初始化
{
if((*head=(SLNode?*)malloc(sizeof(SLNode)))==NULL)?exit(1);//動態分配存儲空間
(*head)->next=NULL;
}



SLNode?*ListInsert(SLNode?*headDataType?x)//-------------------職工信息的插入姓名并按照升序排列
{
SLNode?*p*q*s;
p=head->next;
if((q=(SLNode?*)malloc(sizeof(SLNode)))==NULL)?exit(1);//動態分配存儲空間
q->born_time=x.born_time;?q->work_time=x.work_time;
q->tele_num=x.tele_num;?strcpy(q->namex.name);
q->sex=x.sex;?strcpy(q->degreex.degree);
strcpy(q->jobx.job);?strcpy(q->addressx.address);
if(head->next==NULL){//如果只有鏈表的頭結點,沒有其他的結點,直接插入在頭結點后面
head->next=q;
head->next->next=NULL;
}
else{//鏈表非空
for(;p;p=p->next){
if(p->next!=NULL){
if(strcmp(p->namex.name)<0&&strcmp(p->next->namex.name)>0){//位于兩個結點之間
s=p->next;
p->next=q;
q->next=s;
break;
}
//else?if(strcmp(p->namex.name)==0)break;???//如果姓名相同則不插入信息
}
else?if(strcmp(p->namex.name)<0&&p->next==NULL){//鏈表非空,并且在排序中是最后一個
p->next=q;
q->next=NULL;
break;
}
if(strcmp(p->namex.name)>0){//位于鏈表頭結點之后的位置
s=head->next;
head->next=q;
q->next=s;
break;
}
}
}
return?head;
}



void?ListDelete(SLNode?*head)//-----------------------------職工信息的刪除
{
SLNode?*p*s;
char?x[20];
s=head;
p=head->next;
if(head->next==NULL){//鏈表為空,輸出:名單中無職工信息,無須刪除!
printf(“名單中無職工信息,無須刪除!\n“);
return;
}
printf(“請輸入要刪除職工的姓名:\n“);?//輸入要刪除的人的姓名
scanf(“%s“x);
for(p;p;p=p->next){//在鏈表中從頭到尾查找輸入的人的姓名
if(strcmp(p->namex)==0){ //如果存在,則刪除,否則輸出:名單中無職工信息,無須刪除!
s->next=p->next;
free(p);
printf(“刪除成功!請繼續操作!\n“);
break;
}
s=p;
}
if(p==NULL){//鏈表本身為空
printf(“名單中無職工信息,無須刪除!\n“);
}
}



void?ListModify(SLNode?*head)//------------------------職工信息的修改
{
DataType?x;
SLNode?*p;
p=head->next;
if(p

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????642560??2010-01-09?10:44??簡單的職工管理系統\簡單的職工管理系統報告.doc

?????文件??????18168??2010-01-08?21:24??簡單的職工管理系統\職工管理.cpp

?????目錄??????????0??2010-03-20?19:15??簡單的職工管理系統

-----------?---------??----------?-----??----

???????????????660728????????????????????3


評論

共有 條評論