| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 610 人关注过本帖
标题:帮忙读一下程序,个别看不懂
取消只看楼主 加入收藏
xynhhhg
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-12-28
结帖率:33.33%
收藏
已结贴  问题点数:5 回复次数:1 
帮忙读一下程序,个别看不懂
void modify()/*修改函数*/
{
int num;
char name[20];
char sex;
int age;
char xueli[30];
int wage;
 char addr[30];
 char tel[20];
 int b,c,i,n,t,flag;
 int m=load();
 printf("\n原来的职工信息:\n");
 display();
   printf("\n");
printf("请输入要修改的职工的姓名:\n");
    scanf("%s",name);
for(flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].name,name)==0)
 {
printf("\n已找到此人,原始记录为:\n");
printf("职工号\t姓名\t\t性别\t\t年龄\n");

printf("\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age);
printf("\n学历\t\t工资\t\t住址\t\t电话\n");
printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n确实要修改此人信息请按1  不修改请按0\n");
scanf("%d",&n);
if(n==1)
{
printf("\n需要进行修改的选项\n 1.职工号2.姓名3.性别4.年龄5.学历6.工资7.住址8.电话\n");
printf("请输入你想修改的那一项序号:\n");
scanf("%d",&c);
if(c>8||c<1)
printf("\n选择错误,请重新选择!\n");
}
flag=0;
}
}
if(flag==1)
printf("\n对不起,查无此人!\n");
do
{
switch(c)/*因为当找到第i个职工时,for语句后i自加了1所以下面的应该把改后的信息赋值给第i-1个人*/
{

case 1:printf("职工号改为: ");scanf("%d",&num); em[i-1].num=num;break;
case 2:printf("姓名改为: ");scanf("%s",name);strcpy(em[i-1].name,name);break;
case 3:printf("性别改为: ");getchar();scanf("%c",&sex);em[i-1].sex=sex;break;
case 4:printf("年龄改为: ");scanf("%d",&age);em[i-1].age=age;break;
case 5:printf("学历改为: ");scanf("%s",xueli);strcpy(em[i-1].xueli,xueli);break;
case 6:printf("工资改为: ");scanf("%d",wage);break;
case 7:printf("住址改为: ");scanf("%s",addr);strcpy(em[i-1].addr,addr);break;
case 8:printf("电话改为: ");scanf("%s",tel);strcpy(em[i-1].tel,tel);break;
}
printf("\n");
printf("\n是否确定所修改的信息\n是请按1不,重新修改请按2:\n");
scanf("%d",&b);
}
while(b==2);
printf("\n浏览修改后的所有职工信息:\n");
printf("\n");
save(m);
display();
printf("\n继续修改请按1,不再修改请按0\n");
scanf("%d",&t);
switch(t)
{
case 1:modify();break;
case 0:break;
default :break;
}}void del()/*删除函数*/
{
int =load();
int i,j,n,t,flag;
char name[20];
printf("\n原来的职工信息:\n");
display();
printf("\n");
printf("请输入要删除的职工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始记录为:\n");
printf("职工号\t姓名\t\t性别\t\t年龄\n");
printf("\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age);
printf("\n学历\t\t工资\t\t住址\t\t电话\n");
printf("\n%s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n确实要删除此人信息请按1,不删除请按0\n");
scanf("%d",&n);
if(n==1)
{
for(j=i;j<m-1;j++)
{
strcpy(em[j].name,em[j+1].name);
em[j].num=em[j+1].num;
em[j].sex=em[j+1].sex;
em[j].age=em[j+1].age;
strcpy(em[j].xueli,em[j+1].xueli);
em[j].wage=em[j+1].wage;
strcpy(em[j].addr,em[j+1].addr);
strcpy(em[j].tel,em[j+1].tel);
}
flag=0;
}
}
}
if(!flag)
m=m-1;
else
printf("\n对不起,查无此人!\n");
printf("\n浏览删除后的所有职工信息:\n");
save(m);/*调用保存函数*/
display();/*调用浏览函数*/
printf("\n继续删除请按1,不再删除请按0\n");
scanf("%d",&t);
switch(t)
{
case1:del();break;
case0:break;
default:break;
}
}
2017-01-03 17:20
xynhhhg
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-12-28
收藏
得分:0 
这个怎么读呀主要是flag什么意思
void search()/*查询函数*/
{
int t,flag;
do
{
printf("\n按职工号查询请按1;按学历查询请按2;按电话号码查询请按3;进入主函数请按4\n");
scanf("%d",&t);
if(t>=1&&t<=4)
{
flag=1;
break;
}
else
{
flag=0;
printf("您输入有误,请重新选择!");
}
}
while(flag==0);
while(flag==1)
{
switch(t)
{
case 1:printf("按职工号查询\n");search_num();break;
case 2:printf("按学历查询\n");search_xueli();break;
case 3:printf("按电话号码查询\n");search_tel();break;
case 4:main();break;
default:break;
}
}
}
void search_num()
{
int num;
int i,t;
int m=load();
printf("请输入要查找的职工号:\n");
scanf("%d",&num);
for(i=0;i<m;i++)
if(num==em[i].num)
{
printf("\n已找到此人,其记录为:\n");
printf("职工号\t姓名\t\t性别\t\t年龄\n");
printf("\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age);
printf("\n学历\t\t工资\t\t住址\t\t电话\n");
      printf("\n%s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
break;
}
if(i==m)
printf("\n对不起,查无此人\n");
printf("\n");
printf("返回查询函数请按1,继续查询职工号请按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();break;
case 2:break;
default:break;
}
}
void search_xueli()
{
char xueli[30];
int i,t;
int m=load();
printf("请输入要查找的学历:\n");
scanf("%s",xueli);
for(i=0;i<m;i++)
if(strcmp(em[i].xueli,xueli)==0)
{
printf("\n已找到,其记录为:\n");
printf("职工号\t姓名\t\t性别\t\t年龄\n");
printf("\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age);
printf("\n学历\t\t工资\t\t住址\t\t电话\n");
printf("\n%s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
}
if(i==m)
printf("\n对不起,查无此人\n");
printf("\n");
printf("返回查询函数请按1,继续查询学历请按2\n");
scanf("%d",&t);
switch(t)
{
 case1:search();break;
 case2:break;
 default:break;
}
}
void search_tel()
{
char tel[20];
int i,t;
int m=load();
printf("请输入要查找的电话号码:\n");
scanf("%s",tel);
for(i=0;i<m;i++)
if(strcmp(tel,em[i].tel)==0)
{
printf("\n已找到此人,其记录为:\n");
printf("职工号\t姓名\t\t性别\t\t年龄\n");
printf("\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age);
printf("\n学历\t\t工资\t\t住址\t\t电话\n");
printf("\n%s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
break;
}
if(i==m)
printf("\n对不起,查无此人\n");
printf("\n");
printf("返回查询函数请按1,继续查询电话号码请按2\n");
scanf("%d",&t);
switch(t)
{
case1:search();break;
case2:break;
default:break;
}
}
2017-01-03 21:52
快速回复:帮忙读一下程序,个别看不懂
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016278 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved