从C语言到STM32做了挺多项目的,有空就分享
刚开始学完c语言的时候就搞了这个学生管理系统,用的是结构体,不是链表
学习链表的时候也写了一个,就是总体功能没整合,需要的私聊(这个是没有上传GitHub)
项目的功能函数
void input_stu_data(STU *stu,int *stu_num); //录入学生信息
int id_exist(STU *stu,STU stu_id,int n);//判断学号是否唯一
void output_stu_data(STU *stu,int stu_num,int status); //输出学生信息
STU *check_a_stu(STU *stu,int stu_num); //查找一个学生信息
STU * delete_a_stu(STU *stu,int *stu_num); //删除一个学生信息
int check_stu_index(STU *stu,STU *stu_id,int stu_num); //找到该学生下标
void mod_stu_score(STU *stu,int stu_num); // 修改一个学生成绩
float stu_score_sum(STU stu,int course_num); //求一个学生的分数和
float stu_ave_score(STU stu,int course_num); //求一个学生的平均分
float course_ave_score(STU *stu,int stu_num,int course);//求全班同一门课程的平均分
int above_60_score(STU *stu,int course,int stu_num);//找出成绩合格的学生信息
int less_60_score(STU *stu,int course,int stu_num);//找出成绩不合格的学生信息
void swap(STU *stu,int j); //交换结构体变量内容
void score_sort(STU *stu,int stu_num,int staus);//按平均分排序 staus=1 降序 staus=0 升序 如果平均分相同比较语文成绩
void stuid_sort(STU *stu,int stu_num,int staus);//学号排序
int password_window(void); //登录界面
int mod_password(int status);//修改登录密码
void open_window(void); //输出命令窗口
void freshen_window(void);//刷新窗口
void cmd_window(STU *student,int *stu_num,int status);//命令选择窗口
void creak_student_txt_out_info(STU stu,int stu_num); //创建一个学生txt文件
void write_txt_info(STU *stu,int stu_num);//输出学生信息到txt文件
void read_txt_info(STU *stu,int *stu_num); //读取文本信息
int txt_info_exist(void);//判断文本信息是否存在
void password_ordinary(void); //初始化普通成员密码
void password_administrator(void);//初始化管理员密码
主函数部分
int main(void)
{
int stu_num=0,status;
STU student[100];
while(1)
{
status=password_window();
freshen_window();
cmd_window(student,&stu_num,status);
}
return 0;
}
程序运行界面
执行时会输出三个文本:
文本一 管理员密码
文本二 普通成员密码
文本三 学生的信息
因为当初刚学编程,代码可能有点不规范。。。。。
每个功能就不具体说了,不懂可以私聊我。。。。。