学生教务管理系统Word格式.docx

上传人:b****1 文档编号:4345021 上传时间:2023-05-03 格式:DOCX 页数:15 大小:50.74KB
下载 相关 举报
学生教务管理系统Word格式.docx_第1页
第1页 / 共15页
学生教务管理系统Word格式.docx_第2页
第2页 / 共15页
学生教务管理系统Word格式.docx_第3页
第3页 / 共15页
学生教务管理系统Word格式.docx_第4页
第4页 / 共15页
学生教务管理系统Word格式.docx_第5页
第5页 / 共15页
学生教务管理系统Word格式.docx_第6页
第6页 / 共15页
学生教务管理系统Word格式.docx_第7页
第7页 / 共15页
学生教务管理系统Word格式.docx_第8页
第8页 / 共15页
学生教务管理系统Word格式.docx_第9页
第9页 / 共15页
学生教务管理系统Word格式.docx_第10页
第10页 / 共15页
学生教务管理系统Word格式.docx_第11页
第11页 / 共15页
学生教务管理系统Word格式.docx_第12页
第12页 / 共15页
学生教务管理系统Word格式.docx_第13页
第13页 / 共15页
学生教务管理系统Word格式.docx_第14页
第14页 / 共15页
学生教务管理系统Word格式.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学生教务管理系统Word格式.docx

《学生教务管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《学生教务管理系统Word格式.docx(15页珍藏版)》请在冰点文库上搜索。

学生教务管理系统Word格式.docx

查询个人成绩,查询个人信息,修改个人信息

教师模块:

添加学生成绩,修改学生成绩,删除学生成绩,查询学生信息,查询个人信息,修改个人信息。

2.3.2数据物理设计

学生

列名

数据类型

可否为空

姓名

char

学号

出身地

身份证号

联系方式

教师

教师号

课程

管理员

证件号

成绩

数学成绩

float

体育成绩

英语成绩

C语言成绩

社会实践

总分

平均分

2.3.3功能模块

管理员可以进行的功能有成绩管理,学生管理,教师管理,管理员管理,每个模块都有添加,删除,修改,统计,查询五个基本功能。

系统实现

系统硬件环境为计算机,系统软件环境:

VC++,

2.4.4系统功能模块设计与实现

2.4.4.1功能实现

下面分别对该模块中的具体功能进行详细描述,并配相应功能的截图

1.添加功能

FILE*fp;

charch2;

inti=0,ch1;

printf("

欢迎进入防灾科技学院学生管理系统\n"

);

添加请输入y,退出请输入n\n"

scanf("

%c"

&

ch2);

if(ch2=='

y'

{

do

fp=fopen("

"

"

a+"

/*输入所要添加的内容*/

fwrite(&

manager[i],sizeof(structmanager),1,fp);

printf("

%s,%s,%s,%s\n"

manager[i].name,manager[i].sex,manager[i].mnum,manager[i].zhiwei);

是否继续添加,继续添加请输入1,否则输入0\n"

%d"

ch1);

i++;

fclose(fp);

}while(ch1==1);

}

2.修改功能

首先选择修改的依据,可以依据证件号,姓名两张方式修改。

具体实现代码如下:

