C语言课程设计——学生信息管理系统
后期会持续更新C语言课设,工资管理系统见上篇。
直接上代码:
- 源码
- 剖析讲解
- 注意事项
- 总结
#include<stdio.h>
#include<stdlib.h>
#define MAX_LENGTH 100 //结构体可以存放的学生信息最大个数,不可变变量
//学生信息结构体数组,最多可以存放100个学生信息
struct student{
int id; //学号
char *name; //姓名
int age; //年龄
float c_score; //C语言成绩
float english_score; //英语成绩
float database_score; //数据库成绩
float total_score; //总分
}student_array[MAX_LENGTH];
//学生信息数量
int student_count=0;
//函数声明
void print_all_students(); //输出所有学生信息函数
void input_info(); //录入信息函数
void query_info(); //查询信息函数
void modify_info(); //修改信息选择函数
void delete_info(); //删除选择函数
void compute_total_score(); //计算总分函数
void sort_info(); //排序选择函数
int search_one_student(); //定位学号函数
void print_one_student(struct student one); //输出一个学生信息函数
void delete_one_student(int student_index); //删除对应序号学生信息函数
char * get_item_name(int item_index);
void modify_one_student(int student_index);//执行修改信息函数
void sort_by_id(); //学号排序函数
void sort_by_c_score(); //C成绩排序函数
void sort_by_english_score(); //英语成绩排序函数
void sort_by_database_score(); //数据库成绩排序函数
void sort_by_total_score();
//主函数
int main()
{
while(1)
{
printf("请选择要使用的功能:\n\n");
printf("\n\n");
printf(" =====================================================\n");
printf(" * *\n");
printf(" * 学生成绩管理系统 *\n");
printf(" * *\n");
printf(" * === 主菜单 === *\n");
printf(" * *\n");
printf(" * 1-添加学生信息 *\n");
printf(" * 2-查询学生信息 *\n");
printf(" * 3-修改学生信息 *\n");
printf(" * 4-删除学生信息 *\n");
printf(" * 5-计算总分 *\n");
printf(" * 6-显示排序信息 *\n");
printf(" * 0-输出全部 *\n");
printf(" * -1-退出管理系统 *\n");
printf(" * *\n");
printf(" =====================================================\n");
printf(" \n");
printf(" ### 请输入指令 ### \n");
int function=0;
//输入选择的函数编号值
scanf("%d",&function);
//根据输入的函数编号,执行对应的功能
switch(function){
case -1:
exit(1);
case 0:
print_all_students();
break;
case 1:
input_info();
break;
case 2:
query_info();
break;
case 3:
modify_info