C++奖学金评定系统课设报告

合集下载

软件工程课程设计---奖学金评定系统

软件工程课程设计---奖学金评定系统

软件工程课程设计说明书题目:奖学金评定系统学院:计算机学院专业:网络工程学生姓名:学号:指导教师:2013 年6 月23日摘要奖学金评定是高校学生教务管理工作的一个重要环节。

作为管理学生工作的工作人员,能够通过奖学金评定系统清楚明了的看到学生的成绩,奖学金的评定说明,奖学金的评定结果等诸多信息。

另外,也保证了奖学金评定工作的客观,公正,和透明化,使奖学金的评定更深入人心。

正是基于如此的优点和作用,本课程设计分析并设计了奖学金评定系统。

为了整个奖学金评定的尽可能公正公平公开,根据奖学金评定的流程现对系统进行规划。

整个系统包括:信息管理,职位管理,消息管理,活动管理,成绩管理,证书管理,课程管理,权限管理7个功能模块。

奖学金评定的流程如下:辅导员可以输入特定的号码登录此系统通过批量导入教务处成绩以及赋予特定学生权限录入活动得分记录,证书得分记录,职位得分记录以及特殊课程的得分记录从而系统根据记录计算出F1(思想政治道德法律)、F2(专业)、F3(人文社会管理)、F4(创新)、F5(信息科学工程)、F6(身体心理)并且排名,从而辅导员可以通过点击计算和查看管理部分对计算出的全院6项和总分排名以及各系6项和排名进行查看,辅导员登录后还可以授权给特定的学生对最新的活动和奖学金动态在消息管理平台进行公布;学生登录注册后可以通过计算和查分管理部分实现查看自己的各项素质分(由F1-F6六个模块组成)以及点击各个管理模块查看自己具体的得分情况以及如果出现素质分错误可以下载相应的表格进行填表反馈。

此奖学金评定系统根据实际需求和实际软件发展情况设计而成,界面友好,操作简单。

软件投入使用后更是能够根据客户新的需求而不断的添加和更新其功能。

关键词:成绩查询、成绩管理、证书管理、活动赋分、绩点计算、动态信息显示、奖学金评定、客户机\服务器、SQL-Server目录1. 绪论 (1)1.1奖学金评定系统的重要性 (1)1.2 预期目标 (1)2. 可行性研究报告 (2)2.1引言 (2)2.1.1 编写目的: (2)2.1.3 定义: (2)2.2 可行性研究的前提 (3)2.2.1 基本要求: (3)2.2.2 开发目标: (3)2.3 技术的可行性分析 (3)2.3.1支出 (3)2.3.2效益 (3)2.4 社会可行性分析 (4)2.4.1 法律方面的可行性 (4)2.4.2 使用方面的可行性 (4)2.5 结论 (4)3.项目开发计划 (5)3.1引言 (5)3.1.1编写目的 (5)3.1.2项目背景 (5)3.1.3定义 (6)3.2项目概述 (6)3.2.1工作内容 (6)3.2.2条件与限制 (6)3.2.3产品 (6)3.2.4运行环境 (7)3.2.5服务 (7)3.2.6验收标准 (7)3.3实施计划 (7)3.3.1任务分解 (7)3.3.2进度 (7)3.3.3关键问题 (8)3.4人员组织 (8)3.5交付期限 (8)4需求规格说明书 (9)4.1引言 (9)4.1.1编写目的 (9)4.1.2项目背景 (9)4.1.3定义 (9)4.1.4参考资料 (10)4.2任务概述 (10)4.2.1目标 (10)4.3 系统描述 (11)4.3.1 系统概述 (11)4.3.2.系统结构功能图 (13)4.3.3系统流程图(辅导员登陆) (14)4.3.4 静态数据 (15)4.3.5 动态数据 (15)4.3.6 数据库描述 (15)4.3.7局部E-R图 (15)4.3.8 整体E-R图 (18)4.3.9物理设计 (19)4.3.10数据字典 (20)4.3.11 数据采集 (23)4.3.12 系统体系结构 (24)4.4功能需求 (25)4.4.1 功能划分 (25)4.4.2 功能描述 (25)4.5.性能需求 (26)4.5.1数据精确度 (26)4.5.2时间特性. (26)4.6.运行需求 (26)4.6.1硬件接口. (26)4.6.2软件接口. (26)4.6.3故障处理.. (27)4.7.其它需求 (27)4.7.1可使用性 (27)4.7.2保密性 (27)4.7.3可维护性 (27)4.7.4可转移、可转移性 (27)4.7.5注释 (28)5. 软件概要设计说明书 (29)5.1.引言 (29)5.1.1定义 (29)5.2.需求概述 (29)5.2.1目标 (30)5.2.2用户的特点 (30)5.2.3 功能需求 (30)5.2.4性能需求 (33)5.2.5 其他需求 (33)5.2.6运行环境 (33)5.3.总体设计 (33)5.3.1软件系统体系结构的设计 (34)5.3.2基本设计概念和处理流程 (35)5.3.3 模块的详细设计 (36)5.4. 界面设计 (36)5.5.安全保密设计 (37)6.详细设计说明书 (38)6.1 引言 (38)6.1.1 编写目的 (38)6.1.2项目背景 (38)6.1.3定义 (38)6.2.该系统的相关用例图 (39)7.个人完成内容 (41)8.个人体会 (43)1. 绪论1.1奖学金评定系统的重要性随着高校的快速发展和不断扩建,目前在学生的教务管理上,学分制管理已取代了过去的学年制管理。

c语言学生成绩管理系统设计报告

c语言学生成绩管理系统设计报告

c语言学生成绩管理系统设计报告C语言是计算机领域最为重要的编程语言之一,用于许多应用系统的开发。

这里我将围绕C语言学生成绩管理系统的设计报告,分步骤阐述该系统的设计与实现。

第一步:需求分析在进行设计之前,必须先进行需求分析,明确系统所需的功能和性能。

针对学生成绩管理系统,我们需要实现以下功能:1. 学生信息管理:包括学生姓名,学号等信息。

2. 成绩信息管理:包括课程分数,总分、平均分等信息。

3. 数据录入和修改:教师可以输入学生的成绩信息,并对已有的信息进行修改。

4. 成绩查询功能:学生可以查询自己的成绩情况。

第二步:系统设计根据需求分析,我们可以对系统进行具体设计。

该系统主要分为以下模块:1. 学生信息管理模块:用于录入和管理学生的信息。

2. 成绩信息管理模块:用于录入和管理学生的成绩信息。

3. 数据操作模块:用于操作学生和成绩信息的增删改查。

4. 用户管理模块:用于管理系统用户,包括学生和教师。

第三步:系统实现在进行系统实现时,我们需要注意以下几个方面:1. 界面设计:尽量简洁明了,易于使用。

2. 数据库设计:需要对数据进行分类储存,便于操作。

3. 数据库连接:需要通过C语言的数据库API来连接数据库。

4. 代码编写:需要根据设计要求进行代码编写,并进行测试调整,确保系统的稳定性和性能。

