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);