数据结构课程设计_职工信息管理系统_单链表实现程序源代码
int count=0; /*保存文件中的记录条数(或结点个数)*/ struct node *p,*r; /*定义记录指针变量*/
printf(\职工信息管理系统\\n\\t\\t\\t\\t\\n\
list=(struct node*)malloc(sizeof(struct node));
if(!list) {
printf(\如没有申请到,打印提示信息*/
return ; /*返回主界面*/ }
list->next=NULL; r=list;
fp=fopen(\ if(fp==NULL) {
printf(\提示:文件还不存在,是否创建?(y/n)\\n\ scanf(\ if(ch=='y'||ch=='Y')
fp=fopen(\ else
exit(0);
} // if(fp==NULL)
printf(\提示:文件已经打开,正在导入记录......\\n\
while(!feof(fp)) //没有到文件尾时,循环 {
p=(struct node*)malloc(sizeof(struct node)); if(!p) {
printf(\没有申请成功*/ exit(0); /*退出*/ }
if(fread(p,sizeof(struct node),1,fp)) /* 读文件的已有内容放入结点中 */ {
p->next=NULL; r->next=p;
16 / 18
数据结构课程设计_职工信息管理系统_单链表实现程序源代码
r=p; /* 将该结点挂入链表中, r指向最后的节点 */ count++; }
} //while(!feof(fp))
fclose(fp); /* 关闭文件 */
printf(\提示:记录导入完毕,共导入%d条记录.\\n\
while(1) {
menu();
printf(\请选择:\ scanf(\
if(choose==0) {
if(saveflag==1) {
getchar();
printf(\提示:资料已经改动,是否将改动保存到文件中(y/n)?\\n\
scanf(\
if(ch=='y'||ch=='Y') Save(list); } //if
printf(\提示:你已经退出系统,再见!\\n\ break; }//if
switch(choose) {
case 1:Add(list);
break; /* 增加职工记录 */ case 2:
Del(list);
break;/* 删除职工记录 */ case 3:
Qur(list);
break;/* 查询职工记录 */ case 4:
Modify(list);
17 / 18
数据结构课程设计_职工信息管理系统_单链表实现程序源代码
break;/* 修改职工记录 */ case 5:
Insert(list);
break;/*插入职工记录*/ case 6:
Tongji(list);
break;/*统计职工记录*/ case 7:
Sort(list);
break;/*排序职工记录*/ case 8:
Save(list);
break;/* 保存职工记录 */ case 9:
system(\ Disp(list);
break; /*显示职工记录*/ default: Wrong(); getchar(); break;
} //switch(choose) }//while(1) } //main() /* */
18 / 18