第四步:系统测试完成系统的设计和实现后,就需要对系统进行测试。

测试主要包括以下几个方面:1. 单元测试:对系统各个功能模块进行单独测试,确保每个模块的运行效果。

2. 集成测试:对系统各个模块进行集成测试,确保各个模块之间的相互交互正常。

3. 用户测试:邀请用户来测试系统,听取他们的反馈和建议,进行调整和改进。

总结:本文围绕C语言学生成绩管理系统的设计报告,分步骤阐述了系统的设计、实现和测试。

这对于开发人员在进行类似系统开发时具有一定的指导意义。

不过,由于每个系统都具有其独特性和特点,因此具体实现还需根据具体情况而定。

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息。

二、学生成绩查询: 输入一个学号,在文件中查找此学生, 若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息. 同时也可以全部把各科的平均成绩,最高和最低分输出。

三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来。

四、输出全部学生信息和全部学生成绩。

五、退出系统。

六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找.总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。

2、查询模块:可用stu *lookdata(stu *p1)来实现。

找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩.3、插入模块:可用insert( )函数来实现.其中通过学号的大小来比较的,并且以此来排序。

4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage() 、maverage() 、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。

5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。

二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计. 主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include"stdio.h"#include"stddef。

c语言版学生成绩管理系统课程设计报告

c语言版学生成绩管理系统课程设计报告

课程设计报告(本科)课程:高级语言程序设计学号:姓名:班级:2013级计算机科学与技术教师:时间:2013年12月计算机科学与技术系结果与分析(可以加页):一、运行结果1 、总页面2、增加功能3、查找功能姓名查找(内含模糊查找)学号查找条件组合查找3、删除功能4、修改功能5、保存功能二、程序分析该程序设计基本实现了,对学生成绩的增加,删除,修改,查找和存储的基本功能,另外在查找程序中,还包含了模糊查找和条件组合查找但是对于条件组合查找,在两个条件存在的前提下,却能查出多个结果,查询显示结果却由“且”变成“或”。

