否 是
【程序代码】
int no, i, pos; //定义临时学号变量、计数变量
lab: pos=0; //lab 用来作为 goto 语句的返回点
printf("%s\n", "输入需要删除的学生的学号,退出当前菜单请输入-1.");
scanf("%d", &no);
if (no == -1) return; //输入为-1 是返回主界面
while( (data[pos].no != no) && (pos < *len) ) pos = pos +1;//依次对所有成
绩的学号和目标学号进行对比,并对每步进行计数
if (pos >= *len) //如果计数值大于学生数,则说明未找到需要删除
的学生,返回重新输入学号
{
printf("%s\n", "未找到需要删除的学生");
goto lab; //goto 语句,跳到之前所做的节点
}
else {
for (i = pos+1;i < *len; i++) //用目标学号后面的数据向前进行替换,
以达到删除的效果
data[i-1] = data[i];
*len = *len -1;
if (*len == 0) //如果学生数为 0.则说明没有数据可删除了,按回
车返回主界面
{
printf("%s\n", "没有任何记录,请按回车键返回.");
getchar();
getchar();
return;
}
goto lab;
}
2.3.3 搜索模块
★选择进行姓名或学号的搜索,在此输入-1 时返回主界面
★找到目标学号时输出学生的各项数据,如各科成绩,平均分,总分
★如果查询的信息不存在,输出提示信息;