decrease-416
#include
#include
#include
struct
personal//
定义一个结构体
{
char bh[5];
char
name[10];
char sex[5];
char adds[20];
char tele[15];
char QQ[11];
p>
}per[1000],p;//
申请
10
00
个空间
//
第一模块
void cj()//
创建管理系统
{
FILE
*fp;//
定义文件指针
int i,n;
if((fp=fopen(
//<
/p>
判断文件是否打开,
wb
为输出打开一个
二进制文件
{
printf(
}
printf(
< br>请输入新建管理系统的人数:
scanf(
输入要创建的人数
for(i=1;i<=n;i++)
{
<
/p>
printf(
请输入第
%d
个人的信息
n
printf(
编号
:
scanf(
printf(
姓名:
scanf(
printf(
性别:
scanf(
printf(
房间号:
scanf(
printf(
电话:
scanf(
printf(
号:
scanf(
fwrite(&per[i],sizeof(struct
personal),1,fp);
}
fclose(fp);
printf(
请按回车键返回主菜
单!
getchar();//
接收上一个回车键
p>
getchar();//
使程序到此处暂停,等待输入。
system(
清屏
}
//
第二模块
void
add()//
增加迁入人员
{
FILE *fw;
char sign='Y';
char bh[5];
int i=0,x=0;
printf(
请输入增加人员的编
号:
scanf(
if((fw=fopen(
{
printf(
}
while(!feof(fw))
{
i++;
fread(&per[i],sizeof(struct
personal),1,fw);
if(strcmp(bh,per[i].bh)==0)
x=1;
}fclose(fw);
p>
if((fw=fopen(
向二进制文件尾添加数据
{
printf(
}
if(x!=1)
{
while(sign=='Y'||sign=='y')
{
printf(
编号
:
scanf(
printf(
姓名:
scanf(
printf(
性别:
scanf(
printf(
房间号:
scanf(
printf(
电话:
scanf(
printf(
号:
scanf(
fwrite(&p,sizeof(struct
personal),1,fw);
printf(
是否继续添加?(
Y/N
< br>)
getchar();
scanf(
}
}
else
{
printf(
此编号已经存在
!n
printf(
目前编号已达到
:
%dn
getchar();
}
p>
printf(
请按回车返回主菜单!
p>
p>
//getchar();//
接收上一个回车键
< br>
getchar();//
使程序到
此处暂停,等待输入。
system(
清屏
fclose(fw);
}
//
第三模块
删除
void
del_cd()//
定义一个小菜单
{
printf(
printf(
1.
按姓名删除
*n
printf(
2.
按编号删除
*n
printf(
0.
返回主菜单
*n
printf(
printf(
p>
请选择删除方式:
(
0-2
)
:
}
void
del_name()//
按姓名删除
{
char name[10];
int i=1;
int
x=0;
FILE *fr;
FILE *fw;
printf(
< br>请输入要删除人员的姓名:
scanf(
if((fw=fopen(
{
printf(
}
while(!feof(fw))
{
i++;
fread(&per[i],sizeof(struct
personal),1,fw);
if(strcmp(name,per[i].name)==0)
x=1;
}fclose(fw);
if((fw=fopen(
p>
为输出打开一个二进制文件
{
printf(
}
if(x==1)
{
if((fr=fopen(
{
printf(
}
while(!feof(fr))//
循环条件
//feof(fr)
表示如果文件结束,函数
feof(fr)
的值为
1
(真)
{
fread(&p,sizeof(struct
personal),1,fr);
p>
if(!feof(fr))//
判断是否指针在文件的最后,如果
在最后则不予执行
fwrite(&p,sizeof(struct
personal),1,fw);
}
fclose(fr);
fclose(fw);
remove(
if((fr=fopen(
{
printf(
}
if((fw=fopen(
{
printf(
}
int j=1;
p>
while(!feof(fr))//
循环条件
< br>
{
fread(&p,sizeof(struct personal),1,fr);
p>
if(!feof(fr))//
判断是否指针在文件的最后,如果
在最后则不予执行
{
if(strcmp(name,
)!=0)//
相等等于
0
{
fwrite(&p,sizeof(struct
personal),1,fw);//
符合条件的才复制
}
}
}
fclose(fr);
fclose(fw);
remove(
< br>printf(
已成功删除迁出人员。
nn
printf(
请按回车键上级菜单。
getchar();
getchar();
}
else
{
printf(
此人名不存在!
nn
printf(
请按回车键返回上级菜单。
getchar();
getchar();
}
system(
}
void
del_bh()//
按编号删除
{
char bh[5];
int i=1;
int
x=0;
FILE *fr;
FILE *fw;
printf(
< br>请输入删除人员的编号:
scanf(
if((fw=fopen(
{
printf(
}
while(!feof(fw))
{
i++;
fread(&per[i],sizeof(struct
personal),1,fw);
if(strcmp(bh,per[i].bh)==0)
x=1;
}fclose(fw);
if((fw=fopen(
p>
为输出打开一个二进制文件
{
printf(
}
if(x==1)
{
if((fr=fopen(
{
printf(
}
while(!feof(fr))//
循环条件
//feof(fr)
表示如果文件结束,函数
feof(fr)
的值为
1
(真)
{
fread(&p,sizeof(struct
personal),1,fr);
p>
if(!feof(fr))//
判断是否指针在文件的最后,如果
在最后则不予执行
fwrite(&p,sizeof(struct
personal),1,fw);
}
fclose(fr);
fclose(fw);
remove(
if((fr=fopen(
{
printf(
}
if((fw=fopen(
{
printf(
}
int j=1;
p>
while(!feof(fr))//
循环条件
< br>
{
fread(&p,sizeof(struct personal),1,fr);
p>
if(!feof(fr))//
判断是否指针在文件的最后,如果
在最后则不予执行
{
if(strcmp(bh,
)!=0)//
相等等于
0
{
fwrite(&p,sizeof(struct
personal),1,fw);//
符合条件的才复制
}
}
}
fclose(fr);
fclose(fw);
remove(
pri
ntf(
已成功删除迁出人员。
nn
printf(
请按回车键返回上级菜单。
getchar();
getchar();
}
else
{
printf(
此编号不存在!
nn
pri
ntf(
请按回车键上级主菜单。
getchar();
getchar();
}
system(
}
void
del()//
第三模块主函数
删除人员信息
{
int x=1;
while(0
{
del_cd();
scanf(
system(
if(0<=x&&x<3)
{
switch(x)
{
case 1:del_name();break;
case 2:del_bh();break;
case 0:;break;
}
}
else
{
pr
intf(
请正确输入
n
}
}
}
//
第四模块
void
xcd()//
定义一个小菜单
{
printf(
printf(
1.
按姓名查询
*n
printf(
2.
按性别查询
*n
printf(
3.
按编号查询
*n
printf(
0.
返回主菜单
*n
printf(
printf(
p>
请选择查询方式:
(
0-3
)
:
}
void
Queryname()//
按姓名查询
{
char name[10];
FILE *fr;int i=0,x=0;
printf
(
请输入要查询的姓名
:
scanf(
if((fr=fopen(
{
printf(
}
while(!feof(fr))
{
i++;
fread(&per[i],sizeof(struct
personal),1,fr);
if(strcmp(name,per[i].name)==0)
x=1;
}fclose(fr);
if((fr=fopen(
{
printf(
}
if(x==1)
{
while(!feof(fr))
{
i++;
fread(&per[i],sizeof(struct
personal),1,fr);
if(strcmp(name,per[i].name)==0)
x=1;
}fclose(fr);
if(x==1)
{
if((fr=fopen(
{
printf(
}
while(!feof(fr))
{
i++;
fread(&per[i],sizeof(struct
personal),1,fr);
if(strcmp(name, per[i].name)==0)
{
p>
printf(
编号
:
printf(
printf(
姓名:
printf(
printf(
性别:
printf(
printf(
房间号:
printf(
printf(
电话:
printf(
printf(
号:
printf(
}
}
fclose(fr);
}
printf(
< br>请按回车键返回上级菜单!
get
char();//
接收上一个回车键
getchar();//
使程序到
此处暂停,等待输入。
system(
清屏
}
else
{
printf(
此姓名不存在!
nn
pri
ntf(
请按回车键返回上级菜单!
getchar();
getchar();
system(
清屏
}
/*printf(
请按回车键返回上级菜单!
p>
getchar();//
接收上一个回车键
getchar();//
使程序到
此处暂停,等待输入。
system(
清屏
*/
}
void
Querysex()//
按性别查询
{
char sex[4];
FILE *fr;int x=0,i=0;
printf
(
请输入要查询的性别
:
scanf(
if((fr=fopen(
{
printf(
}
while(!feof(fr))
{
i++;
fread(&per[i],sizeof(struct
personal),1,fr);
if(strcmp(sex,per[i].sex)==0)
{
x=1;
}
}fclose(fr);
if(x==1)
{
if((fr=fopen(
{
printf(
}
while(!feof(fr))
{
i++;
fread(&per[i],sizeof(struct
personal),1,fr);
if(strcmp(sex, per[i].sex)==0)
{
p>
printf(
编号
:
printf(
printf(
姓名:
printf(
printf(
性别:
printf(
printf(
房间号:
printf(
printf(
电话:
printf(
printf(
号:
printf(
}
}
fclose(fr);
decrease-416
decrease-416
decrease-416
decrease-416
decrease-416
decrease-416
decrease-416
decrease-416
-
上一篇:英语常用量词
下一篇:小学三年级英语上册考试试题