|
发表于 2020-11-13 21:49:18
|
显示全部楼层
本楼为最佳答案
本帖最后由 xieglt 于 2020-11-13 21:50 编辑
- #include <stdio.h>
- #include<string.h>
- int main()
- {
- int i,j,e=0;
- int a = 0;
- //结构体名字不要和变量名形同
- struct students
- {
- char name[20];
- int num;
- int score;
-
- }student[20];
-
- printf("请选择功能:\n");
-
- while(1)
- {
- printf("0:退出\t1:添加\t2:总览\t3:删除\n");
- scanf("%d", &a);
- if(a == 0)
- {
- break;
- }
- if(a == 1 && e<20)
- {
- printf("请输入学生姓名,学号,成绩:\n");
- scanf("%s%d%d", student[e].name, &student[e].num, &student[e].score);
- e++;
-
- }
- if(a==2)
- {
- for(j=0;j<e;j++)
- {
- //这里输出不要加取址符
- printf("%s %d %d\n",student[j].name,student[j].num,student[j].score);
- }
- }
- if(a==3)
- {
- printf("请输入要删除的学号:\n");
- scanf("%d",&a);
- j = 0;
- for(i=0 ; i<e ; i++)
- {
- if(a==student[i].num)
- {
- if(i < 19)
- {
- memcpy(student+i,student+i+1,sizeof(students)*(e-i-1));
- }
- student[e-1].name[0] = '\0';
- student[e-1].num = 0;
- student[e-1].score = 0;
-
- j = 1;
- e--;
- break;
- }
- }
- if(j == 0)
- {
- printf("找不到该学号\n");
- }
- }
-
- }
- return 0;
- }
复制代码 |
|