下面就结构体版学生成绩管理系统的完整攻略进行详细讲解,包括操作流程、代码实现和两个实例说明。
操作流程
-
首先要定义一个结构体,用于存储学生成绩相关的信息,比如学号、姓名、数学成绩、语文成绩、英语成绩等。
-
接着,需要定义一个数组,用于存储这些结构体,数组的长度可以自行设定。
-
然后,编写函数实现添加学生、查询学生、修改学生、删除学生、显示全部学生成绩等基本操作。
-
最后,设计界面,让用户可以在命令行上输入相应指令,实现对学生信息的管理。
代码实现
下面是一个简单的结构体版学生成绩管理系统的代码实现示例:
#include <stdio.h>
struct student{
int id;
char name[20];
float math;
float chinese;
float english;
};
typedef struct student student;
int main(){
student stu[100];
int n = 0;
int i, id, choice;
char c;
while (1){
printf("1: add 2: delete 3: modify 4: query 5: show all\n");
printf("please input your choice:\n");
scanf("%d", &choice);
switch (choice){
case 1:
printf("input id, name, math score, chinese score, english score:\n");
scanf("%d %s %f %f %f", &stu[n].id, stu[n].name, &stu[n].math, &stu[n].chinese, &stu[n].english);
n++;
break;
case 2:
printf("input delete id:\n");
scanf("%d", &id);
for (i = 0; i < n; i++){
if (stu[i].id == id){
for (; i < n - 1; i++){
stu[i] = stu[i + 1];
}
n--;
break;
}
}
break;
case 3:
printf("input modify id:\n");
scanf("%d", &id);
for (i = 0; i < n; i++){
if (stu[i].id == id){
printf("input name, math score, chinese score, english score:\n");
scanf("%s %f %f %f", stu[i].name, &stu[i].math, &stu[i].chinese, &stu[i].english);
break;
}
}
break;
case 4:
printf("input query id:\n");
scanf("%d", &id);
for (i = 0; i < n; i++){
if (stu[i].id == id){
printf("id: %d, name: %s, math: %.2f, chinese: %.2f, english: %.2f\n", stu[i].id, stu[i].name, stu[i].math, stu[i].chinese, stu[i].english);
break;
}
}
break;
case 5:
printf("all students:\n");
for (i = 0; i < n; i++){
printf("id: %d, name: %s, math: %.2f, chinese: %.2f, english: %.2f\n", stu[i].id, stu[i].name, stu[i].math, stu[i].chinese, stu[i].english);
}
break;
default:
printf("please input a correct number!\n");
break;
}
printf("continue?(y/n)\n");
scanf("%s", &c);
if(c != 'y' && c != 'Y'){
break;
}
}
return 0;
}
上述代码的实现是基于结构体的代码实现,通过结构体将一名学生的各项信息存储为一个数据类型,再通过数组存储多名学生的信息。各个操作的实现可以根据对于结构体数组的操作进行,具体参照代码实现。
示例说明
假设有一位学生,学号为1001,姓名为张三,数学成绩为78分,语文成绩为85分,英语成绩为92分。根据上述代码,我们可以输入“1”,然后输入这个学生的具体信息,进行添加操作。这样就成功将这位学生的信息存储到了数组中。
另外一个示例是,如果需要查询学生信息,可以输入“4”,再输入需要查询的学生的学号,程序便会找到该学生对应在数组中的位置,输出该学生的全部信息,从而实现查询操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言结构体版学生成绩管理系统 - Python技术站