附录:#include <stdio.h>#include <stdlib.h>#include <string.h>struct student{char name[60];char ID[7];int score;};int dq(struct student st[]);void xianshi();void bc(struct student st[]);void add(); //定义增加函数void chazhao();//定义查找函数void xhcz();//按学号查找void xmcz();//按姓名查找void del();//定义删除函数void xmsc();//姓名删除void xhsc();//学号删除void zhcz();//条件组合查找void xg();//定义修改函数void xhxg(); //学号修改void xmxg();//姓名修改void bca();void fh();struct student st[300]; //这个数组用来保存所有的学生信息和文件里面的一致int Number=0; //记录总的学生人数也就是数组/文件里面的学生人数int k=0;//表示输入的信息是否存在void main(){int choose=0;FILE *fp=NULL;char yesorno;if((fp=fopen("C://student.dat","rb"))==NULL){printf("\n=========>提示:文件不存在,是否要创建一个?(y/n)\n");scanf("%c",&yesorno);if(yesorno=='y'||yesorno=='Y'){//这里仅为了建立文件fp=fopen("C://student.dat","wb");fclose(fp);}elseexit(0);}else{Number=dq(st); //要是文件只能够已经有数据将数据初始化到数组中}system("cls");{xianshi();printf("\t\t====>请选择:");scanf("%d",&choose);system("cls");switch(choose){case 0: exit(0);//退出break;case 1: add();fh();//增加学生成绩break;case 2: chazhao();fh();// 查找break;case 3: del();fh();//删除break;case 4: xg();fh();//修改break;case 5:bca();fh();//保存break;default:break;}fflush(stdin);getchar();system("cls");}}void bca(){printf("\t=====程序在运行时已自动保存.....\n"); }void fh(){printf("\n");}void xg() //修改学生信息{int way=0;printf("请选择修改查找方式\n");printf("1 按姓名查找修改\n");printf("2 按学号查找修改\n");scanf("%d",&way);switch(way){case 1: xmxg();break;case 2: xhxg();break;default: printf("输入有误,结束!\n");break;}}//按姓名修改void xmxg(){FILE *fp=NULL;char name[60];int i=0;int changeIndex=0;int index=0;printf("请输入要修改的学生姓名:");scanf("%s",name);for (i=0;i<Number;i++){if (strcmp(name,st[i].name)==0){changeIndex=i; //保存要修改的人的下标k=1;break;}}if(k==1){printf("\t姓名\t学号\t高数\t英语\tc语言\t计算机导论\n");printf("\t%s\t%s\t%d\n\n",st[changeIndex].name,st[changeIndex].ID,st[changeIndex].score,st[cha ngeIndex].score,st[changeIndex].score,st[changeIndex].score);printf("请重新输入该学生信息");printf("姓名:");scanf("%s",st[changeIndex].name);printf("学号:");scanf("%s",st[changeIndex].ID);printf("高数:");scanf("%d",&st[changeIndex].score);printf("英语:");scanf("%d",&st[changeIndex].score);printf("c语言:");scanf("%d",&st[changeIndex].score);printf("计算机导论:");scanf("%d",&st[changeIndex].score);printf("\t=======>修改成功\n");}else if(k==0)printf("=>无此人\n\n\n");//信息修改后重新更新文件里面的数据以保持数据一致性fp=fopen("C://student.dat","wb");for (i=0;i<Number;i++){fwrite(&st[i],sizeof(struct student),1,fp);}fclose(fp);k=0;}void xhxg()//按学号修改{FILE *fp=NULL;char id[60];int i=0;int changeIndex=0;int index=0;printf("请输入要修改的学生学号:");scanf("%s",id);for (i=0;i<Number;i++){if (strcmp(id,st[i].ID)==0){changeIndex=i; //保存要修改的人的下标k=1;break;}}if(k==1){printf("\t姓名\t学号\t高数\t英语\tc语言\t计算机导论\n");printf("\t%s\t%s\t%d\n\n",st[changeIndex].name,st[changeIndex].ID,st[changeIndex].score,st[cha ngeIndex].score,st[changeIndex].score,st[changeIndex].score);printf("请重新输入该学生信息");printf("姓名:");scanf("%s",st[changeIndex].name);printf("学号:");scanf("%s",st[changeIndex].ID);printf("高数:");scanf("%d",&st[changeIndex].score);printf("英语:");scanf("%d",&st[changeIndex].score);printf("c语言:");scanf("%d",&st[changeIndex].score);printf("计算机导论:");scanf("%d",&st[changeIndex].score);printf("\t=======>修改成功\n");}else if(k==0)printf("=>无此人\n\n\n");//信息修改后重新更新文件里面的数据以保持数据一致性fp=fopen("C://student.dat","wb");for (i=0;i<Number;i++){fwrite(&st[i],sizeof(struct student),1,fp);}fclose(fp);k=0;}void del()//删除{int n=0;printf("1 按姓名删除\n");printf("2 按学号删除\n");scanf("%d",&n);switch(n){case 1: xmsc();break;case 2: xhsc();break;}}void xmsc()//按姓名删除{FILE *fp=NULL;char name[60];int i=0;int j=0;printf("请输入要删除的学生姓名:");scanf("%s",name);for(i=0;i<Number;i++){if (strcmp(name,st[i].name)==0) //如果查找到就删除{for (j=i;j<Number-1;j++){st[j]=st[j+1];}Number--;printf("删除成功;\n");k=1;}}if(k==0)printf("=>无此人\n\n\n");//将剩余数据写入文件重新一写的方式打开文件把以前的数据擦除了fp=fopen("C://student.dat","wb");for (i=0;i<Number;i++){fwrite(&st[i],sizeof(struct student),1,fp);}fclose(fp);k=0;}void xhsc()//按学号删除{FILE *fp=NULL;char id[60];int i=0;int j=0;printf("请输入要删除的学生学号:");scanf("%s",id);for(i=0;i<Number;i++){if (strcmp(id,st[i].ID)==0) //如果查找到就删除{for (j=i;j<Number-1;j++){st[j]=st[j+1];}Number--;printf("删除成功;\n");k=1;}}if(k==0)printf("=>无此人\n\n\n");//将剩余数据写入文件重新一写的方式打开文件把以前的数据擦除了fp=fopen("C://student.dat","wb");for (i=0;i<Number;i++){fwrite(&st[i],sizeof(struct student),1,fp);}fclose(fp);k=0;}void chazhao()//查找学生{int n=0;printf("1 按姓名查找\n");printf("2 按学号查找\n");printf("3 组合查找\n");scanf("%d",&n);switch(n){case 1: xmcz();break;case 2: xhcz();break;case 3: zhcz();break;default: printf("输入有误,结束!\n");break;}}void xhcz()//按学号查找{char id[7];int i=0;printf("请输入要查找学生学号:");scanf("%s",id);system("cls");for (i=0;i<Number;i++){if (strcmp(id,st[i].ID)==0){printf("\t姓名\t学号\t高数\t英语\tc语言\t计算机导论\n");printf("\t%s\t%s\t%d\t%d\t%d\t%d\n",st[i].name,st[i].ID,st[i].score,st[i].score,st[i].score,st[i].scor e);k=1;}}if(k==0)printf("=>对不起没有查找出这个人\n\n\n");k=0;}void xmcz()//按姓名查找{char name[7];int i=0;printf("请输入要查找学生姓名:");scanf("%s",name);system("cls");for (i=0;i<Number;i++){if (strcmp(name,st[i].name)>=0){printf("\t姓名\t学号\t高数\t英语\tc语言\t计算机导论\n");printf("\t%s\t%s\t%d\t%d\t%d\t%d\n",st[i].name,st[i].ID,st[i].score,st[i].score,st[i].score,st[i].scor e);k=1;}}if(k==0)printf("=>对不起没有查找出这个人\n\n\n");k=0;}void zhcz()//组合查找{char name[7];char id[7];int i=0,j=0;printf("请输入要查找学生姓名:");scanf("%s",name);printf("请输入要查找学生学号:");scanf("%s",id);system("cls");for (i=0;i<Number;i++){if (strcmp(name,st[i].name)==0)if (strcmp(id,st[i].ID)==0){printf("\t姓名\t学号\t高数\t英语\tc语言\t计算机导论\n");printf("\t%s\t%s\t%d\t%d\t%d\t%d\n",st[i].name,st[i].ID,st[i].score,st[i].score,st[i].score,st[i].scor e);k=1;}}if(k==0)printf("=>对不起没有查找出这个人\n\n\n"); k=0;}void add()//增加学生{int numberTemp=0;int i=0;struct student temp; //临时保存信息printf("请输入要增加学生成绩个数:");scanf("%d",&numberTemp);for(i=0;i<numberTemp;i++){printf("输入第%d个同学信息\n",i+1);printf("姓名:");scanf("%s",);printf("学号:");scanf("%s",temp.ID);printf("高数成绩:");scanf("%d",&temp.score);printf("英语成绩:");scanf("%d",&temp.score);printf("c语言成绩:");scanf("%d",&temp.score);printf("计算机导论成绩:");scanf("%d",&temp.score);st[Number++]=temp; //将刚添加的写入到数组bc(&temp); //将刚添加的写入到文件}printf("添加成功\n");}void bc(struct student *st){FILE *fp=NULL;fp=fopen("C://student.dat","ab+");fwrite(st,sizeof(struct student),1,fp);fclose(fp);}int dq(struct student st[]){FILE *fp=NULL;int i=0;fp=fopen("C://student.dat","rb");while(fread(&st[i],sizeof(struct student),1,fp))i++;fclose(fp);return i;}void xianshi(){printf("\t*****************************************************************\n"); printf("\t* *\n"); printf("\t* 学生成绩管理系统*\n"); printf("\t* *\n"); printf("\t* [1] 增加学生成绩*\n"); printf("\t* [2] 查找学生成绩*\n"); printf("\t* [3] 删除学生成绩*\n"); printf("\t* [4] 修改学生信息*\n"); printf("\t* [5] 保存数据*\n"); printf("\t* [0] 退出系统*\n"); printf("\t*****************************************************************\n"); }。

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告一、引言学生成绩管理系统是一个为学校或教育机构提供学生学业成绩管理的重要工具。

通过该系统,可以方便地记录和查询学生的各项成绩,帮助教师和学生了解学生的学业表现,及时作出教学和学习的调整和改进。

本文将介绍一个基于C语言的学生成绩管理系统的设计与实现。

二、需求分析1. 学生信息管理:包括学生基本信息的录入、修改和删除。

2. 成绩信息管理:包括成绩的录入、修改和删除。

3. 成绩查询与统计:可以按照学生学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。

4. 数据存储与备份:能够将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。

三、系统设计1. 学生信息管理模块:设计一个结构体来存储学生的基本信息,包括学号、姓名、性别、年龄等。

通过菜单选择,可以实现学生信息的录入、修改和删除功能。

2. 成绩信息管理模块:设计一个结构体来存储学生的成绩信息,包括科目名称和成绩。

通过菜单选择,可以实现成绩信息的录入、修改和删除功能。

3. 成绩查询与统计模块:通过学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。

4. 数据存储与备份模块:设计文件操作函数,将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。

四、系统实现1. 使用C语言编写程序代码,通过结构体和数组等数据结构实现学生信息和成绩信息的存储。

2. 利用文件操作函数实现数据的读取和存储,包括学生信息和成绩信息的存储和备份。

3. 设计菜单界面,通过用户选择来实现各个功能模块的调用。

五、系统测试与优化1. 针对各个功能模块进行测试,验证系统的正确性和稳定性。

2. 根据测试结果优化程序代码,提高系统性能和用户体验。

3. 完善系统功能,考虑异常情况的处理,提高系统的容错性和健壮性。

六、总结与展望通过本次课程设计,我们成功实现了一个基于C语言的学生成绩管理系统。

该系统能够方便地记录和查询学生的成绩信息,帮助教师和学生进行教学和学习的分析和改进。

奖学金评定工作报告

奖学金评定工作报告

