学生综合测评系统Word文档格式.docx
- 文档编号:5340254
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:26
- 大小:58.86KB
学生综合测评系统Word文档格式.docx
《学生综合测评系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生综合测评系统Word文档格式.docx(26页珍藏版)》请在冰点文库上搜索。
提示:
打开文件,显示该文件的学生信息。
B、学生数据处理:
(1)按考试科目录入学生成绩并且按公式:
考试成绩=(语文+数学+外语)/3计算考试成绩,并计算考试名次,提示:
先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。
(2)学生测评数据输入并计算综合测评总分及名次。
综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。
(3)学生数据管理
输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件
(4)学生数据查询:
输入学号或其他信息,即读出所有数据信息,并显示出来。
C、学生综合信息输出
输出学生信息到屏幕。
三、算法提示:
1、数据结构:
结构体类型数组
2、数据库结构:
下表构成该系统的基本数据库。
学号
姓名
考试成绩
…
评分
Char
struct
int
四、测试数据:
学生人数:
N=10
1.课程设计目的
掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。
2.课程设计主要任务
的信息为:
A学生信息处理
考试成绩=(语文+数学+外语)/3计算考试成绩,并计算考试名次。
3.设计环境
1)硬件:
PC机,档次不低于CPU为PIII667,内存为128M,4G硬盘,其它硬件与此相配套。
2)软件:
WindowsXP,VC++6.0
4.总体设计方案的选定
本设计采用模块化结构设计,主要包括:
主菜单(menu)下的学生信息处理系统(info_menu)、学生数据处理系统(data_menu)、学生综合信息输出(shuchu)、帮助信息(help)、退出系统;
学生信息处理系统(info_menu)下的输入学生信息(info_input)、修改学生信息(xiugai)、删除学生信息(info_del)、浏览学生信息(info_output)、返回主菜单;
学生数据处理系统下的(data_menu)录入成绩数据(data_input)、修改学生数据(data_xiugai)、学生数据查询(data_chaxun)、返回主菜单。
学生综合测评系统结构框图
5.源程序清单
#include<
stdio.h>
//包含文件
#include"
stdlib.h"
string.h"
intcount;
voidinfo_daoru();
voidinfo_xieru();
voidinfo_del();
voidinfo_xiugai();
voiddata_xieru();
voiddata_daoru();
voiddata_xiugai();
voiddata_chaxun();
voiddata_input();
voidshuchu();
structstudent{//定义学生信息结构数组
doublenumber;
charname[11];
charsex[4];
charadds[15];
charphone[14];
}p,info[100],w={0,"
"
"
};
structdata{//定义学生数据结构数组
intchinese,math,english,stu,ksmc,pinde,teacher;
floataver,ceping;
}data[100];
intmain()//主函数
{
system("
color9e"
);
voiddata_menu();
voidinfo_menu();
voidhelp();
voidmenu();
printf("
\n\n\n\t\t............欢迎使用学生综合管理系统............\n\n"
\t\t\t\t本程序由宗幸幸借鉴陈伟的程序编写\n\n"
\n\n\t\t"
pause"
menu();
return0;
}
voidhelp()//帮助信息
cls"
//清屏
*欢迎使用本系统!
*\n\n"
本系统可以存储学生的基本信息和各科成绩,并能计算考试平均成绩,综合测评成绩和排名。
\n"
基本信息包括:
学号、姓名、性别、家庭住址、联系电话;
\n各科成绩包括:
语文、数学、外语成绩;
其它包括:
考试名次、同学互评分、品德成绩、任课教师评分等。
说明:
考试成绩排名是按照考试成绩计算的(考试成绩=(语+数+外)/3);
综合测评总分=((考试成绩)*0.6+(同学互评分)*0.1+(品德成绩)*0.1+(任课教师评分)*0.2)\n"
其它请按照提示操作即可。
\n\n"
如有疑问,请联系:
QQ:
905524188\n\n"
voidinfo_daoru()//学生信息导出文件函数
FILE*f_info;
structstudentp={NULL};
\n\n\t正在导入...\n\n"
if((f_info=fopen("
info.txt"
r"
))==NULL){
printf("
\n\t打开文件失败!
return;
}
count=0;
while(!
feof(f_info)){
fscanf(f_info,"
%lf%s%s%s%s"
&
p.number,p.name,p.sex,p.adds,p.phone);
info[count]=p;
count++;
\n\t导入已完成!
共导入%d条记录!
\n\n\n"
count);
fclose(f_info);
voidinfo_input()//学生信息输入函数
inti,j;
info_daoru();
for(;
;
){
\t请输入学号(输入0退出):
"
scanf("
%lf"
p.number);
if(p.number==0)return;
for(i=0;
i<
=count;
i++){//判断是否存在该学生
if(p.number==info[i].number){
printf("
\n\n\t该学号已存在!
请重新输入!
return;
}
}
\t请输入姓名:
//输入学生信息
getchar();
gets(p.name);
\t请输入性别:
gets(p.sex);
\t请输入家庭住址:
gets(p.adds);
\t请输入电话号码:
gets(p.phone);
count;
i++){//按学号排序
if(info[i].number>
info[count].number){
for(j=count;
j>
i;
j--){
info[j]=info[j-1];
}
info[i]=p;
break;
}
voidinfo_output()//学生信息浏览
inti;
))==NULL){//判断
\n\t没有学生信息!
info_daoru();
if(count==0){//判断
}
else{
\t学号\t姓名\t性别\t家庭住址\t联系电话\n"
//输出学生信息
i++){
printf("
%10.0lf"
info[i].number);
%10s"
info[i].name);
info[i].sex);
%15s"
info[i].adds);
%13s\n\n"
info[i].phone);
\t请按任意键返回上级:
\n\n\n\n"
voidinfo_menu()//学生信息菜单
intchoice;
while
(1){
system("
\n\n\n\n\t\t☆☆☆☆☆学生信息处理系统☆☆☆☆☆\n\n"
\t\t\t●1.输入学生信息\n"
\t\t\t●2.修改学生信息\n"
\t\t\t●3.删除学生信息\n"
\t\t\t●4.浏览学生信息\n"
\t\t\t●0.返回主菜单\n\n"
\t\t请输入序号选择操作:
%d"
choice);
if(choice==0)break;
switch(choice){
case1:
info_input();
info_xieru();
break;
case2:
info_xiugai();
case3:
info_del();
case4:
info_output();
default:
\n\t输入有误!
voiddata_menu()//数据处理菜单
\n\t在进入学生数据管理前,请确认学生信息已全部完成!
\n\t是否继续?
输入数字选择(0:
返回;
其它数字继续。
)\n"
scanf("
if(choice==0)return;
\n\n\n\n\t\t☆☆☆☆☆学生数据处理系统☆☆☆☆☆\n\n"
\t\t\t●1.录入成绩数据\n"
\t\t\t●2.修改学生数据\n"
\t\t\t●3.学生数据查询\n"
data_input();
data_xiugai();
data_chaxun();
voidmenu()//主菜单函数
\n\n\n\n\t\t--------※主----菜----单※--------\n\n"
\t\t\t●1.学生信息处理系统\n"
\t\t\t●2.学生数据处理系统\n"
\t\t\t●3.学生综合信息输出\n"
\t\t\t●4.帮助信息\n"
\t\t\t●0.退出系统\n\n"
if(choice==0){
\t\t☆☆☆☆☆你已经退出,谢谢使用!
☆☆☆☆☆\n\n\t\t"
break;
switch(choice){
case1:
info_menu();
case2:
data_menu();
case4:
help();
case3:
shuchu();
voidinfo_xieru()//学生信息写入文件函数
FILE*f;
if((f=fopen("
a"
exit(0);
for(i=0;
i++){//保存文件
if(info[i].number==w.number)continue;
elsefprintf(f,"
%.0lf%s%s%s%s"
info[i].number,info[i].name,info[i].sex,info[i].adds,info[i].phone);
fclose(f);
\n\t保存成功!
return;
voidinfo_del()//学生信息删除
doublepp;
\n\t请输入要删除学生的学号:
pp);
i++){//判断
if(info[i].number==pp)break;
if(i>
=count){
\n\t没有找到该学生!
\t学号\t姓名\t性别家庭住址\t联系电话\n"
//显示删除信息
\n\t是否删除?
\t1.是\t2.否\t"
j);
switch(j){
info[i]=w;
\n\t删除成功!
case2:
default:
输入错误!
break;
break;
voidinfo_xiugai()//修改学生信息
\n\t请输入要修改学生的学号:
//查找
\t学号\t姓名\t性别\t家庭住址\t联系电话\n"
//显示
\n\t是否修改?
while
(1){//修改
\t学号为:
%.0lf\n"
:
%s"
\t请输入性别:
scanf("
scanf("
\t请输入电话号码:
\n\t修改成功!
//保存
voiddata_daoru()//学生数据导出
FILE*f_data;
structdatap={NULL};
if((f_data=fopen("
data.txt"
feof(f_data)){
fscanf(f_data,"
%lf%s%s%s%s%d%d%d%d%f%d%d%d%f"
p.number,p.name,p.sex,p.adds,p.phone,&
p.chinese,&
p.math,&
p.english,&
p.stu,&
p.aver,&
p.ksmc,&
p.pinde,&
p.teacher,&
p.ceping);
data[count]=p;
//nnaseadpchmaensuavkspitece
fclose(f_data);
//关闭文件
voiddata_xieru()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 综合 测评 系统