从C语言到STM32做了挺多项目的,有空就分享。
刚开始学完c语言的时候就搞了这个学生管理系统,用的是结构体,不是链表。。。
项目的功能函数
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; }
程序运行界面
执行时会输出三个文本:
文本一? ?管理员密码
文本二? 普通成员密码
文本三? 学生的信息
因为当初刚学编程,代码可能有点不规范。。。。。
每个功能就不具体说了,不懂可以私聊我。。。。。
程序源码:https://github.com/Lifashi/C
|