编写显示如下界面的程序: 学生管理程序 Add—追加数据 Delete- 删除数据 Sort- -成绩排序 Modify——修改数据 Print—打印数据 Quit——退出
时间: 2024-10-10 13:06:42 浏览: 17
人工智能-数据挖掘-基于数据仓库的数据挖掘理论在某省移动经营分析系统中的应用研究.pdf
要编写这样一个简单的命令行界面的学生管理系统,我们可以使用C语言的基本控制结构如`while`循环、菜单选择以及输入输出功能。以下是一个基本的示例代码:
```c
#include <stdio.h>
// 假设我们有一个结构体表示学生信息
typedef struct {
char name[50];
int id;
float score;
} Student;
void add(Student *students, int *size) {
printf("Enter student details (name, ID, score): ");
scanf("%s %d %.2f", students[*size].name, &students[*size].id, &students[*size].score);
(*size)++;
}
void delete(Student *students, int size) {
if (size > 0) {
printf("Enter the ID of the student to be deleted: ");
int id;
scanf("%d", &id);
for (int i = 0; i < size - 1; i++) {
if (students[i].id == id) {
memmove(&students[i], &students[i + 1], sizeof(Student) * (size - i - 1));
size--;
break;
}
}
} else {
printf("No data to delete.\n");
}
}
// 其他函数类似,这里简化为提示
void sort(Student *students, int size) {
// 这里只是一个简化的提示,实际应使用更复杂的算法对成绩进行排序
printf("Score sorting not implemented here.\n");
}
// ...
int main() {
int numStudents = 0;
Student students[10]; // 假设最多有10个学生
while (1) {
printf("\nStudent Management Program\n");
printf("1. Add\n");
printf("2. Delete\n");
printf("3. Sort\n");
printf("4. Modify\n");
printf("5. Print\n");
printf("6. Quit\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
add(&students, &numStudents);
break;
case 2:
delete(&students, numStudents);
break;
// 添加其他选项的处理
case 6:
if (numStudents > 0)
printf("Exiting program...\n");
else
printf("Nothing to quit from.\n");
return 0;
default:
printf("Invalid choice. Please try again.\n");
break;
}
}
return 0;
}
```
在这个示例中,每个命令的功能被封装在一个函数中,然后在主循环中根据用户的输入调用相应的函数。对于"Sort"选项,这里只是一个提示,实际操作可能需要更复杂的算法。
阅读全文