奖学金评定工作报告一、工作目标和背景奖学金评定工作是学校为了激励学生学习积极性,发现和培养优秀学生而设立的一个重要工作。

根据学校相关规定,奖学金评定工作定期进行,以确保评选出的奖学金及时发放给优秀的学生,同时也为学生提供了竞争和展示自己的平台。

为了更好地推进奖学金评定工作,我们部门制定了明确的目标和工作计划,努力提高评选的公正性和准确性。

二、工作内容和方法1.数据收集和整理:我们通过学校教务部门和学生处的相关数据,收集了各位同学的学术成绩、社会实践表现和奖励情况等信息,并进行了初步的整理和统计。

2.专家评审组的组建和培训:我们邀请了学院的相关专家教师组成评审组,确保评选过程的科学性和公正性。

同时,我们还进行了评审组成员的培训工作,提高他们对奖学金评选标准和要求的理解。

3.评选标准的制定和传达:我们根据学校的相关规定,制定了明确的评选标准和要求,包括学术成绩、科研能力、社会实践及奖励情况等方面。

并将这些标准和要求向全体学生和评审组成员进行了宣传和传达。

4.评选过程的开展:我们按照学校规定的时间表,组织评审组成员对学生的申请材料进行评审,并进行分数统计和排名。

同时,我们还对申请材料进行审核,确保申请材料的真实性和完整性。

5.结果公示和申诉处理:我们将评选结果进行公示,并对不符合条件的学生进行说明和解释,同时给予学生申诉的机会。

对于学生的申诉,我们将进行认真的调查核实,并根据真实情况进行处理。

三、工作成绩和亮点1.工作效率的提高:通过优化工作流程和人员分工,我们提高了工作的效率,按时完成了评选工作。

评选结果能够及时公示,为学生合理安排学习和规划提供了参考。

2.公正和公平的评选:我们严格按照评选标准进行评审,确保评选过程公正和公平。

评审组成员经过培训,能够准确理解和运用评选标准,避免了主观主义的影响,评选结果客观准确。

四、存在的问题和改进方案1.数据收集和整理存在一定的复杂性和不完善性,需要进一步优化数据管理系统,确保数据的准确性和及时性。

国家奖学金评定系统

国家奖学金评定系统

河南城建学院《数据库原理》课程设计报告课程名称:《数据库原理》课程设计设计题目:国家奖学金评定系统指导教师:班级:学号:学生姓名:同组人员:计算机科学与工程学院2014年6月8日目录第1章概述 (2)1.1选题的背景与意义...................................... 错误!未定义书签。

1.2相关技术分析 (1)第2章系统功能设计 (3)2.1系统总体结构设计 (3)2.2查询模块的数据流图 (3)2.3数据字典 (4)第3章数据库设计 (6)3.1需求分析 (6)3.2数据库概念结构设计 (6)3.3数据库逻辑结构设计 (9)第4章数据库维护与查询 (11)4.1创建数据库SCHOLAR (11)4.2创建表 (12)4.3创建索引 (13)4.4创建视图 (14)4.5创建用户 (15)第5章结束语 (19)参考文献 (19)第1章概述1.1 选题的背景与意义1.1.1学生综合测评的现状分析在素质教育评价过程中,学生综合测评是高校普遍采用的评价手段。

对学生实施综合素质测评的目的在于正确评价学生的综合素质,为评优评奖和推荐就业提供依据,实现学生教育管理工作的标准化、制度化和科学化,引导和促进学生德、智、体、能全面协调发展,培养适应社会经济发展需要,具有创新精神和实践能力的专门人才。

目前,我国的普通高校学生综合测评大多还停留在纸质的基础上,许多工作还停留在传统的手工操作。

不仅浪费了大量的人力物力资源,而且由于人工管理存在着许多不可控因素,导致学生综合测评操作不规范,测评结果不全面,不能客观准确地反映学生的综合素质。

因此,建立一套基于网络环境的技术先进、高效稳定、安全可靠的学生综合测评系统势在必行。

1.1.2学生综合测评系统的开发意义与传统的手工管理相比,计算机管理不但能发挥计算机方便、快捷的功能,而且可以大量节省了资源、费用等,更方便灵活操作,而且方便管理,增加综合测评的公平性、透明性,有效防止综合测评的弊端,使学生综合测评更加合理、更趋于成熟。

c语言成绩管理系统课程设计报告

c语言成绩管理系统课程设计报告

c语言成绩管理系统课程设计报告一、引言:成绩管理系统是一种可以有效管理学生课程成绩的工具。

通过该系统,教师可以方便地录入、修改和查询学生的成绩,而学生和家长也可以方便地查看自己的成绩情况。

本次课程设计旨在设计一个基于C语言的成绩管理系统,实现对学生课程成绩的录入、修改和查询等功能。

二、系统设计:1. 数据结构设计:为了实现成绩管理系统的各项功能,需要设计相关的数据结构。

对于学生信息,可以设计一个结构体,包含学号、姓名、性别等字段;对于课程成绩,可以设计一个结构体,包含学号、课程名称、成绩等字段。

2. 功能设计:(1) 学生信息录入功能: 教师可以通过输入学生的学号、姓名、性别等信息,将学生信息录入系统中。

(2) 成绩录入功能: 教师可以通过输入学生的学号和课程名称,将学生的课程成绩录入系统中。

(3) 成绩修改功能: 教师可以根据学生的学号和课程名称,修改学生的课程成绩。

(4) 成绩查询功能: 学生和家长可以通过输入学生的学号,查询学生的课程成绩。

三、系统实现:1. 用户界面设计:使用C语言中的控制台窗口,通过菜单的方式显示系统功能选项,用户可以通过键盘输入选择对应的功能。

2. 数据存储设计:使用文件存储学生信息和课程成绩。

通过读取和写入文件的方式,实现数据的持久化存储。

3. 功能实现:(1) 学生信息录入功能的实现: 用户输入学生的学号、姓名、性别等信息后,将学生信息写入文件。

(2) 成绩录入功能的实现: 用户输入学生的学号、课程名称和成绩后,将成绩信息写入文件。

(3) 成绩修改功能的实现: 用户输入学生的学号、课程名称和新的成绩后,根据学号和课程名称找到对应的成绩信息并修改。

(4) 成绩查询功能的实现: 用户输入学生的学号后,根据学号在文件中查找对应的成绩信息并显示在控制台窗口。

四、系统测试:对于每一个功能,设计相应的测试用例,验证系统的正确性和稳定性。

例如,录入一个学生信息后,查询该学生的信息是否正确;录入一门课程成绩后,修改该成绩并查询是否修改成功等。

奖学金评选系统设计与实现

奖学金评选系统设计与实现

奖学金评选系统设计与实现
奖学金评选系统设计与实现主要包括以下步骤:
1. 需求分析:明确系统的功能需求、性能需求和开发环境等,为后续的设计和实现提供基础。

在这个阶段,需要深入了解学校或组织的奖学金评选规则和流程,以及参与评选的人员和角色。

2. 系统设计:根据需求分析结果,设计系统的整体架构、功能模块、数据库结构等。

