目录:一,设计要求1,总体要求:2,具体功能:二,设计框架三,程序代码1,声明函数和头文件2,声明结构体3,声明全局变量4,主体启动函数5,主菜单函数6,创建学生档案函数7,编辑学生档案函数8,查询学生档案函数9,输出籍贯与专业函数10,查询学籍变化函数11,删除学生信息函数四,测试代码1,运行界面2,创建学生档案3,修改学生档案信息4,查询学生档案信息5,查询学生籍贯和专业信息6,查询学生学籍变化7,删除学生信息五,设计的总结和感想
给读者的话:由于期末作业简单,而且没有要求用到文件的知识,毕竟都还没怎么上过结构体,所以这个系统的代码也略显简单,希望以后回过头来再看这些代码,有更好的见解和领悟。如果你也是为了完成实训或者交作业而看到这篇文章,请不要直接抄袭,注释我写得非常清楚,希望能够真正地帮助到你。
设计要求:
1,总体要求
用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。
2,具体功能:
1,系统以菜单方式工作。
2,登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息;
3,删除已知学号的学生信息;
4,查找已知学号的学生信息;
5,按学号,专业输出学生籍贯表。
6,查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。
程序代码:
1, 声明函数和头文件
#include#include #include #include #define N 100 void menu();void Student_Create();void Student_Edit();void Student_find();void Student_native();void Student_changes();void Student_pop();
2, 声明结构体
struct Studen_book { int num; char name[20]; char sex; int age; char native[80]; //籍贯 char depart[20]; //系别 char majoy[20]; //专业 char clas[20]; //班级 char native_changes[30]; //学籍}stu[N];
3, 声明全局变量
static int i=0;
4, 主体启动函数
int main() //启动程序{ menu(); return 0;}
5, 主菜单函数
void menu() //主菜单{ char sel='a'; while(sel!='0') { system("cls");//清屏函数 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("|-----------------------------------------------|\n"); printf("请输入选项编号(0-6):"); sel = getch(); //无需回车 switch(sel) { case '1': Student_Create(); break; case '2': Student_Edit(); break; case '3': Student_pop(); break; case '4': Student_find(); break; case '5': Student_native(); break; case '6': Student_changes(); break; case '0': break; } if(sel=='0') printf("\n Thanks for your used!"); } }
6, 创建学生档案函数
void Student_Create() //创建学生档案{ char choose; Add: system("cls"); printf("请输入学生学号:\n"); scanf("%d",&stu[i].num); printf("请输入学生姓名:\n"); scanf("%s",&stu[i].name); getchar(); printf("请输入学生性别(M或F):\n"); scanf("%c",&stu[i].sex); printf("请输入学生年龄:\n"); scanf("%d",&stu[i].age); printf("请输入学生籍贯:\n"); scanf("%s",&stu[i].native); printf("请输入学生系别:\n"); scanf("%s",&stu[i].depart); printf("请输入学生专业:\n"); scanf("%s",&stu[i].majoy); printf("请输入学生班级:\n"); scanf("%s",&stu[i].clas); printf("请输入学生学籍变化:\n"); scanf("%s",&stu[i].native_changes); i++; //输完一项++,方便下一项输入 ,同时计输入的学生总数 getchar(); //回车继续 printf("是否继续添加('Y'or'N')?"); choose=getchar(); if(choose=='Y'||choose=='y') goto Add; }
7, 编辑学生档案函数
void Student_Edit() //根据学号查找学生信息并编辑{int t,number,n; char x; printf("\n输入学号:"); scanf("%d",&number); for(t=0;t
8, 查询学生档案函数
void Student_find() //根据学号查找学生信息{ char choose; int t,n,number; Find: int s=0; printf("\n请输入要查询的学号:"); scanf("%d",&number); for(t=0;t
9, 输出籍贯与专业函数
void Student_native() //按学号,专业输出学生籍贯表{ char choose; int number=0; int t; Native: int s=0; printf("\n输入查询的学号:"); scanf("%d",&number); for(t=0;t
10,查询学籍变化函数
void Student_changes() //查询学生的学籍变化{ int t; for(t=0;t
11,删除学生信息函数
void Student_pop() //删除学生信息{ int k=0,number,t; char choose; Del: system("cls"); /*清屏*/ printf("\n请输入要删除的学号:"); scanf("%d",&number); getchar(); for(t=0;t
主菜单界面: