📄 modifyengineerinformation.c
字号:
#include <stdio.h>
#include "string.h"
#include "ctype.h"
#include "main.h"
int flag;
void ModifyEngineerInformation(void)
{
int label=-1;
int no=0;
char choose;
char name[20];
int i=0;
int mark=0;
char ch;
int n=0;
while(1)
{
if(count==0)
{
printf("信息库为空!不能进行修改!\n");
break;
}
else
{
while(1)
{
printf("修改信息有两种方式:1.按姓名修改 2.按编号修改\n");
printf("请输入您的修改方式:");
fflush(stdin);
scanf("%c",&choose);
if(choose=='1')
{
flag=-1;
printf("请输入您要修改的工程师的姓名:");
fflush(stdin);
scanf("%s",name);
printf("\n");
for(i=0;i<count;i++)
{
if(strcmp(Engineer[i].Name,name)==0)
{
flag=i;
printf("您要修改的工程师的姓名为:%s,其信息显示如下:\n",name);
DisplayEngineerInformation(Engineer,flag);
}
}
if(flag==-1)
{
printf("没有查找到您所要修改的工程师信息!\n");
printf("请确认有此工程师后再修改!\n\n");
break;
}
while(1)
{
printf("确定要修改此工程师的信息吗?(y/n)\n");
fflush(stdin);
scanf("%c",&ch);
if(ch=='n'||ch=='N')
{
printf("您选择了不对该工程师信息进行修改操作!\n\n");
mark=0;
break;
}
else if(ch=='Y'||ch=='y')
{
mark=1;
break;
}
else
printf("输入有误,请重新输入!\n");
}
if(mark==1)
{
IsEdit=1;
printf("下面请输入您要修改的姓名为%s的工程师信息:\n",name);
printf("-----------------------------------------------------------------------------\n");
printf("编号(范围在1-9999之间):");
while(1)
{
fflush(stdin);
scanf("%d",&Engineer[flag].No);
if(Engineer[flag].No>=10000||Engineer[flag].No<=0)
{
printf("编号输入有误,请重新输入!\n");
continue;
}
else if(IsSearch(no))
{
printf("此编号的工程师信息已存在!");
printf("请给该工程师指定其他编号!\n");
}
break;
}
Input(flag);
printf("-----------------------------------------------------------------------------\n");
printf("您已修改了姓名为%s的工程师信息!\n\n",name);
printf("重新输入刚才您修改的工程师姓名,以确认是否修改成功!\n");
printf("请输入工程师姓名:");
fflush(stdin);
scanf("%s",name);
DisplayEngineerInformation(Engineer,flag);
printf("您已成功修改!\n");
}
break;
}
else if(choose=='2')
{
flag=-1;
printf("请输入您要修改的工程师编号:");
scanf("%d",&no);
printf("\n");
for(i=0;i<count;i++)
{
if(Engineer[i].No==no)
{
flag=i;
printf("您要修改的工程师的编号为:%d,其信息显示如下:\n",no);
DisplayEngineerInformation(Engineer,flag);
}
}
if(flag==-1)
{
printf("没有查找到您所要修改的工程师信息!\n");
printf("请确认有此工程师后再修改!\n\n");
break;
}
while(1)
{
printf("确定要修改此工程师的信息吗?(y/n)\n");
fflush(stdin);
scanf("%c",&ch);
if(ch=='n'||ch=='N')
{
printf("您选择了不对该工程师信息进行修改操作!\n\n");
mark=0;
break;
}
else if(ch=='Y'||ch=='y')
{
mark=1;
break;
}
else
printf("输入有误,请重新输入!\n");
}
if(mark==1)
{
IsEdit=1;
printf("下面请输入您要修改的编号为%04d的工程师信息:\n",no);
printf("-------------------------------------------------------------------------------\n");
printf("姓名(字符在20个之内):");
while(1)
{
fflush(stdin);
scanf("%s",name);
n=strlen(name);
if(0>n||20<=n)
{
printf("您输入的姓名超过了20个字符,请重新输入!\n");
continue;
}
for (i=0;i<n;i++)
{
if(!(isalpha(name[i])))
break;
}
if(i==n)
strcpy(Engineer[flag].Name,name);
else
{
printf("工程师姓名只能输入字符,请重新输入\n");
continue;
}
break;
}
Input(flag);
printf("-------------------------------------------------------------------------------\n");
printf("您已修改了编号为%04d的工程师信息!\n\n",no);
printf("重新输入刚才您修改的工程师编号,以确认是否修改成功!\n");
printf("请输入工程师编号:");
scanf("%d",&no);
DisplayEngineerInformation(Engineer,flag);
printf("您已成功修改!\n");
}
break;
}
else
printf("修改方式输入有误,请重新输入!\n\n");
}
}
while(1)
{
printf("要继续修改工程师信息吗?(Y/N)\n");
fflush(stdin);
scanf("%c",&choose);
if(choose=='n'||choose=='N')
{
printf("退出本修改信息功能!\n");
mark=0;
break;
}
else if(choose=='Y'||choose=='y')
{
mark=1;
break;
}
else
printf("输入有误,请重新输入!\n");
}
if(mark==0)
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -