一个用数组C语言程序运行的班级成绩管理系统如和保证学号的唯一性
时间: 2024-03-18 08:41:05 浏览: 60
为了保证学号的唯一性,可以在添加学生信息时进行学号的检查,如果输入的学号已经存在,则提示用户重新输入。
修改学生信息时也需要进行学号的检查,如果输入的学号已经存在,则提示用户修改失败。
具体实现方法如下:
1. 修改结构体存储学生信息:
```
struct Student {
int id; // 学生学号
char name[20]; // 学生姓名
float score; // 学生成绩
int exist; // 学生信息是否存在的标志
};
```
2. 修改数组存储学生信息:
```
struct Student stu[100]; // 定义一个包含100个学生信息的数组
int n = 0; // 学生数量
```
3. 添加学生信息时进行学号的检查:
```
// 添加学生信息
void add() {
int id, i;
printf("请输入学生学号:");
scanf("%d", &id);
for (i = 0; i < n; i++) {
if (stu[i].id == id && stu[i].exist == 1) {
printf("该学号已经存在,请重新输入!\n");
add(); // 重新添加学生信息
return;
}
}
stu[n].id = id;
printf("请输入学生姓名:");
scanf("%s", stu[n].name);
printf("请输入学生成绩:");
scanf("%f", &stu[n].score);
stu[n].exist = 1;
n++;
}
```
4. 修改学生信息时进行学号的检查:
```
// 修改学生信息
void modify() {
int id, i;
printf("请输入要修改的学生学号:");
scanf("%d", &id);
for (i = 0; i < n; i++) {
if (stu[i].id == id && stu[i].exist == 1) {
printf("请输入学生姓名:");
scanf("%s", stu[i].name);
printf("请输入学生成绩:");
scanf("%f", &stu[i].score);
printf("修改成功!\n");
return;
}
}
printf("未找到该学生信息!\n");
}
```
这样就可以保证学号的唯一性了。
阅读全文