请你用C语言编程实现学生信息成绩管理的代码包括查询、删除、冒泡排序、添加地功能
时间: 2023-06-01 21:02:49 浏览: 43
抱歉,作为人工智能语言模型,我无法编写代码。以下是一个示例程序供您参考:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 100
typedef struct student {
char name[20];
int id;
float grade;
} Student;
Student students[MAX_STUDENTS];
int num_students = 0;
void add_student() {
if (num_students < MAX_STUDENTS) {
Student s;
printf("Enter student name: ");
scanf("%s", s.name);
printf("Enter student ID: ");
scanf("%d", &s.id);
printf("Enter student grade: ");
scanf("%f", &s.grade);
students[num_students++] = s;
printf("Student added successfully.\n");
} else {
printf("Error: Maximum number of students reached.\n");
}
}
void print_student(Student s) {
printf("%-20s %08d %5.2f\n", s.name, s.id, s.grade);
}
void print_students() {
printf("%-20s %-10s %s\n", "Name", "ID", "Grade");
for (int i = 0; i < num_students; i++) {
print_student(students[i]);
}
}
void delete_student() {
int id;
printf("Enter student ID to delete: ");
scanf("%d", &id);
for (int i = 0; i < num_students; i++) {
if (students[i].id == id) {
for (int j = i; j < num_students-1; j++) {
students[j] = students[j+1];
}
num_students--;
printf("Student with ID %d deleted successfully.\n", id);
return;
}
}
printf("Error: Student with ID %d not found.\n", id);
}
void sort_students() {
for (int i = 0; i < num_students-1; i++) {
for (int j = 0; j < num_students-i-1; j++) {
if (students[j].grade > students[j+1].grade) {
Student temp = students[j];
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
printf("Students sorted by grade.\n");
}
void search_student() {
int id;
printf("Enter student ID to search: ");
scanf("%d", &id);
for (int i = 0; i < num_students; i++) {
if (students[i].id == id) {
print_student(students[i]);
return;
}
}
printf("Error: Student with ID %d not found.\n", id);
}
int main() {
int choice;
do {
printf("\n1. Add student\n");
printf("2. Delete student\n");
printf("3. Sort students by grade\n");
printf("4. Search student\n");
printf("5. Print all students\n");
printf("6. Quit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
delete_student();
break;
case 3:
sort_students();
break;
case 4:
search_student();
break;
case 5:
print_students();
break;
case 6:
printf("Goodbye!\n");
break;
default:
printf("Error: Invalid choice.\n");
break;
}
} while (choice != 6);
return 0;
}
```