在这个阶段,需要将评选流程分解为具体的功能模块,并确定各个模块之间的关系和数据流动。

同时,需要设计相应的数据库表来存储学生信息、评选规则、评选结果等数据。

3. 系统开发:根据系统设计结果,使用合适的编程语言和开发工具进行系统的实现。

在这个阶段,需要编写相应的代码,建立数据库连接,实现各个功能模块的逻辑处理和数据存储。

4. 系统测试:在系统开发完成后,进行全面的测试,检查系统是否符合设计要求和实际需求。

在这个阶段,需要对系统的各个功能模块进行测试,确保系统的稳定性和正确性。

5. 系统部署与维护:将系统部署到实际使用的环境中,并进行日常的维护和管理。

在这个阶段,需要定期检查系统的运行状况,更新数据,修复可能存在的问题,保证系统的正常运行。

在实现奖学金评选系统时,需要注意以下几点:
1. 保证系统的安全性,确保数据不被非法访问和篡改。

2. 优化系统的性能,提高系统的响应速度和处理能力。

3. 确保系统的可扩展性和可维护性,方便对系统进行升级和改进。

4. 充分考虑用户的需求和习惯,提供友好、易于使用的界面和操作方式。

C语言学生学习成绩管理系统实验报告

C语言学生学习成绩管理系统实验报告

学生学习成绩管理系统1.课程设计的目的1.对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

2.掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。

3.熟练掌握C语言的基本语法,灵活运用各种数据类型。

4.进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。

2.课程设计的要求1.程序在运行时,均以菜单形式提供选择界面,并提供一定的数据安全和提示具有良好的交互功能。

2.设计中的每一个小功能均由子函数来完成3.提前编制下次调试的程序,对于难点问题要积极查阅相关教材、资料,计划好每次上机的内,高效、独立地完成这次设计任务4.在硬盘上建立自己的目录,将程序文件存储到该目录下,即有利于调试文件,又保证了文件的安全性。

3.课程设计报告内容3.1任务定义本系统主要应用数据结构的设计思想,在TC环境下运用C语言进行编程设计一个学生成绩管理系统,该系统主要实现对学生的学号、姓名等自然信息以及学生成绩信息进行创建、增加、删除、查询、插入、显示的功能以及计算所有学生总成绩的总分,并依照学生各类信息高低进行排名的功能。

系统给用户提供了一个简单的人机界面,使用户可以根据提示输入操作项,调用系统提供的管理功能。

3.2系统运行环境操作系统:Windows 98/2000/XP运行软件:TC3.3功能需求(问题分析)学生成绩管理系统为教师和学生提供了一个对学生自然信息和学科成绩进行管理和查看的平台,给用户提供了一个简单友好的用户接口,功能需求分析描述如下:(1)编写菜单函数,为用户提供一个友好的操作选择界面。

(2)学生信息输入:用户根据提示输入学生的学号、姓名、各科成绩,可一次性输入多条学生的成绩信息记录;当要停止输入并退回主菜单时,只须输入0符号回车即可。

(4)学生信息删除:提示用户输入要删除的学生学号或姓名,如果输入的学号不存在,系统会立即提示不存在该学号的学生请先添加。

C语言学生成绩管理系统课程设计报告

C语言学生成绩管理系统课程设计报告

C语言课程设计报告一 .问题描述:题目七:学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。

主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单要求:使用二进制文件方式存储数据,系统以菜单方式工作学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。

要求使用二进制文件方式存储数据,系统以菜单方式工作,实现对学生成绩的录入,修改,统计,排序,查询,输出等功能。

二 .设计目的设计“学生成绩管理系统”使其具有以下功能:(1)能完成对学生成绩的录入(2)能按班级统计学生的成绩,求学生的总分及平均分,排序(3)能按班级,学期输出学生的成绩单和不及格科目及学生名单(4)能查询单个学生成绩(5)能修改单个学生信息三 . 要求系统以菜单方式工作四 . 功能1 输入功能:可以一次完成无数条信息的输入。

2 输出功能:能按班级输出学生的成绩单。

3 修改功能:完成对单个学生成绩的修改。

4 查找功能:完成对单个学生信息查找,并显示。

5 排序功能:按学生成绩进行排序,并显示。

六 . 详细内容整个系统除了主函数外,另外还有5个函数,实现六大功能:输入功能、输出功能、修改功能,查找并显示功能、排序并显示功能。

各个函数的详细设计说明分别如下:1 . 定义结构体及宏定义#include <stdlib.h>#include <stdio.h>#include <string.h>#define NUM 100struct student{ int term;int num;int classes;char name[10];int score[4];int sum;float average;}stu[NUM];2.主函数 main()利用无限次循环for(;;)和swithch()进行菜单选择来实现各函数的调用,系统根据输入的数字选项来调用相应的函数。

奖学金计算系统报告

奖学金计算系统报告

数据结构(C++实现)实训报告题目:奖学金计算系统专业:班级:学生:学号:指导老师:目录一、需求分析 (3)1.1 系统应实现的功能 (3)1.2. 系统应达到的性能 (3)二、系统设计 (4)2.1 逻辑结构的设计 (4)2.2物理结构的设计 (5)1)初始化学生信息 (5)2)查看奖学金信息 (5)3)查询个人奖学金 (5)4)修改个人成绩 (5)三、部分函数成员的实现 (6)1.初始化顺序表 (6)2.查看奖学金信息顺序表 (6)3.查询奖学金顺序表 (6)4. 修改学生顺序表 (7)四、测试与调试 (9)五、归纳总结 (11)一、需求分析随着社会的信息量与日俱增,越来越多的人依赖信息技术。

同样,在大学的期末考核后,会有奖学金的评定。

我们知道,学生人数诸多,评定的内容也并没有很简单,单单只是靠人力来评定,工作量较大而且准确率有时会受到影响。

开发一个奖学金计算系统,可以充分减轻辅导员的工作量,又能提高准确率。

1.1 系统应实现的功能本奖学金计算系统主要是建立在学生成绩基础上,方便计算出学生的学分绩及对应的奖学金,主要功能有学生成绩和学分绩的添加、查找、删除和修改。

根据输入姓名,学号,专业及成绩计算出学分绩,根据学分绩,按照实际奖学金的评定规则,输出各等奖学金。

系统模块划分如图1.2. 系统应达到的性能 ①数据精确度在精度需求上,根据实际需要,数据在输入、输出及传输的过程中要满足各种精度的需求根据关键字精度的不同。

②时间特性系统响应时间应在人的感觉和视觉范围内(<1 s ),系统响应时间足够迅速(<5 s ),能够满足用户要求。

③适应性在操作方式、运行环境、软件接口或开发计划等发生变化时,应具有适应能力。

④可使用性操作界面简单明了,易于操作,对格式和数据类型限制的数据,进行验证,包括客户端验证和服务器验证,并采用错误提醒机制,提示用户输入正确数据和正确的操作系统。

⑤安全保密性只有合法用户才能登录使用系统,对每个用户都有权限设置。

原创c语言学生成绩管理系统设计报告

