学生综合素质测评系统c语言
时间: 2023-11-11 10:05:38 浏览: 61
学生综合素质测评系统的开发需要涉及到多个方面的知识,包括C语言基础、数据结构、算法、GUI等。下面是一个简单的学生综合素质测评系统的C语言代码示例,希望对您有所帮助:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100
typedef struct student {
char name[20];
int id;
float grade;
} Student;
void input_students(Student students[], int n);
void output_students(Student students[], int n);
void sort_students(Student students[], int n);
void find_student(Student students[], int n);
int main() {
Student students[MAX_SIZE];
int n, option;
printf("请输入学生人数:");
scanf("%d", &n);
input_students(students, n);
do {
printf("\n请选择要执行的操作:\n");
printf("1. 输出学生信息\n");
printf("2. 按成绩排序\n");
printf("3. 查找学生信息\n");
printf("4. 退出程序\n");
printf("请输入选项:");
scanf("%d", &option);
switch (option) {
case 1:
output_students(students, n);
break;
case 2:
sort_students(students, n);
break;
case 3:
find_student(students, n);
break;
case 4:
printf("程序已退出!\n");
break;
default:
printf("无效选项!\n");
break;
}
} while (option != 4);
return 0;
}
void input_students(Student students[], int n) {
for (int i = 0; i < n; i++) {
printf("请输入第%d位学生的姓名:", i + 1);
scanf("%s", students[i].name);
printf("请输入第%d位学生的学号:", i + 1);
scanf("%d", &students[i].id);
printf("请输入第%d位学生的成绩:", i + 1);
scanf("%f", &students[i].grade);
}
}
void output_students(Student students[], int n) {
printf("学生姓名\t学号\t成绩\n");
for (int i = 0; i < n; i++) {
printf("%s\t\t%d\t%.2f\n", students[i].name, students[i].id, students[i].grade);
}
}
void sort_students(Student students[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (students[i].grade < students[j].grade) {
Student temp = students[i];
students[i] = students[j];
students[j] = temp;
}
}
}
printf("按成绩排序后的学生信息:\n");
output_students(students, n);
}
void find_student(Student students[], int n) {
char name[20];
printf("请输入要查找的学生姓名:");
scanf("%s", name);
for (int i = 0; i < n; i++) {
if (strcmp(students[i].name, name) == 0) {
printf("学生姓名\t学号\t成绩\n");
printf("%s\t\t%d\t%.2f\n", students[i].name, students[i].id, students[i].grade);
return;
}
}
printf("未找到该学生信息!\n");
}
```
这个示例代码实现了基本的学生信息输入、输出、排序和查找功能,您可以根据您的需求进行修改和扩展。