C语言的教务管理系统行代码.docx
- 文档编号:10626941
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:88
- 大小:647.76KB
C语言的教务管理系统行代码.docx
《C语言的教务管理系统行代码.docx》由会员分享,可在线阅读,更多相关《C语言的教务管理系统行代码.docx(88页珍藏版)》请在冰豆网上搜索。
C语言的教务管理系统行代码
C语言教务管理系统
一、程序结构图
二、程序运行截图
1.个人信息简介
2.修改颜色
3.注册界面
4.信息保存至文件
5.登录界面
6.管理员录入信息
7.学生信息录入
8.学生成绩录入
9.学生课程表录入
10.学生信息查询界面
11学生信息查询
12.学生成绩查询
13.学生课表查询
三、代码(一个cpp)
#include
#include
#include
#include
#include
#include"windows.h"
#definestudent_num1000/*定义1000个学生*/
#defineteacher_num5/*定义5个老师(管理员)*/
intis_my_student(structstudent*p,int*size);/*声明返回第i+1个学生的函数*/
intis_my_teacher(structteacher*p,int*size);/*声明返回第i+1个老师的函数*/
intlength_student_name(char*p);/*声明验证用户名函数*/
intlength_student_password(char*p);/*声明验证密码长度函数*/
intlength_teacher_name(char*p);/*声明验证用户名函数*/
intlength_teacher_password(char*p);/*声明验证密码长度函数*/
intshow_menu_login();/*声明登录菜单函数*/
intshow_menu_register();/*声明注册菜单函数*/
intshow_teacher_select();/*声明教师录入菜单函数*/
intshow_student_select();/*声明学生查询菜单函数*/
intstudent_register(structstudent*ptr_student,int*size);/*声明学生注册函数*/
intteacher_register(structteacher*ptr_teacher,int*size);/*声明老师注册函数*/
intvaild_student_name(char*p);/*声明验证用户名函数*/
intvaild_student_password(char*p);/*声明验证密码函数*/
intvaild_teacher_name(char*p);/*声明验证用户名函数*/
intvaild_teacher_password(char*p);/*声明验证密码函数*/
intvaild_two_password(char*p1,char*p2);/*声明验证两次密码是否相同函数*/
intyes_no_return();/*声明选择是否返回上一层函数*/
voidload();/*声明加载函数*/
voidregister_(int*count1,int*count2);/*声明注册函数*/
voiddisplay_student(structstudentstu);/*声明显示学生信息函数*/
voiddisplay_teacher(structteachertea);/*声明显示老师信息函数*/
voidstudent_file1();/*将保存的学生的账号密码存入文件中*/
voidstudent_file2();/*将保存的学生的个人信息存入文件中*/
voidstudent_file3();/*将保存的学生的成绩存入文件中*/
voidteacher_file();/*将保存的老师的账号密码存入文件中*/
voidinput_information(intcount);/*声明输入学生信息函数*/
voidinput_score_menu(intcount);/*声明输入学生成绩函数*/
voidcolor();/*声明选择窗体颜色函数*/
voidprint_stu_information(intcount_stu);/*声明输出账号为num的学生的信息函数*/
voidprint_stu_score(intcount_stu);/*声明输出账号为num的学生的成绩函数*/
voidshow_menu();/*声明初始化界面函数*/
voidinput();/*声明输入函数*/
voidmenu1();/*声明教师录入课程表主菜单函数*/
voidmenu2();/*声明学生查询课程表主菜单函数*/
voidrank();/*声明显示时间顺序函数*/
voidquerymenu3();/*声明查询函数*/
voidlooktime();/*声明按照时间查询函数*/
voidlooklessonname();/*声明按照课程名查询函数*/
voidadd();/*声明保存函数*/
voidamend();/*声明修改课程函数*/
voidamend1();/*声明修改课程子函数*/
voidamendnews(inti);/*声明修改整个课程信息函数*/
voidamendtime(inti);/*声明修改课程时间函数*/
voidamendlessonname(inti);/*声明修改课程课程名函数*/
voidamendclassroom(inti);/*声明修改课程教室函数*/
voiddeleted();/*声明删除函数*/
voidadd_score(intcount);/*声明添加学生成绩函数*/
voidxiugai_score(intcount);/*声明修改学生成绩函数*/
voidshanchu_score(intcount);/*声明删除学生成绩函数*/
voidchaxun_score(intcount);/*声明按要求查询学生成绩函数*/
voidpaixu_score(intcount);/*声明学生成绩排序函数*/
voidtongji_score(intcount);/*声明学生成绩统计函数*/
floatchinese(intcount);/*声明计算语文成绩最大值函数*/
intchr(intcount);/*声明计算语文成绩及格人数的函数*/
floatenglish(intcount);/*声明计算英语成绩最大值函数*/
intehr(intcount);/*声明计算英语成绩及格人数的函数*/
floatmath(intcount);/*声明计算数学成绩最大值函数*/
intmhr(intcount);/*声明计算数学成绩及格人数的函数*/
floatcomputer(intcount);/*声明计算计算机成绩最大值函数*/
intthr(intcount);/*声明计算计算机成绩及格人数的函数*/
floatPE(intcount);/*声明计算体育成绩最大值函数*/
intphr(intcount);/*声明计算体育成绩及格人数的函数*/
floatsum_score(intcount);/*声明计算总分成绩最大值函数*/
voidload_student(inta);/*声明启动学生函数*/
voidload_teacher(inta);/*声明启动老师函数*/
structstudent/*学生结构体*/
{
/*个人信息*/
intstudent_id;/*账号*/
charstudent_name[20];/*姓名*/
charpassword[16];/*密码*/
intage;/*年龄*/
charqq[12];/*QQ号*/
chartel[12];/*电话*/
intgrade;/*年级*/
/*各科成绩*/
floatchinese;/*语文分数*/
floatenglish;/*英语分数*/
floatmath;/*数学分数*/
floatcomputer;/*计算机分数*/
floatPE;/*体育分数*/
floatsum;/*总分*/
/*课程表*/
chartime[10];/*时间*/
charlessonname[20];/*课程名*/
charteacher[20];/*授课老师*/
charclassroom[10];/*教室*/
charhours[10];/*第几节课*/
intweeks;/*周时*/
};
structteacher/*老师结构体*/
{
intteacher_id;/*账号*/
charteacher_name[20];/*姓名*/
charpassword[16];/*密码*/
};
structstudentour_student[student_num];
structteacherour_teacher[teacher_num];
voidmain()/*主函数*/
{
system("colorf0");/*初始化背景颜色*/
show_menu();/*制作人信息简介*/
load();
}
voidload()/*启动函数*/
{
intflag=1;/*控制循环结束的变量*/
inta=0,b=0;/*记录已注册的学生的人数a为学生个数b为老师个数*/
int*count1=&a,*count2=&b;/*指向学生人数和老师人数的指针*/
intcorrect_student,correct_teacher;
color();
register_(count1,count2);/*注册学生和老师的帐号*/
student_file1();
teacher_file();
while(flag)
{
switch(show_menu_login())/*显示登录菜单*/
{
case1:
/*选择1,进入学生登录*/
if(correct_student=is_my_student(our_student,count1))
{
printf("\n◆学生登录成功!
\n");
display_student(our_student[correct_student-1]);
printf("\n");
printf("");
system("pause");
load_student(a);
}
else
printf("\n登录失败!
\n");
printf("\n");
printf("提示:
按Y退出登录界面,按N返回登录界面!
!
!
\n");
flag=yes_no_return();
system("cls");
break;
case2:
/*选择2,进入老师登录,即管理员登录*/
if(correct_teacher=is_my_teacher(our_teacher,count2))
{
printf("\n◆管理员登录成功!
\n");
display_teacher(our_teacher[correct_teacher-1]);
printf("\n");
printf("");
system("pause");
load_teacher(a);
}
else
printf("\n登录失败!
\n");
printf("\n");
printf("提示:
按Y退出登录界面,按N返回登录界面!
!
!
\n");
flag=yes_no_return();
system("cls");
break;
case3:
/*选择3,退出登录*/
system("cls");
flag=0;
break;
default:
printf("请正确输入1-3:
");
system("cls");
}
}
}
voidload_student(inta)/*启动学生函数*/
{
intflag=1;
system("cls");
while(flag)
{
switch(show_student_select())
{
case1:
/*选择1,学生信息查询*/
system("cls");
print_stu_information(a);
printf("\n");
printf("提示:
按Y退出学生查询界面,按N返回学生查询界面!
!
!
\n");
flag=yes_no_return();
system("cls");
break;
case2:
/*选择2,学生成绩查询*/
system("cls");
print_stu_score(a);
printf("\n");
printf("提示:
按Y退出学生查询界面,按N返回学生查询界面!
!
!
\n");
flag=yes_no_return();
system("cls");
break;
case3:
/*选择3,学生课表查询*/
menu2();
printf("提示:
按Y退出学生查询界面,按N返回学生查询界面!
!
!
\n");
flag=yes_no_return();
system("cls");
break;
case4:
/*选择4,退出查询界面*/
system("cls");
flag=0;
break;
default:
printf("请正确输入1-4:
");
system("cls");
}
}
}
voidload_teacher(inta)/*启动老师函数*/
{
intflag=1;
system("cls");
while(flag)
{
switch(show_teacher_select())
{
case1:
/*选择1,学生信息录入*/
input_information(a);
system("cls");
student_file2();
printf("\n提示:
按Y退出教师录入界面,按N返回教师录入界面!
!
!
\n");
flag=yes_no_return();
system("cls");
break;
case2:
/*选择2,学生成绩录入*/
input_score_menu(a);
system("cls");
student_file3();
printf("\n提示:
按Y退出教师录入界面,按N返回教师录入界面!
!
!
\n");
flag=yes_no_return();
system("cls");
break;
case3:
/*选择3,学生课表录入*/
menu1();
printf("提示:
按Y退出教师录入界面,按N返回教师录入界面!
!
!
\n");
flag=yes_no_return();
system("cls");
break;
case4:
/*选择4,退出管理界面*/
system("cls");
flag=0;
break;
default:
printf("请正确输入1-4:
");
system("cls");
}
}
}
intlength_student_name(char*p)/*验证用户名是否合法*/
{
intl;
l=strlen(p);
if(l>20||l<1)
return0;
else
return1;
}
intvaild_student_name(char*p)/*判断用户名是否有效*/
{
inti=0;
intlen=strlen(p);
if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))/*判断首字母是不是字母*/
{
for(i=0;i { if(! (p[i]='_'||(p[i]>='a'&&p[i]<='z')||(p[i]>='A'&&p[i]<='Z')||(p[i]>='0'&&p[i]<='9')))/*判断后面的字符是否有效*/ return0; } return1; } else return0; } intlength_student_password(char*p)/*密码长度有效性验证*/ { intlen; len=strlen(p); if(len<6||len>16) return0; else return1; } intvaild_student_password(char*p)/*密码的有效性验证*/ { inti=0; for(;*p! ='\0';p++) { if(! ((*p>='a'&&*p<='z')||(*p>'A'&&*p<'Z')||(*p>='0'&&*p<='9'))) return0; } return1; } intvaild_two_password(char*p1,char*p2)/*验证两次密码是否相同*/ { if(strcmp(p1,p2)==0) return1; else return0; } intstudent_register(structstudent*ptr_student,int*size)/*完成注册功能*/ { charpassword[16]; charrepassword[16]; if(*size==student_num) { puts("◆注册人数已满! "); printf("\n"); return0; } system("cls"); printf("\n\n"); printf("★请输入注册学生姓名: "); fflush(stdin); 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之间,首字符为字母,后面必须为字母、数字或下划线! ! ! "); return0; } printf("\n"); printf("★请输入注册密码: "); fflush(stdin); gets(password); printf("\n"); printf("★请再次输入注册密码: "); fflush(stdin); gets(repassword); printf("\n"); if(! vaild_two_password(password,repassword)) { printf("\n№: 两次输入的密码不一致! ! ! "); printf("\n"); return0; } else strcpy(ptr_student[*size].password,password); if(! (length_student_password(ptr_student[*size].password)&&vaild_student_password(ptr_student[*size].password))) { printf("◆您输入的密码无效,密码应在6-16位之间,密码只能包含字母和数字! ! ! "); printf("\n"); return0; } printf("★您的编号为: %d,这将是您的登录账号! ! ! ",ptr_student[*size].student_id=20150000+*size); return1; } intis_my_student(structstudent*p,int*size)/*如果登录成功则返回第i+1个学生的信息,否则返回0*/ { inti; intzhanghao; charmima[18]; system("cls"); printf("\n\n"); printf("★请输入您的账号: "); scanf("%d",&zhanghao); fflush(stdin); printf("\n"); printf("★请输入您的密码: "); gets(mima); for(i=0;i<*size;i++) { if((zhanghao==p[i].student_id)&&(strcmp(mima,p[i].password)==0)) returni+1; } return0; } voiddisplay_student(structstudentstu)/*显示学生信息*/ { printf("\n★您的账号是: %d\n",stu.student_id);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 教务 管理 系统 代码