原创c语言学生成绩管理系统设计报告

原创C语言学生成绩管理系统设计报告一、引言学生成绩管理是学校教务工作中的重要组成部分,对于学校管理和学生评价具有重要意义。

为了提高学生成绩管理效率和准确性,本文设计并实现了一个基于C语言的学生成绩管理系统。

本系统以学生的基本信息和成绩为核心,提供了学生信息录入、成绩查询、成绩统计等功能,方便学校教务人员管理学生的学籍和成绩信息。

二、需求分析学生成绩管理系统的主要功能需求如下: 1. 学生信息的录入和修改:系统需要提供录入学生基本信息(如姓名、学号、性别、年级等)的功能,同时可以修改已录入学生的信息。

2. 学生成绩的录入和修改:系统需要提供录入学生成绩的功能,在录入成绩时,需要输入学生学号和各科成绩,并计算总分和平均分。

同时可以修改已录入学生的成绩信息。

3. 学生成绩的查询和统计:系统需要提供根据学生学号或姓名查询学生成绩的功能,并能够对学生成绩进行统计,包括科目平均分、总分排名等。

4. 界面友好、操作简便:系统需要使用简洁明了的界面设计,方便用户进行操作,并给出相应的提示和错误信息。

三、系统设计3.1 数据库设计本系统的数据库需要存储学生的基本信息和成绩信息。

设计采用两个数据表:student和score。

#### 3.1.1 student表字段包括:学生学号(sid)、姓名(name)、性别(gender)、年级(grade)。

#### 3.1.2 score表字段包括:学生学号(sid)、科目1成绩(score1)、科目2成绩(score2)、科目3成绩(score3)、总分(total_score)、平均分(average_score)。

3.2 系统模块设计本系统设计采用模块化设计,将各个功能模块进行划分,提高代码的可维护性和重用性。

#### 3.2.1 学生信息管理模块该模块实现学生信息的录入、修改和删除功能,包括以下函数:- add_student():添加学生信息。

- modify_student():修改学生信息。

C语言学生成绩管理系统课程设计报告【范本模板】

C语言学生成绩管理系统课程设计报告【范本模板】

设计一个学生成绩管理系统,对上学期的本班的学习成绩进行管理,具有查询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件.A、设计内容1、每一条记录包括一个学生的学号、姓名、性别、各门课成绩(上学期的科目)、平均成绩.2、输入功能:可以一次完成若干条记录的输入.3、显示功能:完成全部学生记录的显示。

4、查找功能:完成按姓名或学号查找学生记录,并显示。

5、排序功能:按学生平均成绩进行排序.6、插入功能:按学号顺序插入一条学生记录.7、将学生记录存在文件student.dat中。

8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!B、设计要求一、已知有存储本班学生记录(包括学号、姓名、科目成绩、性别、)的文件student。

dat,所有学生以学号从小到大排序(该文件自行建立)。

要求编程序实现查询、排序、插入、删除诸功能。

具体要求如下:A.要求显示如下界面****************************************1---—————----——查询2-—---—--------排序3———-------——-—插入4-—-——-——-—--——删除****************************************通过选择1-4来确定要做哪一个操作。

B.若选1,则出现如下界面****************************************1.1-——--———-—按学号查询1.2-—-————-—-按姓名查询1。

3——-—--——--按成绩查询****************************************通过选择1.1-1.3来确定要做哪一个操作,其中:按姓名查询用顺序法实现;按成绩查询实现查询成绩小于m分的学生;找到该生将学生记录输出到屏幕,若查无此人,输出相关信息。

C.若选2,则按成绩从大到小排序,姓名,学号顺序也随之调整.D.若选3,将一个新学生记录按学号顺序插入,并把结果保存到文件student。

奖学金评定系统c语言大一课设

奖学金评定系统c语言大一课设

奖学金评定系统c语言大一课设以下为一个简单的奖学金评定系统的C语言代码,实现以下功能:1.输入学生信息,包括学号、姓名、班级、成绩等;2.根据成绩,评定奖学金等级;3.输出所有学生的信息,包括学生姓名、成绩、奖学金等级等。

