⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modifyengineerinformation.c

📁 软件测试工程师管理系统
💻 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 + -