菜鸟修炼C语言小设计之——学生成绩管理系统
一、本设计涉及的重要C语言知识有:
1.单链表的各种操作
2.文件流的操作
3.单链表的排序
二、本设计主要以下几个模块组成
1.学生成绩添加模块
2.学生成绩删除模块
3.学生成绩修改模块
4.学生成绩检索模块
5.学生成绩显示模块(包括成绩排序)
6.学生成绩保存模块
效果图:
本设计大概5、6百行代码左右,通过这个设计,本人感觉C语言熟练了很多,希望能对像我一样的C语言菜鸟同学会有点帮助,废话少说,咱们上代码!
三、程序代码
1.main.c
这个文件内主要完成主菜单的跳转和接受用户信息完成到各个模块的跳转。
<span style="font-size:16px;">#include <stdio.h>
#include "students.h"
int select_menu(void);
void hand_menu(int cmd, int *flag);
void quit();
int main(int argc, char *argv[])
{
int cmd;
int flag = 0;
while(1){
cmd = select_menu();
hand_menu(cmd, &flag);
}
}
int select_menu(void)
{
int select = 0;
printf("**************************************************************\n\n");
printf(" 学生管理系统 \n");
printf(" 1:添加学生信息 2:删除学生信息\n");
printf(" 3:修改学生信息 4:查询学生信息\n");
printf(" 5:查看学生信息 6:保存\n");
printf(" 0:退出\n\n");
printf("**************************************************************\n");
printf("请选择:");
select=getch();
while(select<'0'||select>'6'){
printf("\n输入错误,请重新选择:");
select=getch();
}
return select;
}
void hand_menu(int cmd, int *flag)
{
static STU *stu_head = NULL;
if(*flag == 0){
stu_head = init_student(stu_head);
*flag = 1;
}
switch(cmd){
case '0':
save_student(stu_head);
quit();
break;
case '1':
system("cls");
stu_head = add_student(stu_head);
system("cls");
break;
case '2':
system("cls");
stu_head = del_student(stu_head);
system("cls");
break;
case '3':
system("cls");
modify_student(stu_head);
system("cls");
break;
case '4':
system("cls");
search_student(stu_head);
system("cls");
break;
case '5':
system("cls");
补充:软件开发 , C语言 ,