fp=fopen("

r+"

printf("

请输入需要修改的人员的编号\n"

scanf("

%s"

str);

for(i=0;

fread(&

manager[i],sizeof(structmanager),1,fp)!

=0;

i++)

{

if(strcmp(str,manager[i].mnum)==0)

{

printf("

manager[i].name,manager[i].sex,manager[i].mnum,manager[i].zhiwei);

确认修改,确认请输入1,退出则输入0\n"

scanf("

if(ch1==1)

{

/*选择修改的类型*/

switch(ch2)

case1:

{

printf("

请输入所要修改的姓名\n"

scanf("

manager[i].name);

fwrite(&

}break;

3.删除功能

删除可以依据证件号和姓名查询,删除方法是,先找到需要删除的人,然后让排在其后的人员的信息替换这个人的信息。

具体代码如下:

charname[20];

inti,flag,n,j,ch;

originaldata\n"

for(i=0,flag=1;

teacher[i],sizeof(structteacher),1,fp)!

n=i+1;

fclose(fp);

do

请输入您所要删除的人员的名字\n"

name);

r"

flag&

&

i<

n;

if(strcmp(name,manager[i].name)==0)

for(j=i;

j<

n-1;

j++)

/*后一个人的信息覆盖所需删除人的信息*/

}flag=0;

if(!

flag)

n=n-1;

elseprintf("

notfound\n"

w"

for(i=0;

fwrite(&

manager[i].name,manager[i].sex,manager[i].mnum,manager[i].zhiwei);

是否继续删除,继续请输入1,否则请输入0\n"

ch);

}while(ch==1);

}

4.查询功能

inti;

intch1;

请输入姓名"

if(strcmp(name,manager[i].name)==0)printf("

}

继续请输入1,否则输入0\n"

5.统计功能

intn,i;

共有%d名管理员\n"

n);

6.权限管理:

FILE*fp;

charmnum[10],str[10];

inti,flag,n;

欢迎进入学生管理系统\n"

请输入证件号\n"

mnum);

请输入密码\n"

scanf("

n=i+1;

printf("

n&

flag;

if((strcmp(mnum,manager[i].mnum)==0)&

(strcmp(str,manager[i].mima)==0))

{

managermanage();

flag=0;

if(flag)

警告,密码输入错误\n"

7.成绩添加

由教师添加,根据教师所教授课程而添加,具体实现代码:

FILE*fp,*fp1,*fp2;

inti,n,k,j;

chartnum[10],snum[10];

charstr1[]="

math"

str2[]="

ph"

str3[]="

c_language"

str4[]="

english"

str5[]="

practise"

;

请输入您的教师号\n"

tnum);

fp=fopen("

if(strcmp(tnum,teacher[i].tnum)==0)

n=i;

}

if(strcmp(teacher[n].course,str1)==0)

do{

fp1=fopen("

fp2=fopen("

printf("

请输入您所要添加学生的学号\n"

scanf("

snum);

j=0;

for(i=0;

student[i],sizeof(structstudent),1,fp1)!

{

if(strcmp(snum,student[i].snum)==0)

strcpy(grade[j].num,student[i].snum);

}

请输入高等数学的成绩\n"

%f"

grade[j].math);

fwrite(&

grade[j],sizeof(structgrade),1,fp2);

j++;

fclose(fp1);

fclose(fp2);

是否继续添加,是1,否0\n"

k);

}while(k==1);

}

elseif(strcmp(teacher[n].course,str4)==0)

继续添加其他课程

elseprintf("

不存在这门课,请核实\n"

fclose(fp);

8.成绩计算:

inti;

grade[i],sizeof(structgrade),1,fp)!

grade[i].sum=grade[i].math+grade[i].ph+grade[i].english+grade[i].c_language+grade[i].practise;

grade[i].aver=grade[i].sum/5;

学号为%s的学生的总成绩是%f\n"

grade[i].num,grade[i].sum);

学号为%s的学生的平均成绩是%f\n"

grade[i].num,grade[i].aver);

grade[i],sizeof(structgrade),1,fp);

9.成绩排序

主要是运用冒泡排序法。

代码:

FILE*fp,*fp1;

inti,n,j;

floattemp;

i++);

n=i+1;

for(j=0;

n-i;

if(grade[j].aver<

grade[j+1].aver)

temp=grade[j].aver;

grade[j].aver=grade[j+1].aver;

grade[j+1].aver=temp;

学号为%s的学生的成绩为%f\n"

fp1=fopen("

grade[i],sizeof(structgrade),1,fp1);

fclose(fp1);

10.计算成绩最高最低分,、

采用穷比法,首先设第一个人的成绩是最高或最低,再和其他人员的成绩比较,直到所有人员比较完之后,找出最高分或最低分。

FILE*fp,*fp1;

inti,n,k;

floatmax,min;

fp1=fopen("

max=grade[0].aver;

min=grade[0].aver;

for(i=1;

if(max<

grade[i].aver)

max=grade[i].aver;

k=i;

=max;

strcpy,grade[k].num);

if(min>

min=grade[i].aver;

=min;

fwrite(&

grade_count,sizeof(structgrade_count),1,fp);

fclose(fp);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2