收藏 分销(赏)

C语言教务管理系统(2000行代码).docx

上传人:快乐****生活 文档编号:2492596 上传时间:2024-05-30 格式:DOCX 页数:57 大小:379.73KB
下载 相关 举报
C语言教务管理系统(2000行代码).docx_第1页
第1页 / 共57页
C语言教务管理系统(2000行代码).docx_第2页
第2页 / 共57页
C语言教务管理系统(2000行代码).docx_第3页
第3页 / 共57页
C语言教务管理系统(2000行代码).docx_第4页
第4页 / 共57页
C语言教务管理系统(2000行代码).docx_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、C语言教务管理系统一、程序结构图二、程序运行截图1. 个人信息简介2. 修改颜色3. 注册界面4. 信息保存至文件5. 登录界面6. 管理员录入信息7. 学生信息录入8. 学生成绩录入9. 学生课程表录入10. 学生信息查询界面11学生信息查询12. 学生成绩查询13. 学生课表查询三、代码(一个cpp)#include#include#include#include#include #includewindows.h#define student_num 1000 /*定义1000个学生*/#define teacher_num 5/*定义5个老师(管理员)*/int is_my_stude

2、nt(struct student *p,int *size);/*声明 返回第i+1个学生的函数*/int is_my_teacher(struct teacher *p,int *size);/*声明 返回第i+1个老师的函数*/int length_student_name(char *p); /*声明 验证用户名函数*/int length_student_password(char *p);/*声明 验证密码长度函数*/int length_teacher_name(char *p); /*声明 验证用户名函数*/int length_teacher_password(char *p

3、);/*声明 验证密码长度函数*/int show_menu_login(); /*声明 登录菜单函数*/int show_menu_register(); /*声明 注册菜单函数*/int show_teacher_select(); /*声明 教师录入菜单函数*/int show_student_select();/*声明 学生查询菜单函数*/int student_register(struct student *ptr_student,int *size);/*声明 学生注册函数*/int teacher_register(struct teacher *ptr_teacher,int

4、 *size);/*声明 老师注册函数*/int vaild_student_name(char *p);/*声明 验证用户名函数*/int vaild_student_password(char *p);/*声明 验证密码函数*/int vaild_teacher_name(char *p);/*声明 验证用户名函数*/int vaild_teacher_password(char *p);/*声明 验证密码函数*/int vaild_two_password(char *p1,char *p2);/*声明 验证两次密码是否相同函数*/int yes_no_return(); /*声明 选择

5、是否返回上一层函数*/void load();/*声明 加载函数*/void register_(int *count1,int *count2);/*声明 注册函数*/void display_student(struct student stu);/*声明 显示学生信息函数*/void display_teacher(struct teacher tea);/*声明 显示老师信息函数*/void student_file1(); /*将保存的学生的账号密码存入文件中*/void student_file2();/*将保存的学生的个人信息存入文件中*/void student_file3()

6、;/*将保存的学生的成绩存入文件中*/void teacher_file(); /*将保存的老师的账号密码存入文件中*/void input_information(int count); /*声明 输入学生信息函数*/void input_score_menu(int count); /*声明 输入学生成绩函数*/void color(); /*声明 选择窗体颜色函数*/void print_stu_information(int count_stu);/*声明 输出账号为num的学生的信息函数*/void print_stu_score(int count_stu);/*声明 输出账号为n

7、um的学生的成绩函数*/void show_menu(); /*声明 初始化界面函数*/void input(); /*声明 输入函数*/void menu1(); /*声明 教师录入课程表主菜单函数*/void menu2(); /*声明 学生查询课程表主菜单函数*/void rank(); /*声明 显示时间顺序函数*/void querymenu3(); /*声明 查询函数*/void looktime(); /*声明 按照时间查询函数*/void looklessonname(); /*声明 按照课程名查询函数*/void add(); /*声明 保存函数*/void amend();

