c语言程序2000行代码,C语言教务管理系统2000行代码

《C语言教务管理系统2000行代码》由会员分享,可在线阅读,更多相关《C语言教务管理系统2000行代码(56页珍藏版)》请在读根文库上搜索。

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/*老师结构体*/in。

13、t 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);displ。

16、ay_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(fla。

19、g)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=a&pi=A&pi=0。

21、&pi16)return 0;elsereturn 1;int vaild_student_password(char *p)/*密码的有效性验证*/int i=0;for(;*p!=0;p+)if(!(*p=a&*pA&*p=0&*p20|l=a&*p=A&*p=a&pi=A&pi=0&pi16)return 0;elsereturn 1;int vaild_teacher_password(char *p)/*密码的有效性验证*/int i=0;for(;*p!=0;p+)if(!(*p=a&*pA&*p=0&*p=9)return 0;return 1;int teacher_regis。

22、ter(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);if(!(length_teacher_name(ptr_teacher*size.teacher_name)&vaild_teache。

23、r_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);if(!vaild_two_password(password,repassword)printf(n:两次输入的密码不一致!);p。

24、rintf(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;printf(您的编号为:%d,这将是您的登录账号。,ptr_teacher*size.teacher_id=20150+*size);r。

25、eturn 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=0;i*size;i+)if(zhanghao=pi.teacher_id)&(strcmp(mima,pi.password)=0)r。

26、eturn 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,count1)(*count1)+;printf(n);printf(n注册成功!n);printf( );system(pause);。

27、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);void input_information(int count)int k;system(cls);for(k=0;kcount;k+。

28、)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的学生的电话:,our_studentk.student_id);scanf(%s,our_studentk.tel);printf(n)。

29、;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* 。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个C++管理系统基本涵盖了“学生成绩管理系统”的所有功能,你可以从中借鉴到C++链表、类、封装、继承、文件操作、排序等等很多知识,极具借鉴意义,以下为本项目的功能介绍: 1. 建立文件 (1)可以使用默认文件名或指定文件名将记录存储到 (2)设置适当的标志位,作为对记录进操作的 (3)写同名文件将覆盖原来文件的 2.增加学生记录 (1) 可在已有记录后面追加新的记录 (2) 可以随时增加新的记录,它们仅保存在向量数组中 (3) 可以将一个文件读入,追加在已有记录之后 (4) 采取文件追加方式时,在没有保存到文件之前,将继续保持文件追加状态,以便实现连续追加操作方式 3. 新建学生信息文件 (1) 用来新建学生信息记录 (2) 如果已经有记录存在,可以覆盖原记录或者在原记录后面追加,也可以将原有记录信息保存 到一个指定文件,然后重新建立记录 (3) 给出相应的提示信息 4. 显示记录 (1) 如果没有记录可供显示,给出提示信息 (2) 可以随时显示内存中的记录 (3) 显示表头 5. 文件存储 (1) 可以按默认名字或指定名字存储记录文件 6. 读取文件 (1) 可以按默认名字或指定名字将记录文件读入内存 (2) 可以将指定或默认文件追加到现有记录的尾部 (3) 可以将文件连续追加到现有记录并更新记录中的“名次” 7. 删除记录 (1) 可以按“学号”、“姓名”或“名次”方式删除记录 (2) 标志将被删除的记录, 可以再次取消标志, 经确认后删除已经标志的记录(3) 如果记录是空表, 删除时应给出提示信息并返回主菜单 (4) 如果没有要删除的信息, 输出“没有找到”的信息 (5) 更新其他记录的名次 (6) 删除操作仅限于内存, 只有执存储操作时, 才能覆盖原记录 8. 修改记录 (1) 可以按“学号”、“姓名”或“名次”方式查找要修改的记录内容 (2) 给出将被修改记录的信息, 经确认后进修改 (3) 如果记录已经是空表,应给出提示信息并返回主菜单 (4) 如果没有找到需要修改的信息, 输出“没有找到”的信息 (5) 更新其他记录的名次 (6) 修改操作仅限于内存, 只有执存储操作时, 才能覆盖原记录 9. 查询记录 (1) 可以按“学号”、“姓名”或“名次”方式查询记录 (2) 能给出查询记录的信息 (3) 如果查询的信息不存在, 输出提示信息 10. 对记录进排序 (1) 可以按”学号”进升序和降序排列 (2) 可以按”姓名”进升序和降序排列 (3) 可以按”名次”进升序和降序排列 (4) 如果属于选择错误, 可以立即退出程序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值