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

📄 deleteengineerinformation.c

📁 软件测试工程师管理系统
💻 C
字号:
#include <stdio.h>
#include "string.h"
#include "main.h"

int flag;

void DeleteEngineerInformation(void)
{
	
	int label=-1;
	int no=0;
	char choose;
	char name[20];
	int i=0;
	int mark=0;
	char ch;

	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;
				   IsFull=0;
			       break;
			   }
		      else
			   printf("输入有误,请重新输入!\n");
			 }

	        if(mark==1)
			{ 
				if((flag==0)&&(count==1)||(flag==(count-1)))
					count--;
				else 
				{
				   Delete(flag);
				   count--;
				}					
				printf("删除了姓名为%s的工程师信息!\n\n",name);
				printf("重新输入刚才您删除的工程师姓名,以确认是否删除成功!\n");
				printf("请输入工程师姓名:");
				fflush(stdin);
				scanf("%s",name);
				for(i=0;i<count;i++)
				{
			    	if(strcmp(Engineer[i].Name,name)==0)
					{
						label=i;
					    printf("删除失败!\n");
					}
				}
					
				if(label==-1)
					printf("\n删除成功,信息库中已没有该工程师的相关信息!\n\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;
				   IsFull=0;
			       break;
			   }
		      else
			   printf("输入有误,请重新输入!\n");
			 }

	        if(mark==1)
			{ 
				if((flag==0)&&(count==1)||(flag==(count-1)))
					count--;
				else 
				{
				   Delete(flag);
				   count--;
				}
				
				printf("删除了编号为%d的工程师信息!\n\n",no);
				printf("重新输入刚才您删除的工程师编号,以确认是否删除成功!\n");
				printf("请输入工程师编号:");
				scanf("%d",&no);
				if(IsSearch(no)==1)	
				  printf("删除失败!\n");
				else				
					printf("\n删除成功,信息库中已没有该工程师的相关信息!\n\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 + -