8、 /*声明 修改课程函数*/void amend1(); /*声明 修改课程子函数*/void amendnews(int i); /*声明 修改整个课程信息函数*/void amendtime(int i); /*声明 修改课程时间函数*/void amendlessonname(int i); /*声明 修改课程课程名函数*/void amendclassroom(int i); /*声明 修改课程教室函数*/void deleted(); /*声明 删除函数*/void add_score(int count); /*声明 添加学生成绩函数*/void xiugai_score(int

9、count); /*声明 修改学生成绩函数*/void shanchu_score(int count); /*声明 删除学生成绩函数*/void chaxun_score(int count); /*声明 按要求查询学生成绩函数*/void paixu_score(int count); /*声明 学生成绩排序函数*/void tongji_score(int count); /*声明 学生成绩统计函数*/float chinese(int count); /*声明 计算语文成绩最大值函数*/int chr(int count); /*声明 计算语文成绩及格人数的函数*/float engl

10、ish(int count); /*声明 计算英语成绩最大值函数*/int ehr(int count); /*声明 计算英语成绩及格人数的函数*/float math(int count); /*声明 计算数学成绩最大值函数*/int mhr(int count); /*声明 计算数学成绩及格人数的函数*/float computer(int count); /*声明 计算计算机成绩最大值函数*/int thr(int count); /*声明 计算计算机成绩及格人数的函数*/float PE(int count); /*声明 计算体育成绩最大值函数*/int phr(int count);

11、 /*声明 计算体育成绩及格人数的函数*/float sum_score(int count); /*声明 计算总分成绩最大值函数*/void load_student(int a); /*声明 启动学生函数*/void load_teacher(int a); /*声明 启动老师函数*/struct student/*学生结构体*/*个人信息*/int student_id;/*账号*/char student_name20; /*姓名*/char password16;/*密码*/int age;/*年龄*/char qq12;/*QQ号*/char tel12;/*电话*/int gra

12、de;/*年级*/*各科成绩*/float chinese;/*语文分数*/float english;/*英语分数*/float math;/*数学分数*/float computer;/*计算机分数*/float PE;/*体育分数*/float sum;/*总分*/*课程表*/char time10; /*时间*/char lessonname20; /*课程名*/char teacher20; /*授课老师*/char classroom10; /*教室*/ char hours10; /*第几节课*/int weeks; /*周时*/;struct teacher/*老师结构体*/i

