background image

    printf("6.保存新添加的工程师资料\n");
    printf("7.对测试工程师信息排序!\<1 编号升序 2 姓名升序 3 工龄降序\>\n");
    printf("8.输出所有测试工程师信息\n");
    printf("9.清空所有测试工程师数据\n");
    printf("10.打印软件测试工程师数据报表\n");
    printf("11.从文件重新导入测试工程师数据\n");
    printf("0.结束\<编辑工程师信息后提示保存\>\n");
    printf("\n");
    printf("请输入您的选择: ");
}

int Find(struct EngineerStruct *head,unsigned No)   //判断该编号是否存在
{

struct EngineerStruct *p1,*p2;
if(head == NULL)
{

return 0;

}
p1 = head;
while (p1->EngineerNo != No && p1->next !=NULL)
{

p2 = p1;
p1 = p1->next;

}

if(No == p1->EngineerNo)
{

return 1;

}
else
{

return 0;

}

}

void FindError(struct EngineerStruct *p1,struct EngineerStruct *head)    //判断输入的工程师信
息是否正确
{

while (((p1->EngineerNo<= 0) || (p1->EngineerNo >= 10000)) || Find(head,p1->EngineerNo) 

== 1)

{

printf("工程师编号输入错误,请重新输入:\n");
scanf("%u",&p1->EngineerNo);