酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

设计内容及要求:学生信息要求:不少于2个班级,每个班级不少于10位学生,格式如下:学号(10位,如2023030201) 、姓名、性别、班级、数据结构、linux编程基础、python程序设计。学生数据存储到文件中(也可以使用数据库),示例如下: 序号 学号 姓名 性别 班级 数据结构 linux编程基础 python程序设计 备注 1 2023300201 张三 男 计科1班 90 88 85 2 2023300202 李丽 女 计科2班 85 76 80 实习功能如下: (1)按班级顺序输出学生信息列表; (2)创建:插入一条学生信息,并输出验证是否插入成功; (3)删除:按学号删除一条学生记录,并输出验证是否删除成功; (4)修改:修改某位学生的课程成绩,并验证是否修改成功; (5)查找:按照学生姓名查找学生某门课程成绩并输出显示; (6)排序:要体现不少于两种排序算法 (a)统计每个学生的总分,按总分降序输出; (b)统计每个学生的平均分,按平均分增序输出; (c)统计每个班中总分前三名和后三名,并输出; (7)退出程序,用c语言写

// 导入所需的头文件 #include <stdio.h> #include <string.h> // 定义学生结构体 typedef struct { char number[11]; // 学号 char name[20]; // 姓名 char gender[5]; // 性别 char class[20]; // 班级 int data_structure; // 数据结构成绩 int linux_programming; // linux编程基础成绩 int python_programming; // python程序设计成绩 } Student; // 定义函数原型 void readFromFile(Student students[], int *numStudents); void writeToFile(Student students[], int numStudents); void printStudent(Student student); void printStudents(Student students[], int numStudents); void sortByTotalScore(Student students[], int numStudents); void sortByAverageScore(Student students[], int numStudents); int main() { Student students[20]; // 最多存储20个学生信息 int numStudents = 0; // 当前学生数量 int choice; // 从文件中读取学生信息 readFromFile(students, &numStudents); do { // 显示功能菜单 printf("\n请选择功能:\n"); printf("1. 按班级顺序输出学生信息列表\n"); printf("2. 创建:插入一条学生信息\n"); printf("3. 删除:按学号删除一条学生记录\n"); printf("4. 修改:修改某位学生的课程成绩\n"); printf("5. 查找:按照学生姓名查找学生某门课程成绩\n"); printf("6. 排序:统计每个学生的总分、平均分并排序\n"); printf("7. 退出程序\n"); printf("\n请输入选择:"); scanf("%d", &choice); switch(choice) { case 1: printf("按班级顺序输出学生信息列表:\n"); printStudents(students, numStudents); break; // 实现插入、删除、修改、查找、排序功能 // ... case 7: printf("退出程序\n"); break; default: printf("无效选择,请重新选择\n"); } } while(choice != 7); // 退出程序前将学生信息写入文件 writeToFile(students, numStudents); return 0; } // 从文件中读取学生信息 void readFromFile(Student students[], int *numStudents) { FILE *file = fopen("students.txt", "r"); if (file) { while (fscanf(file, "%s %s %s %s %d %d %d\n", students[*numStudents].number, students[*numStudents].name, students[*numStudents].gender, students[*numStudents].class, &students[*numStudents].data_structure, &students[*numStudents].linux_programming, &students[*numStudents].python_programming) != EOF) { (*numStudents)++; } fclose(file); } } // 将学生信息写入文件 void writeToFile(Student students[], int numStudents) { FILE *file = fopen("students.txt", "w"); for (int i = 0; i < numStudents; i++) { fprintf(file, "%s %s %s %s %d %d %d\n", students[i].number, students[i].name, students[i].gender, students[i].class, students[i].data_structure, students[i].linux_programming, students[i].python_programming); } fclose(file); } // 输出单个学生信息 void printStudent(Student student) { printf("%s\t%s\t%s\t%s\t%d\t%d\t%d\n", student.number, student.name, student.gender, student.class, student.data_structure, student.linux_programming, student.python_programming); } // 输出所有学生信息 void printStudents(Student students[], int numStudents) { printf("序号\t学号\t姓名\t性别\t班级\t数据结构\tlinux编程基础\tpython程序设计\n"); for (int i = 0; i < numStudents; i++) { printf("%d\t", i + 1); printStudent(students[i]); } } // 按总分排序学生信息 void sortByTotalScore(Student students[], int numStudents) { // 实现排序功能,可选择冒泡排序、快速排序等算法 } // 按平均分排序学生信息 void sortByAverageScore(Student students[], int numStudents) { // 实现排序功能,可选择选择冒泡排序、快速排序等算法 } [2024-12-15 22:08:58 | AI写代码神器 | 2547点数解答]

相关提问