13、nt teacher_id;/*账号*/char teacher_name20;/*姓名*/char password16;/*密码*/;struct student our_studentstudent_num;struct teacher our_teacherteacher_num;void main()/*主函数*/ system(color f0);/*初始化背景颜色*/show_menu();/*制作人信息简介*/load();void load()/*启动函数*/int flag=1;/*控制循环结束的变量*/int a=0,b=0;/*记录已注册的学生的人数 a为学生个数 b为

14、老师个数*/int *count1=&a,*count2=&b;/*指向学生人数和老师人数的指针*/int correct_student,correct_teacher;color();register_(count1,count2);/*注册学生和老师的帐号*/student_file1();teacher_file();while(flag)switch(show_menu_login() /*显示登录菜单*/case 1: /*选择1,进入学生登录*/if(correct_student=is_my_student(our_student,count1)printf(n学生登录成功!n

15、);display_student(our_studentcorrect_student-1);printf(n);printf();system(pause);load_student(a);elseprintf(n登录失败!n);printf(n);printf(提示:按Y退出登录界面,按N返回登录界面!n);flag=yes_no_return();system(cls);break;case 2: /*选择2,进入老师登录,即管理员登录*/if(correct_teacher=is_my_teacher(our_teacher,count2)printf(n管理员登录成功!n);dis

16、play_teacher(our_teachercorrect_teacher-1);printf(n);printf();system(pause);load_teacher(a);elseprintf(n登录失败!n);printf(n);printf(提示:按Y退出登录界面,按N返回登录界面!n);flag=yes_no_return();system(cls);break;case 3: /*选择3,退出登录*/system(cls);flag=0;break;default:printf(请正确输入1-3:);system(cls);void load_student(int a)/

17、*启动学生函数*/int flag=1;system(cls);while(flag)switch(show_student_select()case 1:/*选择1,学生信息查询*/system(cls);print_stu_information(a);printf(n);printf(提示:按Y退出学生查询界面,按N返回学生查询界面!n);flag=yes_no_return();system(cls);break;case 2:/*选择2,学生成绩查询*/system(cls);print_stu_score(a);printf(n);printf(提示:按Y退出学生查询界面,按N返回

18、学生查询界面!n);flag=yes_no_return();system(cls);break;case 3:/*选择3,学生课表查询*/menu2();printf(提示:按Y退出学生查询界面,按N返回学生查询界面!n);flag=yes_no_return();system(cls);break;case 4:/*选择4,退出查询界面*/system(cls);flag=0;break;default:printf(请正确输入1-4:);system(cls);void load_teacher(int a)/*启动老师函数*/int flag=1;system(cls);while(f

19、lag)switch(show_teacher_select()case 1:/*选择1,学生信息录入*/input_information(a);system(cls);student_file2();printf(n提示:按Y退出教师录入界面,按N返回教师录入界面!n);flag=yes_no_return();system(cls);break;case 2:/*选择2,学生成绩录入*/input_score_menu(a);system(cls);student_file3();printf(n提示:按Y退出教师录入界面,按N返回教师录入界面!n);flag=yes_no_return

20、();system(cls);break;case 3:/*选择3,学生课表录入*/menu1(); printf(提示:按Y退出教师录入界面,按N返回教师录入界面!n);flag=yes_no_return();system(cls);break;case 4:/*选择4,退出管理界面*/system(cls);flag=0;break;default:printf(请正确输入1-4:);system(cls);int length_student_name(char *p)/*验证用户名是否合法*/int l;l=strlen(p);if(l20|l=a&*p=A&*p=Z)/*判断首字母

21、是不是字母*/for(i=0;i=a&pi=A&pi=0&pi=9)/*判断后面的字符是否有效*/return 0;return 1;elsereturn 0;int length_student_password(char *p)/*密码长度有效性验证*/int len;len=strlen(p);if(len16)return 0;elsereturn 1;int vaild_student_password(char *p)/*密码的有效性验证*/int i=0;for(;*p!=0;p+)if(!(*p=a&*pA&*p=0&*p=9)return 0;return 1;int vai

22、ld_two_password(char *p1,char *p2)/*验证两次密码是否相同*/if(strcmp(p1,p2)=0)return 1;elsereturn 0;int student_register(struct student *ptr_student,int *size)/*完成注册功能*/char password16;char repassword16;if(*size=student_num)puts(注册人数已满!);printf(n);return 0;system(cls);printf(nn);printf(请输入注册学生姓名:);fflush(stdin

23、);gets(ptr_student*size.student_name);if(!(length_student_name(ptr_student*size.student_name)&vaild_student_name(ptr_student*size.student_name)printf(您输入的姓名无效,学生姓名在1-20之间,首字符为字母,后面必须为字母、数字或下划线!);return 0;printf(n);printf(请输入注册密码:);fflush(stdin);gets(password);printf(n);printf(请再次输入注册密码:);fflush(stdi

24、n);gets(repassword);printf(n);if(!vaild_two_password(password,repassword)printf(n:两次输入的密码不一致!);printf(n);return 0;elsestrcpy(ptr_student*size.password,password);if(!(length_student_password(ptr_student*size.password)&vaild_student_password(ptr_student*size.password)printf(您输入的密码无效,密码应在6-16位之间,密码只能包含

25、字母和数字!);printf(n);return 0;printf(您的编号为:%d,这将是您的登录账号!,ptr_student*size.student_id=20150000+*size);return 1;int is_my_student(struct student *p,int *size)/*如果登录成功则返回第i+1个学生的信息,否则返回0*/int i;int zhanghao;char mima18;system(cls);printf(nn);printf(请输入您的账号:);scanf(%d,&zhanghao);fflush(stdin);printf(n);pri

26、ntf(请输入您的密码:);gets(mima);for(i=0;i20|l=a&*p=A&*p=Z)/*判断首字母是不是字母*/for(i=0;i=a&pi=A&pi=0&pi=9)/*判断后面的字符是否有效*/return 0;return 1;elsereturn 0;int length_teacher_password(char *p)/*密码长度有效性验证*/int len;len=strlen(p);if(len16)return 0;elsereturn 1;int vaild_teacher_password(char *p)/*密码的有效性验证*/int i=0;for(;

27、*p!=0;p+)if(!(*p=a&*pA&*p=0&*p=9)return 0;return 1;int teacher_register(struct teacher *ptr_teacher,int *size)/*完成注册功能*/char password16;char repassword16;if(*size=teacher_num)puts(注册人数已满!);printf(n);return 0;system(cls);printf(nn);printf(请输入注册教师姓名:);fflush(stdin);gets(ptr_teacher*size.teacher_name);

28、if(!(length_teacher_name(ptr_teacher*size.teacher_name)&vaild_teacher_name(ptr_teacher*size.teacher_name)printf(您输入的姓名无效,教师姓名在1-20之间,首字符为字母,后面必须为字母、数字或下划线!);printf(n);return 0;printf(n);printf(请输入注册密码:);fflush(stdin);gets(password);printf(n);printf(请再次输入注册密码:);fflush(stdin);gets(repassword);printf(n

29、);if(!vaild_two_password(password,repassword)printf(n:两次输入的密码不一致!);printf(n);return 0;elsestrcpy(ptr_teacher*size.password,password);if(!(length_teacher_password(ptr_teacher*size.password)&vaild_teacher_password(ptr_teacher*size.password)printf(您输入的密码无效,密码应在6-16位之间,密码只能包含字母和数字!);printf(n);return 0;p

30、rintf(您的编号为:%d,这将是您的登录账号。,ptr_teacher*size.teacher_id=20150+*size);return 1;int is_my_teacher(struct teacher *p,int *size)/*如果登录成功则返回第i+1个老师的信息,否则返回0*/int i;int zhanghao;char mima18;system(cls);printf(nn);printf(请输入您的账号:);scanf(%d,&zhanghao);fflush(stdin);printf(n);printf(请输入您的密码:);gets(mima);for(i=

31、0;i*size;i+)if(zhanghao=pi.teacher_id)&(strcmp(mima,pi.password)=0)return i+1;return 0;void display_teacher(struct teacher tea)/*显示老师信息*/printf(n您的账号是:%dn,tea.teacher_id);void register_(int *count1,int *count2)/*注册函数*/int i=1;while(i)switch(show_menu_register()case 1:if(student_register(our_student,

32、count1)(*count1)+;printf(n);printf(n注册成功!n);printf( );system(pause);system(cls);break;case 2:if(teacher_register(our_teacher,count2)(*count2)+;printf(n);printf(n注册成功!n);printf( );system(pause);system(cls);break;case 3:i=0;system(cls);break;default:printf(请正确输入:n);printf( );system(pause);system(cls);

33、void input_information(int count)int k;system(cls);for(k=0;kcount;k+)printf(nn);printf(t请输入第%d位同学的信息n,k+1);printf(tt请录入学号为%d的学生的年龄:,our_studentk.student_id);scanf(%d,&our_studentk.age);printf(n);printf(tt请录入学号为%d的学生的QQ号:,our_studentk.student_id);scanf(%s,our_studentk.qq);printf(n);printf(tt请录入学号为%d的

34、学生的电话:,our_studentk.student_id);scanf(%s,our_studentk.tel);printf(n);printf(tt请录入学号为%d的学生的年级:,our_studentk.student_id);scanf(%d,&our_studentk.grade);printf(n);printf(tt您已经成功将学号为%d的学生的信息录入!n,our_studentk.student_id);void input_score_menu(int count)int number,i=1;system(cls);printf(nn);printf(t*学生成绩管理*n);printf(t* *n);printf(t* 1. 添加学生成绩 *n);printf(t* 2. 修改学生成绩 *n);printf(t* 3. 删除学生成绩 *n);printf(t* 4. 按要求查询学生成绩 *n);printf(t* 5. 按要求排序 *n);printf(t* 6. 按要求统计成绩 *n);printf(t* 7. 退出学生成绩管理 *n);printf(t*

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服