学生综合测评系统
- 格式:doc
- 大小:654.50 KB
- 文档页数:22
课程设计(大作业)报告课程名称:软件体系结构设计题目:学生综合测评管理系统院系:信息技术学院班级:设计者:学号:指导教师:设计时间:信息技术学院昆明学院课程设计(大作业)任务书课程设计报告摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
首先,本文经过对学生综合测评系统发展现状的调查,面临技术上的发展的新形势,运用所学计算机软件工程相关理论,包括数据库原理等知识,综合考虑当前综合测评系统所应该具备的各种功能和外部环境的各种因素,进行系统评估,对各个方案设计进行再定位,从而选择最佳的方案设计。
其次,本文阐述了学生综合测评系统登录系统的设计与实现。
力求实现对系统信息的查询,添加,删除,修改等功能,最终构建集成为使用运转良好,扩展性、适应性强的综合测评系统。
文章介绍了学生管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,并附带了主要的界面和程序。
一、系统描述1、系统需求(1)系统功能:作为登录模块系统设计,我们经小组讨论,应具有欢迎界面,由于系统需要,在登录的同时应具有教师或者学生的权限选择,还应具备一个出错返回功能。
(2)登录系统涉及人员查询上传佐证材料的学生;审核提交学生上传资料的老师;系统管理员2、可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。
因此,登录系统比较适合于采用JAVA,而综合测评和审核系统适用数据库管理。
本系统的登录模块界面采用Java编程实现,可以先画出草图再进行代码实现,这样做出的界面比较美观。
3、系统的功能简介本系统主要实现学生综合素质评分的查询、学生上传加分项的佐证材料、以及教师对学生上传的佐证材料进行审核并提交到数据库。
学生素质综合测评模块业务流程管理(一)准备阶段:1.系统管理员开启学校综合测评模块功能。
2.各院部填写学生工作领导小组成员(负责人、成员).院部负责人开启各自学院综合测评模块功能。
3.各班填写测评评优工作小组成员(负责人、成员).(二)学生测评信息填写阶段德育素质测评:A、测评小组成员对本班成员进行民主评议、纪律观念、宿舍文明和诚信评价四项基础分数打分。
B、测评小组成员对本班成员进行思想政治与道德素养、社会实践与志愿服务、科学技术与创新创业、文体艺术与身心发展、社团活动与社会工作、技能培训六项拓展性素质打分。
C、系统计算基础素质和拓展性素质得分并得到德育素质得分,从而划分德育素质等级。
(注:本模块对素质拓展认证采用申请认证方式)智育素质测评:方案一:将教务管理系统学生成绩数据导入学生信息管理系统,系统自动划分智育素质等级。
方案二:A、本班负责人填写本班该学年课程信息(课程名称+学分)B、测评小组录入本班成员该学年各课程成绩。
C、系统根据“平均学分绩=∑(课程成绩*课程学分)/∑课程学分”计算出平均学分绩并划分智育等级.体育素质测评:A、有体育课的班级,测评小组成员对本班成员进行体育成绩、体育竞赛成绩打分.没有体育课的班级,测评小组成员对本班成员进行体育竞赛成绩打分。
B、系统计算得到体育素质得分,从而划分体育素质等级。
综合素质测评:系统根据德育、智育、体育素质等级划分综合素质等级。
(三)测评信息确认阶段1、个人在本班测评小组录入工作完成后进行签名(密码)确认并对本班测评小组打分,本班所有成员确认完毕后测评小组负责人进行签名确认,院部负责人在本学院所有班级确认完毕后进行签名确认。
2、个人荣誉称号及奖学金申请:(1)系统管理员添加本学年个人荣誉称号(个人荣誉称号+级别+名额)、奖学金(奖学金名称、类别、名额)。
(2)个人根据综合测评成绩填写申请表(测评信息+申请书)(3)本班测评小组进行筛选,对核准这进行确认,院部对核准班级进行确认,系统生成院部个人荣誉、奖学金学生表。
兰州商学院陇桥学院本科生毕业论文(设计)论文(设计)题目:学生综合测评系统的设计与实现系别:信息管理系专业 (方向):信息管理与信息系统(电子商务方向) 年级、班: 2008级本科班学生姓名:孙强指导教师:米红娟2012 年05 月10 日声明本人郑重声明:所呈交的毕业论文(设计)是本人在导师的指导下取得的成果。
因本毕业论文(设计)引起的法律后果完全由本人承担。
本毕业论文(设计)成果归兰州商学院陇桥学院所有。
特此声明毕业论文(设计)作者签名:年月日学生综合测评系统的设计与实现摘要学生综合测评是高校进行学生管理工作的重要环节,是学生管理的基础。
随着高校建设和学生管理工作的发展,学生数据信息的维护和管理工作变得异常繁重,而且在计算学生综合测评成绩时也迫切需要一套分析系统,本系统使用C#技术,SQL SEVER2005数据库,采用B/S模式。
基本功能模块有管理员模块,系管理员模块,班管理员模块,教师模块,学生模块。
结合兰州商学院陇桥学院实际情况,进行详细的需求分析和功能分析,根据分析结果,给出了几个功能模块的过程设计、界面设计。
[关键词]学生综合测评;C#;B/S ;SQL 2005AbstractComprehensive evaluation of students is an important part of college student management, and is the basis of student management. With development of the college construction and student management, the maintenance and management of student data has become extremely heavy. Additionally, in the calculation of comprehensive evaluation of student achievement, there is an urgent need for an analysis system. The system using C #, SQL SEVER2005 database in B / S mode. The basic functional modules include administrator module, the administrator of the Department module, class module, teacher module, student module. Combined with the situation of the Longqiao school of Lanzhou Commercial College, detailed requirement analysis and functional analysis has been done. According to results of the analysis, process design and interface design of several functional modules are shown in the article.[Key words ]student colligation appraisement; C#; B/S;SQL 2005目录一、绪论 (1)(一)系统开发背景 (1)(二)选题的意义 (2)(三)本文主要工作 (2)二、应用系统设计 (3)(一)系统需求分析 (3)1、系统功能性需求分析 (3)2、系统非功能性需求分析 (5)(二)系统流程 (6)(三)系统功能 (7)三、开发工具和数据库 (8)(一)C#介绍 (8)(二)数据库SQL Server 2005介绍 (11)(三)数据库设计 (14)四、系统的设计 (15)(一)数据库的设计 (15)1、概念结构设计 (15)2、逻辑结构设计 (19)3、物理结构设计 (21)4、数据库视图 (23)(二)应用软件的设计 (23)1、登录界面 (23)2、修改密码界面 (23)3、管理员模块 (24)4、系管理员模块 (25)5、班管理员模块 (25)6、教师模块 (26)7、学生模块 (26)五、结论 (28)参考文献 (30)附件 (31)学生综合测评系统的设计与实现随着信息技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。
合肥师范学院(本科)课程设计说明书课程数据库原理题目学生综合测评管理系统姓名学号专业班级指导教师完成日期年月日学生综合测评管理系统目录1绪言........................................................................................................................................... - 2 - 2.需求分析................................................................................................................................... - 3 -2.1按角色需求分析............................................................................................................ - 3 -2.2系统子功能需求分析.................................................................................................... - 3 -3.数据库概念设计....................................................................................................................... - 4 -4.数据库逻辑设计....................................................................................................................... - 8 -4.1E-R对应关系模式 ......................................................................................................... - 8 -4.2数据库中表的设计...................................................................................................... - 11 -5.数据库物理设计..................................................................................................................... - 14 -6.系统的调试与实现................................................................................................................. - 17 -6.1数据库各表的数据...................................................................................................... - 17 -6.2数据库中相关语句的实现.......................................................................................... - 23 -7.设计总结................................................................................................................................. - 27 -1绪言在素质教育评价过程中,学生综合测评是高校普遍采用的评价手段。
VC++课程设计报告课题:综合测评系统目录1、需求分析 12、系统分析 23、系统结构设计 33.1、系统目标 23.2、系统模块结构 24、数据库设计 44.1、数据库分析 24.2、E-R图 24.3、数据库表的设计 24.4、数据库表关系图 25、运行结果 66、开发环境与运行环境 57、总结 68、参考文献 79、全部代码实现 81.需求分析作为计算机的一部分,使用综合测评系统对学生信息与成绩管理及成绩测评,院系的信息管理,有着手工管理所无法比拟的优点,如查找方便,可靠性高,储存量大,寿命长,成本低等。
这些优点能够极大地提高学校对学生成绩管理和测评的效率。
因此,开发一套学生综合测评管理系统是有必要的。
它能对学生素质发展水平进行全面,规范,科学的评价,提高测评分的管理效率,简化评分流程,减轻评分者的负担。
本系统采用Windows图形界面,是大家熟悉的操作系统,用户只需要具有一般计算机知识就可以轻松上手,而且整个测评系统采用友好的交互界面,简洁明了,不需要对数据库非常了解也可以熟练操作。
2.系统分析该系统面向相关学生管理部门,是实现对学生成绩情况,考勤情况,奖学金,违纪,和处分等情况进行管理的计算机管理系统。
使学校教师及管理员方便测试学生每学期,每学年的文化成绩和综合评分情况,以及为了解各学期之间的进步或后退情况提供了方便。
通过设计综合测评系统可以增强综合测评的公正性,准确性和执行效率。
3.系统结构设计3.1:系统目标本系统主要实现了综合测评方面的先关功能,对学院,班级,班级成员及各门专业课程的信息进行添加,删除,修改等操作,增强了软件的延伸性和使用寿命,极大程度的方便一个测评者对各院系信息的统筹管理,进而能够更准确地获得各个班的综合测评结果。
3.2:系统模块结构4.数据库设计4.1:数据库分析本系统数据库采用了SQL Server2012作为系统开发的数据库管理系统,SQL Server2012能提供超大型系统所需的数据库服务,支持事务操作,对数据的完整性有很好的保障。
# include<stdio、h> # include "stdlib、h"# include "string、h"#include <iostream、h>struct student *Read();void save(struct student *head);void sinput(struct student *p);struct student *input();void paixu_num(struct student *head);struct student *insert();struct student *alter();struct student *del();void find_num(struct student *phead);void find_name(struct student *phead);void output();void min_student(struct student *phead);void max_student(struct student *phead);void ave_student(struct student *phead);void every_student(struct student *phead);void score_paixu(struct student *head);void help();void tj_menu(struct student *head);void find_menu(struct student *head);void menu();struct student{//定义学生信息结构数组,用于学生信息输入char number[13];char name[13];char sex[4];char adds[15];char phone[14];char qq[14];float chinese,math,english,txhp,pinde,teacher;int zcmc,ksmc;double ave,zc;struct student *next;};#define Len sizeof(struct student)int len; //链表长度int a=0,b=0,c=0,d=0,e=0;//用来存放成绩各阶的人数char stu[10];struct student *Read() {//读取数据文件保存到链表中,返回指向此链表头指针struct student *head=NULL;struct student *p1, *p2;FILE *fp;cout<<"请输入您要打开的文件(、dat)"<<endl;cin>>stu;if((fp=fopen(stu,"rb+"))==NULL){cout<<"打开文件出错!"<<endl;exit(0);}while(!feof(fp)) {if( (p1=(struct student*)malloc(Len))==NULL ) {cout<<"内存申请出错"<<endl;fclose(fp);exit(0);}if(fread(p1,Len,1,fp)!=1){free(p1);break;}if(head==NULL)head=p2=p1;else{p2->next=p1;p2=p1;}}fclose(fp);return head;}void save(struct student *head){//数据存盘FILE *fp;struct student *p;p=head;cout<<"请输入您要存进去的文件(、dat)"<<endl;cin>>stu;if((fp = fopen(stu, "wb"))==NULL){cout<<"无法打开文件!"<<endl;system("pause");menu();}while(p){if(fwrite(p,Len,1,fp)!=1){cout<<"写入数据出错"<<endl;fclose(fp);return;}elsep=p->next;}cout<<"数据存入成功!请按任意键继续!"<<endl;getchar();fclose(fp);}//单次输入void sinput(struct student *p){cout<<"请输入学号:"<<endl;cin>>p->number;cout<<"请输入姓名: "<<endl;cin>>p->name;cout<<"请输入性别: "<<endl;cin>>p->sex;cout<<"请输入家庭住址: "<<endl;cin>>p->adds;cout<<"请输入联系电话: "<<endl;cin>>p->phone;cout<<"请输入qq: "<<endl;cout<<"请输入语文成绩:"<<endl;cin>>p->chinese;if(p->chinese>100||p->chinese<0){cout<<"成绩输入不符合规定,请重新输入:"<<endl; cin>>p->chinese;}cout<<"请输入数学成绩:"<<endl;cin>>p->math;if(p->math>100||p->math<0){cout<<"成绩输入不符合规定,请重新输入:"<<endl; cin>>p->math;}cout<<"请输入英语成绩:"<<endl;cin>>p->english;if(p->english>100||p->english<0){cout<<"成绩输入不符合规定,请重新输入:"<<endl; cin>>p->english;}cout<<"请输入同学互评分:"<<endl;if(p->txhp>100||p->txhp<0){cout<<"成绩输入不符合规定,请重新输入:"<<endl;cin>>p->txhp;}cout<<"请输入品德成绩:"<<endl;cin>>p->pinde;if(p->pinde>100||p->pinde<0){cout<<"成绩输入不符合规定,请重新输入:"<<endl;cin>>p->pinde;}cout<<"请输入任课教师评分:"<<endl;cin>>p->teacher;if(p->teacher>100||p->teacher<0){cout<<"成绩输入不符合规定,请重新输入:"<<endl;cin>>p->teacher;}p->ave=(p->chinese+p->math+p->english)/3、0;p->zc=(p->ave*0、6+p->txhp*0、1+p->pinde*0、2+p->teacher*0、1); cout<<endl;"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"您刚输入的信息为:"<<endl;cout<<"\t\t学号:"<<p->number<<endl;cout<<"\t\t姓名:"<<p->name<<endl;cout<<"\t\t性别:"<<p->sex<<endl;cout<<"\t\t家庭住址:"<<p->adds<<endl;cout<<"\t\t联系电话:"<<p->phone<<endl;cout<<"\t\tQQ号:"<<p->qq<<endl;cout<<"\t\t语文成绩:"<<p->chinese<<endl;cout<<"\t\t数学成绩:"<<p->math<<endl;cout<<"\t\t英语成绩:"<<p->english<<endl;cout<<"\t\t品德成绩:"<<p->pinde<<endl;cout<<"\t\t教师评分:"<<p->teacher<<endl;"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆return;}//学生成绩录入函数struct student *input(){struct student *head=NULL,*p1,*p2;//输入p1,p2链表最后节点char ch='y';len=1;p2=p1=(struct student *)malloc(sizeof(struct student));cout<<"请输入第"<<len<<"个学生的信息:"<<endl; sinput(p1);cout<<endl;cout<<"按n退出或按任意键继续"<<endl;;cin>>ch;while(1){if(len==1)//作为头结点head=p1;elsep2->next=p1;p2=p1;if(ch=='N'||ch=='n')break;p1=(struct student *)malloc(sizeof(struct student));system("cls");len++;cout<<"请输入第"<<len<<"个学生的信息:"<<endl;;sinput(p1);cout<<endl;cout<<"按n退出或按任意键继续"<<endl;;cin>>ch;}p2->next=NULL;paixu_num(head);cout<<"输入学生信息完成!请按任意键返回主菜单!"<<endl;getchar();return head;}//学号排序void paixu_num(struct student *head){struct student t,*r,*p,*q;//t交换p、q,r头结点r=head;if(r==NULL){cout<<"学生信息不存在,请先输入学生信息!"<<endl;return;}while(r){p=r;q=r->next;while(q){if(strcmp(q->number,p->number)<0) //q<p{strcpy(t、number,q->number);strcpy(t、name,q->name);strcpy(t、sex,q->sex);strcpy(t、adds,q->adds);strcpy(t、phone,q->phone);strcpy(t、qq,q->qq);t、chinese=q->chinese;t、math=q->math;t、english=q->english;t、txhp=q->txhp;t、pinde=q->pinde;t、teacher=q->teacher;strcpy(q->number,p->number);strcpy(q->name,p->name);strcpy(q->sex,p->sex);strcpy(q->adds,p->adds);strcpy(q->phone,p->phone);strcpy(q->qq,p->qq);q->chinese=p->chinese;q->math=p->math;q->english=p->english;q->txhp=p->txhp;q->pinde=p->pinde;q->teacher=p->teacher;strcpy(p->number,t、number);strcpy(p->name,t、name);strcpy(p->sex,t、sex);strcpy(p->adds,t、adds);strcpy(p->phone,t、phone);strcpy(p->qq,t、qq);p->chinese=t、chinese;p->math=t、math;p->english=t、english;p->txhp=t、txhp;p->pinde=t、pinde;p->teacher=t、teacher;}q=q->next;}r=r->next;}}//插入函数struct student *insert(){struct student *p,*p1,*head;head=Read();p1=head;p=(struct student *)malloc(sizeof(struct student));char num[14],ch;cout<<"请输入您要插入的前一个学生的学号:"<<endl; cin>>num;while(p1){if(!strcmp(p1->number,num)){sinput(p);p->next=p1->next;p1->next=p;len++;}elsep1=p1->next;cout<<"按n退出或按任意键继续"<<endl;;cin>>ch;if(ch=='N'||ch=='n')break;}cout<<"学生信息插入成功!请按任意键返回!"<<endl; getchar();return head;//修改学生信息struct student *alter(){char temp[13];struct student *p,*head;head=Read();p=head;cout<<"请输入要修改学生的学号:";cin>>temp;while(p){if(!strcmp(p->number,temp)){sinput(p);}p=p->next;}cout<<endl;cout<<"学生信息修改成功!请按任意键返回!"<<endl; cout<<endl;system("pause");return head;//删除学生信息struct student *del(){char temp[13];int m=0;struct student *p1,*p,*head;//p1删除head=Read();p1=p=head;cout<<"请输入您要删除学生的学号:"<<endl;cin>>temp;while(p){if(strcmp(p1->number,temp)==0){if(p1==head)//删除的头结点head=p1->next;elsep->next=p1->next;len--;m=1;cout<<"学生信息删除成功!请按任意键返回主菜单、、、、、、、"<<endl;getchar();return head;}elsep=p->next;}if(!m)cout<<"查找不到这个信息!"<<endl;return head;}void find_num(struct student *head)//按学号查找{struct student *p=head;char temp[9];int m = 0;cout<<"请输入要查找的学生的学号"<<endl;cin>>temp;while(p!=NULL){if(strcmp(p->number,temp) == 0){cout<<"该学生的具体信息为:"<<endl;cout<<endl;"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"\t\t学号:"<<p->number<<endl;cout<<"\t\t姓名:"<<p->name<<endl;cout<<"\t\t性别:"<<p->sex<<endl;cout<<"\t\t家庭住址:"<<p->adds<<endl;cout<<"\t\t联系电话:"<<p->phone<<endl;cout<<"\t\tQQ号:"<<p->qq<<endl;cout<<"\t\t语文成绩:"<<p->chinese<<endl;cout<<"\t\t数学成绩"<<p->math<<endl;cout<<"\t\t英语成绩"<<p->english<<endl;cout<<"\t\t平均成绩"<<p->ave<<endl;cout<<"\t\t品德成绩"<<p->pinde<<endl;cout<<"\t\t老师评分"<<p->teacher<<endl;cout<<"\t\t综合成绩"<<p->zc<<endl;score_paixu(head);cout<<"\t\t考试名次"<<p->ksmc<<endl;cout<<"\t\t综测名次"<<p->zcmc<<endl;"<<endl;cout<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆m=1;}p= p->next;//继续向下寻找}if(!m)cout<<"查找不到这个学号的信息!"<<endl;cout<<"按任意键返回主菜单……"<<endl;getchar();return ;}void find_name(struct student *head)//按姓名查找{struct student *p= head;char temp[9];int m = 0;cout<<"请输入要查找的学生的姓名"<<endl;cin>>temp;while(p){if(strcmp(p->name,temp) == 0){cout<<"该学生的具体信息为:"<<endl;cout<<endl;"<<endl;cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"学号:"<<p->number<<endl;cout<<"\t\t姓名:"<<p->name<<endl;cout<<"\t\t性别:"<<p->sex<<endl;cout<<"\t\t家庭住址:"<<p->adds<<endl;cout<<"\t\t联系电话:"<<p->phone<<endl;cout<<"\t\tQQ号:"<<p->qq<<endl;cout<<"\t\t语文成绩:"<<p->chinese<<endl;cout<<"\t\t数学成绩"<<p->math<<endl;cout<<"\t\t英语成绩"<<p->english<<endl;cout<<"\t\t平均成绩"<<p->ave<<endl;cout<<"\t\t品德成绩"<<p->pinde<<endl;cout<<"\t\t老师评分"<<p->teacher<<endl;cout<<"\t\t综合成绩"<<p->zc<<endl;score_paixu(head);cout<<"\t\t考试名次"<<p->ksmc<<endl;cout<<"\t\t综测名次"<<p->zcmc<<endl;"<<endl;cout<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆m=1;}p=p->next;}if(!m)cout<<"查找不到这个学号的信息!"<<endl;cout<<"按任意键返回主菜单……"<<endl;getchar();return ;}void output(){struct student *p,*head;head=Read();p=head;int i=1;while(p){"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"\t\t学号:"<<p->number<<endl;cout<<"\t\t姓名:"<<p->name<<endl;cout<<"\t\t性别:"<<p->sex<<endl;cout<<"\t\t家庭住址:"<<p->adds<<endl;cout<<"\t\t联系电话:"<<p->phone<<endl;cout<<"\t\tQQ号:"<<p->qq<<endl;cout<<"\t\t语文成绩:"<<p->chinese<<endl;cout<<"\t\t数学成绩:"<<p->math<<endl;cout<<"\t\t英语成绩:"<<p->english<<endl;cout<<"\t\t品德成绩:"<<p->pinde<<endl;cout<<"\t\t老师评分:"<<p->teacher<<endl;cout<<"\t\t平均成绩:"<<p->ave<<endl;cout<<"\t\t综合成绩:"<<p->zc<<endl;score_paixu(head);cout<<"\t\t考试名次"<<p->ksmc<<endl;cout<<"\t\t综合测评名次"<<p->zcmc<<endl;p=p->next;i++;}"<<endl;cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<endl;cout<<"请按任意键返回主菜单……"<<endl;getchar();return ;}void max_student(struct student *head){struct student *p=head;float c2=0,m2=0,e2=0,s2=0,p2=0,stu2=0,t2=0;double a2=0,zc2=0;while(p){if(p->chinese>c2)c2=p->chinese;if(p->math>m2)m2=p->math;if(p->english>e2)e2=p->english;if((p->chinese+p->math+p->english)>s2)s2=(p->chinese+p->math+p->english);if(p->pinde>p2)p2=p->pinde;if(p->txhp>stu2)stu2=p->txhp;if(p->teacher>t2)t2=p->teacher;if(p->ave>a2)a2=p->ave;if(p->zc>zc2)zc2=p->zc;p=p->next;}cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl; cout<<"\t\t语文最高分:"<<c2<<endl;cout<<"\t\t数学最高分:"<<m2<<endl;cout<<"\t\t英语最高分:"<<e2<<endl;cout<<"\t\t总成绩最高分:"<<s2<<endl;cout<<"\t\t品德最高分:"<<p2<<endl;cout<<"\t\t同学互评分最高:"<<stu2<<endl;cout<<"\t\t教师评分最高:"<<t2<<endl;cout<<"\t\t平均分最高:"<<a2<<endl;cout<<"\t\t综测最高分:"<<zc2<<endl;"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<endl;cout<<"请按任意键返回、、、、、、"<<endl;getchar();return;}void min_student(struct student *head){struct student *p=head;float c1=100,m1=100,e1=100,s1=100,p1=100,stu1=100,t1=100; double a1=100,zc1=100;while(p) {if(p->chinese<c1)c1=p->chinese;if(p->math<m1)m1=p->math;if(p->english<e1)e1=p->english;if((p->chinese+p->math+p->english)<s1)s1=(p->chinese+p->math+p->english);if(p->pinde<p1)p1=p->pinde;if(p->txhp<stu1)stu1=p->txhp;if(p->teacher<t1)t1=p->teacher;if(p->ave<a1)a1=p->ave;if(p->zc<zc1)zc1=p->zc;p=p->next;}"<<endl;cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"\t\t语文最低分:"<<c1<<endl;cout<<"\t\t数学最低分:"<<m1<<endl;cout<<"\t\t英语最低分:"<<e1<<endl;cout<<"\t\t总成绩最低分:"<<s1<<endl;cout<<"\t\t品德最低分:"<<p1<<endl;cout<<"\t\t同学互评分最低分:"<<stu1<<endl;cout<<"\t\t教师评分最低分:"<<t1<<endl;cout<<"\t\t平均分最低分:"<<a1<<endl;cout<<"\t\t综测最低分:"<<zc1<<endl;"<<endl;cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<endl;cout<<"请按任意键返回、、、、、、"<<endl;getchar();return;}void ave_student(struct student *head){struct student *p=head;float c_sum=0,m_sum=0,e_sum=0,p_sum=0,stu_sum=0,t_sum=0;float c_ave=0,m_ave=0,e_ave=0,all_ave=0,p_ave=0,stu_ave=0,t_ave=0; double zc_sum=0,zc_ave=0;while(p){c_sum+=p->chinese;m_sum+=p->math;e_sum+=p->english;p_sum+=p->pinde;stu_sum+=p->txhp;t_sum+=p->teacher;zc_sum+=p->zc;p=p->next;}c_ave=c_sum/len;m_ave=m_sum/len;e_ave=e_sum/len;all_ave=(c_ave+m_ave+e_ave)/3;p_ave=p_sum/len;stu_ave=stu_sum/len;t_ave=t_sum/len;zc_ave=zc_sum/len;cout<<"\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl; cout<<"\t\t语文平均分为:"<<c_ave<<endl;cout<<"\t\t数学平均分为:"<<m_ave<<endl;cout<<"\t\t英语平均分为:"<<e_ave<<endl;cout<<"\t\t总成绩平均为:"<<all_ave<<endl;cout<<"\t\t品德平均分为:"<<p_ave<<endl;cout<<"\t\t同学互评平均分为:"<<stu_ave<<endl;cout<<"\t\t教师评分平均分为:"<<t_ave<<endl;cout<<"\t\t综测平均分为:"<<zc_ave<<endl;"<<endl;cout<<"\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<endl;cout<<"请按任意键返回、、、、、、"<<endl;getchar();return;}void every_student(struct student *head){struct student *p=head;while(p){switch((int)p->ave/10){case 10:case 9:a++;break;case 8:b++;break;case 7:c++;break;case 6:d++;break;default:e++;}p=p->next;}"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"平均成绩在90分以上的有:"<<a<<endl;cout<<"平均成绩在80分以上的有:"<<b<<endl;cout<<"平均成绩在70分以上的有:"<<c<<endl;cout<<"平均成绩在60分以上的有:"<<d<<endl;cout<<"平均成绩在60分以下的有:"<<e<<endl;while(p){switch((int)p->chinese/10){case 10:case 9:a++;break;case 8:b++;break;case 7:c++;break;case 6:d++;break;default:e++;}p=p->next;}"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"语文成绩在90分以上的有:"<<a<<endl;cout<<"语文成绩在80分以上的有:"<<b<<endl;cout<<"语文成绩在70分以上的有:"<<c<<endl;cout<<"语文成绩在60分以上的有:"<<d<<endl;cout<<"语文成绩在60分以下的有:"<<e<<endl;while(p){switch((int)p->math/10){case 10:case 9:a++;break;case 8:b++;break;case 7:c++;break;case 6:d++;break;default:e++;}p=p->next;}"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"数学成绩在90分以上的有:"<<a<<endl;cout<<"数学成绩在80分以上的有:"<<b<<endl;cout<<"数学成绩在70分以上的有:"<<c<<endl;cout<<"数学成绩在60分以上的有:"<<d<<endl;cout<<"数学成绩在60分以下的有:"<<e<<endl;while(p){switch((int)p->english/10){case 10:case 9:a++;break;case 8:b++;break;case 7:c++;break;case 6:d++;break;default:e++;}p=p->next;}"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"英语成绩在90分以上的有:"<<a<<endl;cout<<"英语成绩在80分以上的有:"<<b<<endl;cout<<"英语成绩在70分以上的有:"<<c<<endl;cout<<"英语成绩在60分以上的有:"<<d<<endl;cout<<"英语成绩在60分以下的有:"<<e<<endl;while(p){switch((int)p->pinde/10){case 10:case 9:a++;break;case 8:b++;break;case 7:c++;break;case 6:d++;break;default:e++;}p=p->next;}"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"品德成绩在90分以上的有:"<<a<<endl;cout<<"品德成绩在80分以上的有:"<<b<<endl;cout<<"品德成绩在70分以上的有:"<<c<<endl;cout<<"品德成绩在60分以上的有:"<<d<<endl;cout<<"品德成绩在60分以下的有:"<<e<<endl;while(p){switch((int)p->txhp/10){case 10:case 9:a++;break;case 8:b++;break;case 7:c++;break;case 6:d++;break;default:e++;}p=p->next;}"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"同学互评在90分以上的有:"<<a<<endl;cout<<"同学互评在80分以上的有:"<<b<<endl;cout<<"同学互评在70分以上的有:"<<c<<endl;cout<<"同学互评在60分以上的有:"<<d<<endl;cout<<"同学互评在60分以下的有:"<<e<<endl;while(p){switch((int)p->teacher/10){case 10:case 9:a++;break;case 8:b++;break;case 7:c++;break;case 6:d++;break;default:e++;}p=p->next;}"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"教师评分在90分以上的有:"<<a<<endl;cout<<"教师评分在80分以上的有:"<<b<<endl;cout<<"教师评分在70分以上的有:"<<c<<endl;cout<<"教师评分在60分以上的有:"<<d<<endl;cout<<"教师评分在60分以下的有:"<<e<<endl;while(p){switch((int)p->zc/10){case 10:case 9:a++;break;case 8:b++;break;case 7:c++;break;case 6:d++;break;default:e++;}p=p->next;}"<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆cout<<"综测成绩在90分以上的有:"<<a<<endl;cout<<"综测成绩在80分以上的有:"<<b<<endl;cout<<"综测成绩在70分以上的有:"<<c<<endl;cout<<"综测成绩在60分以上的有:"<<d<<endl;cout<<"综测成绩在60分以下的有:"<<e<<endl;cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl; cout<<"请按任意键退出、、、、、、"<<endl;getchar();return;}void score_paixu(struct student *head){struct student *p,*p1,*r;p=p1=r=head;int n=0;//学生总数while(p){//节点总数n++;p=p->next;}double *ave1=new double[n];double *zc1=new double[n];for(int i=0;i<n;i++)//依次存入每一个学生ave,zc {ave1[i]=p1->ave;zc1[i]=p1->zc;p1=p1->next;}for(i=0;i<n;i++)//冒泡排序{for(int j=0;j<n;j++){if(ave1[j]<ave1[j+1]){double ave11=ave1[j];ave1[j]=ave1[j+1];ave1[j+1]=ave11; }if(zc1[j]<zc1[j+1]){double zc11=zc1[j];zc1[j]=zc1[j+1];zc1[j+1]=zc11;}}}while(r){for(i=0;i<n;i++){if(ave1[i]==r->ave)r->ksmc=i+1;if(zc1[i]==r->zc)r->zcmc=i+1;}r=r->next;}cout<<"排名完成!请按任意键返回主菜单的浏览学生信息查瞧!(如果就是浏览学生信息则按任意键得到名次!)"<<endl;delete []ave1;delete []zc1;getchar();return;}//帮助void help(){system ("cls");//清屏cout<<" *欢迎使用学生综合测评系统* "<<endl;cout<<endl;cout<<"本系统可以存储学生的基本信息与数据信息,所有信息按学号以小到大的顺序存入文件。
附件2:学生素质评价系统操作使用说明一、学生素质评价流程1、学生登陆学生工作系统,进入“学生素质评价”模块,按照《中央财经大学全日制本科学生素质评价办法(试行)》的要求及本单位的测评实施细则与评价标准,进行自我评价打分并选择计入排名成绩的两项发展性素质评价指标项。
2、各班级确定评议小组成员,辅导员通过“考评小组管理”,授权指定学生以评议小组成员身份登陆系统,评议小组成员审核评议本班级学生的自评得分。
3、辅导员审核评议小组评议打分情况,确认无异议后计算学生素质评价排名成绩。
二、学生素质评价系统具体操作使用说明(一)学生操作使用说明1、建议使用IE浏览器,登陆网址:http://202.205.216.66:8084学生登陆学生工作系统,用户名为本人学号,初始密码为123456,若已修改过密码,则使用修改后的密码登录。
登录系统后点击“学生素质评价”模块,进入学生素质评价管理界面。
(注:若学生本人忘记登陆密码,可携带学生证到沙河校区学生事务大厅或学院南路校区办公楼102学生管理科重置密码。
)2、学生自我评价进入学生素质评价管理界面后,点击页面左侧的“评价管理”,即进入学生自我评价打分的界面。
点击“评价管理”界面中相应指标项的“评价内容”即可看到该项指标的详细内容,学生根据评价内容与分数说明,按照本人实际情况进行自我打分,即在“学生自评得分”列输入相应分数。
在“评价管理”界面中,有“学生自评得分”与“学生自评加分”两列。
在申请加分之前,需先选择两项发展性素质评价指标项计入排名成绩(在不确定选哪两项的情况下,可先任意选择两项,自评之后再予以修改)并保存“学生自评得分”;可以申请加分的指标项在“操作”列中都显示有“申请加分”,之后点击“申请加分”,即可以进行加分操作,每一项加分须写明原因,并逐条申请,点击保存后申请加分的指标项的分数降在“学生自评加分”列中显示。
学生应及时在规定的时间内进行素质评价并保存结果,超过规定时间系统将关闭,无法再进行评价或修改。
课程设计报告课程名称C语言程序设计课题名称学生综合测评系统专业班级学号姓名指导教师2012年 1 月2 日湖南工程学院课程设计任务书课程名称C语言程序设计课题学生综合测评系统专业班级学生姓名学号指导老师审批任务书下达日期2012年12 月25日任务完成日期2013年1 月 2 日一、设计内容与设计要求1.设计内容:课题十:学生综合测评系统一、问题描述:每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
二、功能描述:A、学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
提示:学生信息可先输入到数组中,排序后可写到文件中。
(2) 插入(修改)同学信息:提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,(3) 删除同学信息:提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。
(4) 浏览学生信息:提示:打开文件,显示该文件的学生信息。
B、学生数据处理:(1) 按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。
(2) 学生测评数据输入并计算综合测评总分及名次。
提示:综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。
(3) 学生数据管理提示:输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件(4) 学生数据查询:提示:输入学号或其他信息,即读出所有数据信息,并显示出来。
C、学生综合信息输出提示:输出学生信息到屏幕。
三、算法提示:1、数据结构:结构体类型数组2、数据库结构:下表构成该系统的基本数据库。
四、测试数据:学生人数:N=10学生综合测评系统1.课程设计目的掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。
2.课程设计主要任务一、问题描述:的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
二、功能描述:A学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
(2) 插入(修改)同学信息:(3) 删除同学信息:(4) 浏览学生信息:B、学生数据处理:(1) 按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3 计算考试成绩,并计算考试名次。
(2) 学生测评数据输入并计算综合测评总分及名次。
(3) 学生数据管理(4) 学生数据查询:C、学生综合信息输出3.设计环境1)硬件:PC机,档次不低于CPU为PIII667,内存为128M,4G硬盘,其它硬件与此相配套。
2)软件:Windows XP,VC++6.04.总体设计方案的选定本设计采用模块化结构设计,主要包括:主菜单(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"# include "string.h"int count;void info_daoru();void info_xieru();void info_del();void info_xiugai();void data_xieru();void data_daoru();void data_xiugai();void data_chaxun();void data_input();void shuchu();struct student{ //定义学生信息结构数组double number;char name[11];char sex[4];char adds[15];char phone[14];}p,info[100],w={0," "," "," "," ",};struct data{ //定义学生数据结构数组double number;char name[11];char sex[4];char adds[15];char phone[14];int chinese,math,english,stu,ksmc,pinde,teacher;float aver,ceping;}data[100];int main() //主函数{system("color 9e");void data_menu();void info_menu();void help();void menu();printf("\n\n\n\t\t............欢迎使用学生综合管理系统............\n\n");printf("\t\t \t\t本程序由宗幸幸借鉴陈伟的程序编写\n\n");printf("\n\n\t\t");system("pause");menu();return 0;}void help() //帮助信息{system("cls"); //清屏printf(" * 欢迎使用本系统! *\n\n");printf(" 本系统可以存储学生的基本信息和各科成绩,并能计算考试平均成绩,综合测评成绩和排名。
\n");printf(" 基本信息包括:学号、姓名、性别、家庭住址、联系电话;\n 各科成绩包括:语文、数学、外语成绩;\n");printf(" 其它包括:考试名次、同学互评分、品德成绩、任课教师评分等。
\n");printf(" 说明:考试成绩排名是按照考试成绩计算的(考试成绩=(语+数+外)/3);\n");printf(" 综合测评总分=((考试成绩)*0.6+(同学互评分)*0.1+(品德成绩)*0.1+(任课教师评分)*0.2)\n");printf(" 其它请按照提示操作即可。
\n\n");printf(" 如有疑问,请联系:QQ:905524188\n\n");printf("\n\n\t\t");system("pause");}void info_daoru() //学生信息导出文件函数{FILE *f_info;struct student p={NULL};printf("\n\n\t正在导入...\n\n");if((f_info=fopen("info.txt","r"))==NULL){printf("\n\t打开文件失败!\n\n");return;}count=0;while(!feof(f_info)){fscanf(f_info,"%lf %s %s %s %s ",&p.number,,p.sex,p.adds,p.phone);info[count]=p;count++;}printf("\n\t导入已完成!共导入%d 条记录!\n\n\n",count);fclose(f_info);}void info_input() //学生信息输入函数{int i,j;info_daoru();for( ; ; ){printf("\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该学号已存在!请重新输入!\n\n");return;}}printf("\t请输入姓名: "); //输入学生信息getchar();gets();printf("\t请输入性别: ");getchar();gets(p.sex);printf("\t请输入家庭住址: ");getchar();gets(p.adds);printf("\t请输入电话号码: ");getchar();gets(p.phone);info[count]=p;for(i=0;i<count;i++){ //按学号排序if(info[i].number>info[count].number){for(j=count;j>i;j--){info[j]=info[j-1];}info[i]=p;break;}}count++;}}void info_output() //学生信息浏览{FILE *f_info;int i;if((f_info=fopen("info.txt","r"))==NULL){//判断printf("\n\t没有学生信息!");printf("\n\n\t\t");system("pause");return;}info_daoru();if(count==0){//判断printf("\n\t没有学生信息!");printf("\n\n\t\t");system("pause");return;}else{printf(" \t学号\t 姓名\t 性别\t 家庭住址\t 联系电话\n"); //输出学生信息for(i=0;i<count;i++){printf(" %10.0lf",info[i].number);printf(" %10s",info[i].name);printf(" %10s",info[i].sex);printf(" %15s",info[i].adds);printf(" %13s\n\n",info[i].phone);}}printf("\t请按任意键返回上级:");printf("\n\n\t\t");system("pause");printf("\n\n\n\n");}void info_menu() //学生信息菜单{int choice;while(1){system("cls"); //清屏printf("\n\n\n\n\t\t☆☆☆☆☆学生信息处理系统☆☆☆☆☆\n\n");printf("\t\t\t●1.输入学生信息\n");printf("\t\t\t●2.修改学生信息\n");printf("\t\t\t●3.删除学生信息\n");printf("\t\t\t●4.浏览学生信息\n");printf("\t\t\t●0.返回主菜单\n\n");printf("\t\t请输入序号选择操作:");scanf("%d",&choice);if(choice==0) break;switch(choice){case 1: info_input(); info_xieru(); break;case 2: info_xiugai(); break;case 3: info_del(); break;case 4: info_output(); break;default: printf("\n\t输入有误!请重新输入!\n\n"); break;}}}void data_menu() //数据处理菜单{int choice;printf("\n\t在进入学生数据管理前,请确认学生信息已全部完成!\n");printf("\n\t是否继续?输入数字选择(0:返回;其它数字继续。