溜溜文案网—你身边的文案专家

溜溜文案网—你身边的文案专家

查询考试信息如何c

59

使用C语言实现考试信息查询系统可以通过以下步骤进行:

定义数据结构

定义一个结构体来存储学生的信息,例如学号、姓名和成绩等。

输入学生信息

通过键盘输入学生的信息,并将这些信息存储到结构体数组中。

存储学生信息

将结构体数组保存到文件中,可以使用二进制文件读写的方式来存储数据。

查询学生信息

提供一个查询功能,允许用户通过学号或姓名来查询学生的成绩和排名。

实现查询功能

在查询功能中,从文件中读取所有学生的信息,并在数组中进行查找,以显示查询结果。

下面是一个简单的示例代码,展示了如何使用C语言实现上述功能:

```c

include

include

define MAX_STUDENTS 100

typedef struct {

int studentID;

char name;

float score;

} Student;

void inputStudents(Student students[], int *numStudents) {

printf("请输入学生信息:\n");

for (int i = 0; i < MAX_STUDENTS; i++) {

printf("学号: ");

scanf("%d", &students[i].studentID);

printf("姓名: ");

scanf("%s", students[i].name);

printf("成绩: ");

scanf("%f", &students[i].score);

(*numStudents)++;

}

}

void saveStudentsToFile(Student students[], int numStudents, const char *filename) {

FILE *file = fopen(filename, "wb");

if (file == NULL) {

printf("无法打开文件 %s\n", filename);

exit(1);

}

fwrite(students, sizeof(Student), numStudents, file);

fclose(file);

}

void loadStudentsFromFile(Student students[], int *numStudents, const char *filename) {

FILE *file = fopen(filename, "rb");

if (file == NULL) {

printf("无法打开文件 %s\n", filename);

exit(1);

}

fread(students, sizeof(Student), *numStudents, file);

fclose(file);

}

int searchStudentByID(Student students[], int numStudents, int studentID) {

for (int i = 0; i < numStudents; i++) {

if (students[i].studentID == studentID) {

return i;

}

}

return -1;

}

void displayStudent(Student students[], int numStudents, int studentID) {

int index = searchStudentByID(students, numStudents, studentID);

if (index != -1) {

printf("学号: %d\n", students[index].studentID);

printf("姓名: %s\n", students[index].name);

printf("成绩: %.2f\n", students[index].score);

} else {

printf("未找到学号为 %d 的学生信息\n", studentID);

}

}

int main() {

Student students[MAX_STUDENTS];

int numStudents = 0;

char filename = "students.bin";

inputStudents(students, &numStudents);

saveStudentsToFile(students, numStudents, filename);

int choice;

do {

printf("\n学生信息查询系统\n");

printf("1. 查询学生信息\n");

printf("2. 退出\n");

printf("请输入选择: ");

scanf("%d", &choice);

switch (choice) {

case 1:

int studentID;

printf("请输入要查询的学号: ");

scanf("%d", &studentID);

displayStudent(students, numStudents, studentID);

break;

case 2:

printf("退出系统\n");

break;

default:

printf("无效的选择,请重新输入\n");

}

} while (choice != 2);

return 0;

}

```

代码说明: