请问这个名字输出的时候为什么会重复输出?
codeblocks吧
全部回复
仅看楼主
level 3
#include <stdio.h>
#include <string.h>
typedef struct student
{
char num[3];
char name[20];
char phone[10];
char iphone[15];
char qq[10];
}STUDENT;
int main()
{
int n,i=0,j;
char nam[10];
STUDENT stu[50];
printf("-----------班级通讯录-----------\n\n"
" 1 显示所有学生信息\n"
" 2 增加一条学生信息\n"
" 3 删除一条学生信息\n"
" 0 退出\n");
do{
printf("\n请输入序号:\n");
scanf("%d",&n);
switch(n)
{
case 1:
printf("学号 姓名 电话 手机号 QQ\n");
for(j=0;j<i;j++)
{
printf("%-6s%-9s%-10s%-13s%s\n",
stu[j].num,stu[j].name,stu[j].phone,stu[j].iphone,stu[j].qq);
}
break;
case 2:
printf("请输入序号:\n");
scanf(" %s",stu[i].num);
printf("请输入姓名:\n");
scanf(" %s",stu[i].name);
printf("请输入电话:\n");
scanf(" %s",stu[i].phone);
printf("请输入手机号:\n");
scanf(" %s",stu[i].iphone);
printf("请输入QQ:\n");
scanf(" %s",stu[i].qq);
i++;
break;
case 3:
printf("请输入需要删除学生的姓名:\n");
scanf(" %s",nam);
for(j=0;j<i;j++)
{
if(strcmp(nam,stu[j].name)==0)
{
for(;j<i-1;j++)
{
stu[j]=stu[j+1];
}
i--;
break;
}
}
printf("删除失败\n");
break;
default:;
}
}while(n!=0);
return 0;
}
2020年05月17日 11点05分 1
1