```。

#include <stdio.h>。

#include <string.h>。

struct student 。

char id[10];。

char name[20];。

char cls[10];。

int score;。

char level[10];。

};。

void set_level(struct student *s) 。

if (s->score >= 90) 。

strcpy(s->level, "一等奖学金");。

} else if (s->score >= 80) 。

strcpy(s->level, "二等奖学金");。

} else if (s->score >= 70) 。

strcpy(s->level, "三等奖学金");。

} else 。

strcpy(s->level, "无");。

}。

}。

int main() 。

const int n = 3; // 学生人数。

struct student s[n];。

for (int i = 0; i < n; i++) 。

printf("请输入第%d个学生的信息:\n", i+1);。

printf("学号:");。

scanf("%s", s[i].id);。

printf("姓名:");。

scanf("%s", s[i].name);。

printf("班级:");。

c语言课程设计学生成绩管理系统报告书

c语言课程设计学生成绩管理系统报告书

《C程序设计》)设计报告书学生成绩管理系统学生姓名学号班级成绩计算机科学与技术专业2015年 01 月 6 日摘要本系统主要用于学生成绩管理与查询,主要功能包括数据的录入、读取、显示、删除、插入、查找、修改、排名。

主要使用人群:龙岩学院信息工程院全体学生。

目录1 课题综述 (X)1.1课题内容 (X)1.2意义 (X)1.3设计目的 (X)2 系统分析 (X)2.1相关基础知识 (X)2.2 总体方案 (X)3 系统设计 (X)3.1 新建文件 (X)3.2 打开文件 (X)3.3 修改功能 (X)3.4 插入功能 (X)3.5 查询功能 (X)3.6 删除功能 (X)3.7 排名功能 (X)3.8 关于我们 (X)3.9 软件说明 (X)3.10退出保存 (X)4 代码编写 (X)4.1 总程序 (X)5 总结 (X)参考文献 (X)1 课题综述1.1课题内容每个学生的信息为:学号、姓名、性别、课程单科成绩(单科成绩包括C语言、高数、大学语文、汇编、中近史)、总分、平均成绩。

功能:(1) 按学号顺序输入学生信息,包括学号、姓名、性别、课程单科成绩(单科成绩包括C 语言、高数、大学语文、汇编、中近史),并存入文件中。

(2) 从文件读取数据(3) 删除学生信息(4) 查询学生信息(查询可分为精确查询和模糊查询)(5) 修改学生信息(要求修改后,数据依然是按学号顺序排列)(6) 插入学生信息(要求插入后,数据依然是按学号顺序排列)(7) 附加功能,学生可自由发挥,如:排名、求各门课程平均分等。

1.2意义通过该课程设计,为学生提供了一个既动手又动脑,自学,查资料,独立实践的机会。

把现实世界中的实际问题在计算机内并培养基本的、良好的程序设计技能,全面提高学生的程序设计、开发能力。

同时将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,对C系统编程有一个大致的了解。

c语言课课程设计奖学金管理

c语言课课程设计奖学金管理

c语言课课程设计奖学金管理一、教学目标本课程的教学目标是使学生掌握C语言编程的基本技能,能够运用C语言实现简单的程序设计,并在此基础上,通过具体的案例实践,让学生了解并掌握奖学金管理系统的开发流程,提升实际编程能力和问题解决能力。

知识目标:使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。

技能目标:使学生能够熟练使用C语言进行程序设计,能够阅读并理解简单的C语言程序。

情感态度价值观目标:培养学生对计算机科学的兴趣和热情,培养学生独立思考、合作学习的精神,培养学生的创新意识和实践能力。

二、教学内容本课程的教学内容主要包括C语言的基本语法和编程技巧,以及奖学金管理系统的需求分析、设计、实现和测试。

1.C语言的基本语法和编程技巧:数据类型、运算符、控制结构、函数等。

2.奖学金管理系统的需求分析:了解奖学金管理系统的功能需求和性能需求。

3.奖学金管理系统的设计:设计系统的模块结构、数据结构和算法。

4.奖学金管理系统的实现:使用C语言实现系统的各个模块。

5.奖学金管理系统的测试:对系统进行功能测试和性能测试,确保系统的稳定性和可靠性。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。

1.讲授法:通过讲解C语言的基本语法和编程技巧,使学生掌握C语言的基本知识。

2.案例分析法:通过分析奖学金管理系统的案例,使学生了解并掌握系统的设计和实现方法。

3.实验法:通过实验,使学生能够熟练使用C语言进行编程,提高学生的实际编程能力。

四、教学资源本课程的教学资源包括教材、实验设备、多媒体资料等。

1.教材:选用国内权威出版的C语言教材,作为学生学习的主要参考资料。

2.实验设备:提供计算机实验室,供学生进行实验和实践。

3.多媒体资料:制作教学PPT,提供相关视频教程,帮助学生更好地理解和掌握C语言编程知识和技巧。

五、教学评估本课程的评估方式包括平时表现、作业、考试等几个方面,以全面客观地评价学生的学习成果。

C语言课程设计报告 学生成绩管理系统

C语言课程设计报告 学生成绩管理系统

C语言课程设计报告院系:机械与电子信息学院姓名:王鹏飞班号:07310126学号:20101003558指导教师:龚文引日期:2011年7月学生成绩管理系统一、题目要求设计一个学生成绩管理程序,对在校某班学生几门课程的考试成绩进行统一管理。

每个学生记录包括学号、姓名、年龄、数学、英语、物理成绩,默认以学号为序存放。

(1)一个文件按以班为单位存储学生记录.(2)将允许的操作分为四种,以A、B、C、D、E、F为标志(若设置菜单操作更佳):A:插入一个新的学生记录(录入学生信息);B:修改学生记录;C:删除一个学生记录;D:登记成绩;E:修改成绩;F:浏览全班成绩。

(3)计算学生的总成绩。

(4)按学号排序输出全班成绩表。

二、需求分析根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览学生的信息,应提供添加、修改、删除、排序等操作;另外还应提供键盘式选择菜单实现功能选择。

三、总体设计根据上面的需求分析,可以将这个系统的设计分为8个模块,数据输入,添加数据,修改数据,删除数据,修改成绩,学号排序,浏览成绩,退出模块。

四。

详细设计1、主函数【分析】将各个功能模块设置为菜单选项,方便调用,且执行完每部分功能模块后能够方便返回到系统界面.【流程图】:【程序代码】:menu() /*主界面*/{int w1;char n; /*。

变量n保存选择菜单数字,w1判断输入的数字是否在功能菜单对应数字范围内*/do{puts(”\t\t***************菜单****************\n\n”);puts(”\t\t\t\tA。

录入学生信息”);puts(”\t\t\t\tB.修改学生记录”);puts(”\t\t\t\tC。

删除一个学生记录”);puts(”\t\t\t\tD.登记成绩”);puts("\t\t\t\tE。

修改成绩");puts("\t\t\t\tF。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

沈阳航空航天大学实验报告课程名称:面向对象程序设计及C++实验题目:学生奖学金评定系统院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:一、实验目的达到对所学面向对象程序设计知识的一次综合运用,熟练掌握面象对象分析问题、解决问题的方法。

二、实验内容描述该实验室评定学生奖学金的一个系统,包括查看学生奖学获得的情况,以及录入学生信息,修改学生信息,查看个人奖学金等功能。

结果都将保存在文件中,在下次程序开始时会自动调用上一次修改的结果。

三、类设计及描述四、关键函数描述初始化学生信息函数chushihua();:把文件中已有的学生信息读取出来查寻学生获得奖学金信息函数paihang();:查询所有学生奖学金获得情况录入学生成绩函数fun1();:录入新学生姓名,性别,学号,以及成绩修改学生成绩函数amend();:可以修改已有学生任何一次考试的任何一门成绩查寻个人奖学金函数find();:可以查寻已有学生奖学金获得的情况。

五、程序测试/运行的结果图4.1******************查询文件中已有学生信息********************图4.2************************初始化学生信息***************************图4.3*******************查询学生获得奖学金信息************************图4.4******************** 查询结果 ************************图4.5**********************如果没有录入此人信息**************六、实验总结这是我第一次做比较大的C++程序,在制作的过程中遇到过很多问题,不过还在在老师和同学的帮助下把这些问题都得到了解决。

程序可以流畅运行,但是依然存在着很多缺陷,比如说界面,做的并没有呢么完美,功能方面也有待加强,我会继续努力,争取做出更好的作品。

附录(实验代码)#include<iostream>#include<math.h>#include<string>#include<fstream>using namespace std;static int n=0;class exam //成绩类{public:float Math;float English;float Sport;float practise;float zong;};class final:public exam{public:float zongchengji(float a=0,float b=0,float c=0,float d=0); };class midterm:public exam{public:float zongchengji(float a=0,float b=0,float c=0,float d=0); };float midterm::zongchengji(float a,float b,float c,float d){zong=a+b+c+d;return a+b+c+d;}float final::zongchengji(float a,float b,float c,float d){zong=a+b+c+d;return a+b+c+d;}class student //学生类{public:float pingding();public:string name; //姓名string number; //学号char sex[5]; //性别int money; //奖学金数额float GPA; //绩点midterm zhong; //期中考试成绩final mo; //期末考试成绩};float student::pingding(){float a,b;a=(mo.Math*4+mo.English*3+mo.Sport*2+mo.practise*1.5)*0.7/10.5/10;b=(zhong.English*3.5+zhong.Math*4+zhong.practise*1.5+zhong.Sport*2)*0.3/10.5/10;GPA=a+b;if(GPA>=8)money=1000;else if(GPA>=7&&GPA<8)money=500;else if(GPA>=6&&GPA<7)money=300;else if(GPA<6&&GPA>=5)money=150;elsemoney=0;return GPA;;}class guanli{public:void print();int gameprint1();void fun1(student *stu);void paihang(student *stu);void find(student *stu);void amend(student *stu);void chushi(student *stu);};void guanli::print() //打印界面函数{cout<<"┃------------------------------------┃"<<endl;cout<<"┃********* 奖学金评定*********┃"<<endl;cout<<"┃********* 1初始化学生信息*********┃"<<endl;cout<<"┃********* 2查看奖学金信息*********┃"<<endl;cout<<"┃********* 3查询个人奖学金*********┃"<<endl;cout<<"┃********* 4修改个人成绩*********┃"<<endl;cout<<"┃********* 5退出*********┃"<<endl;cout<<"┃------------------------------------┃"<<endl;}int guanli::gameprint1() //打印函数{int a;cout<<"继续操作请按1,退出请按0"<<endl;cin>>a;return a;}void guanli::chushi(student *stu) //初始化学生信息函数{ifstream p;int i;p.open("E:\\基本信息.txt");if(!p){cout<<"打开失败"<<endl;exit(0);}while(!p.eof()){p>>stu[n].name>>stu[n].number>>stu[n].sex>>stu[n].mo.Math>>stu[n].mo.English>>stu[n]. mo.Sport>>stu[n].mo.practise>>stu[n].zhong.Math>>stu[n].zhong.English>>stu[n].zhong.Sport> >stu[n].zhong.practise;n++;}for(i=0;i<n;i++)stu[i].pingding();p.close();}void guanli::fun1(student *stu) //录入学生信息函数{float a,b,c,d,i;cout<<"输入学生姓名,学号,性别"<<endl;cin>>stu[n].name>>stu[n].number>>stu[n].sex;cout<<"请选择输入"<<stu[n].name<<"的成绩"<<endl;cout<<"请输入该生期中成绩--请按--数学英语体育实践的顺序输入,否则默认为0"<<endl;cin>>a>>b>>c>>d;stu[n].zhong.Math=a;stu[n].zhong.English=b;stu[n].zhong.Sport=c;stu[n].zhong.practise=d;stu[n].zhong.zongchengji(a,b,c,d);cout<<"请输入该生期末考试成绩--请按--数学英语体育实践的顺序输入,否则默认为0"<<endl;cin>>a>>b>>c>>d;stu[n].mo.Math=a;stu[n].mo.English=b;stu[n].mo.Sport=c;stu[n].mo.practise=d;stu[n].mo.zongchengji(a,b,c,d);ofstream p;p.open("E:\\基本信息.txt",ios::app);if(!p){cout<<"打开失败"<<endl;exit(0);}p<<endl<<stu[n].name<<" "<<stu[n].number<<" "<<stu[n].sex<<stu[n].mo.Math<<" "<<stu[n].mo.English<<" "<<stu[n].mo.Sport<<" "<<stu[n].mo.practise<<" "<<stu[n].zhong.Math<<" "<<stu[n].zhong.English<<" "<<stu[n].zhong.Sport<<" "<<stu[n].zhong.practise;n++;}void guanli::paihang(student *stu) //查看奖学金信息函数{int i;cout<<"姓名"<<" "<<"绩点"<<" "<<"奖学金数额"<<endl;for(i=0;i<n;i++){stu[i].pingding();cout<<stu[i].name<<" "<<stu[i].GPA<<" "<<stu[i].money<<endl;}}void guanli::find(student *stu) //查询奖学金函数{int a;float b;cout<<"请输入所查询学生学号"<<endl;string ch;cin>>ch;int i;for(i=0;i<n;i++){if(ch==stu[i].number){b=stu[i].pingding();if(b>=6&&b<7)cout<<"恭喜"<<stu[i].name<<"获得综合三等奖学金,数额为300"<<endl;else if(b>=5&&b<6)cout<<"恭喜"<<stu[i].name<<"获得单项奖学金,数额为150"<<endl;else if(b>=7&&b<8)cout<<"恭喜"<<stu[i].name<<"获得综合二等奖学金,数额为500"<<endl;else if(b>=8)cout<<"恭喜"<<stu[i].name<<"获得综合一等奖学金,数额为1000"<<endl;elsecout<<"该生未获得奖学金,请继续努力"<<endl;return ;}}cout<<"查无此人"<<endl;}void guanli::amend(student *stu) //修改学生成绩函数{string s;int i=0,a,b;char ch;float aa;cout<<"请输入修改学生的姓名"<<endl;cin>>s;for(i=0;i<n;i++)if(stu[i].name==s){ofstream p;p.open("E:\\基本信息.txt");if(!p){cout<<"打开失败"<<endl;exit(0);}loop1: cout<<"请输入要修改的成绩"<<endl;cout<<" 1期中"<<endl;cout<<" 2期末"<<endl;cin>>a;if(a==1){cout<<"请输入要修改的学科"<<endl;cout<<" 1数学"<<endl;cout<<" 2英语"<<endl;cout<<" 3体育"<<endl;cout<<" 4实践"<<endl;cin>>b;cout<<"请输入修改后的成绩"<<endl;cin>>aa;switch(b){case 1:stu[i].zhong.Math=aa;break;case 2:stu[i].zhong.English=aa;break;case 3:stu[i].zhong.Sport=aa;break;case 4:stu[i].zhong.practise=aa;break;}}else if(a==2){cout<<"请输入要修改的学科"<<endl;cout<<" 1数学"<<endl;cout<<" 2英语"<<endl;cout<<" 3体育"<<endl;cout<<" 4实践"<<endl;cin>>b;cout<<"请输入修改后的成绩"<<endl;cin>>aa;switch(b){case 1:stu[i].mo.Math=aa;break;case 2:stu[i].mo.English=aa;break;case 3:stu[i].mo.Sport=aa;break;case 4:stu[i].mo.practise=aa;break;}}else{cout<<"输入错误请重新输入"<<endl;goto loop1;}cout<<"继续修改?<y\n>"<<endl;cin>>ch;if(ch=='y')goto loop1;for(i=0;i<n;i++){p<<stu[n].name<<" "<<stu[n].number<<" "<<stu[n].sex<<stu[n].mo.Math<<" "<<stu[n].mo.English<<" "<<stu[n].mo.Sport<<" "<<stu[n].mo.practise<<" "<<stu[n].zhong.Math<<" "<<stu[n].zhong.English<<" "<<stu[n].zhong.Sport<<" "<<stu[n].zhong.practise;}p.close();return;}cout<<"查无此人"<<endl;}void main(){system("color 8c");student stu[100],*CH;guanli a;CH=stu;a.chushi(stu);int i,lin;loop1: a.print();cin>>i;if(i!=1&&i!=2&&i!=3&&i!=4&&i!=5){cout<<"输入错误,请重新输入"<<endl;goto loop1;}else{switch(i){case 1:a.fun1(CH);lin=a.gameprint1();if(lin==1)goto loop1;else exit(0);case 2:a.paihang(CH);lin=a.gameprint1();if(lin==1)goto loop1;else exit(0);case 3:a.find(CH);lin=a.gameprint1();if(lin==1)goto loop1;else exit(0);case 4:a.amend(CH);lin=a.gameprint1();if(lin==1)goto loop1;else exit(0);case 5: exit(0);}}}。

相关文档
最新文档