C++学生成绩管理系统任务书及源程序.docx

上传人:b****4 文档编号:3773262 上传时间:2022-11-25 格式:DOCX 页数:26 大小:22.87KB
下载 相关 举报
C++学生成绩管理系统任务书及源程序.docx_第1页
第1页 / 共26页
C++学生成绩管理系统任务书及源程序.docx_第2页
第2页 / 共26页
C++学生成绩管理系统任务书及源程序.docx_第3页
第3页 / 共26页
C++学生成绩管理系统任务书及源程序.docx_第4页
第4页 / 共26页
C++学生成绩管理系统任务书及源程序.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

C++学生成绩管理系统任务书及源程序.docx

《C++学生成绩管理系统任务书及源程序.docx》由会员分享,可在线阅读,更多相关《C++学生成绩管理系统任务书及源程序.docx(26页珍藏版)》请在冰豆网上搜索。

C++学生成绩管理系统任务书及源程序.docx

C++学生成绩管理系统任务书及源程序

《软件设计基础-C++》

课程设计任务书

学院班级

设计人成绩___

一、题目:

学生成绩管理系统

二、目的与要求:

1.目的:

(1)掌握面向对象程序设计的基本思路和方法;

(2)了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程;

2.基本要求:

(1)在VC++6.0环境中,学会调试程序的方法,及时查究错误,独立调试完成。

(2)程序调试通过后,完成程序文档的整理,加必要的注释。

3.创新要求:

在基本达到题目要求外,进行创新设计,如设计模糊查询。

4.书写设计报告的要求

设计报告中包含以下几个方面:

(1)设计题目

(2)总体设计

①概述所作系统的功能及用途

②用自顶而下或自底而上的方法,划分功能模块。

③确定各模块的算法

(3)根据算法画出模块图

(4)列出程序清单,并加以必要的注释

(5)写出调试程序的方法

(6)指出所设计问题的不足和改进方案

(7)总结本次设计的收获及心得

三、设计方法和基本原理:

1.问题描述:

编制一个简单的“学生成绩管理系统”,要求其主要功能有:

数据输入,成绩排序,成绩查询,成绩统计,奖学金评定,打印等基本功能。

2.问题的解决方案:

1.用静态数组或动态数组

2.排序模块,应针对各门课程的成绩或总分进行排序:

查询模块最好设计为可按学号,姓名,成绩任意属性进行;统计模块包括统计及格人数,不及格人数等功能。

3.可调用库函数来美化界面。

四、主要技术问题的描述:

运用数组和库函数实现学生成绩的录入、统计、查询、修改、删除、输出。

(1)定义类类型1)主函数main():

定义学生结构体数组,调用录入、统计等函数对成绩表进行处理;

(2)录入函数Input():

输入学生成绩;

(3)统计函数Statistic():

计算平均成绩;

(4)查询函数Lookup():

查询指定学号学生成绩记录;

(5)修改函数Modify():

修改指定学号学生成绩记录;

(6)删除函数Delete():

删除指定学号学生记录;

(7)输出函数Output():

输出班级所有学生成绩记录;

(8)排序函数Sort():

按平均分对学生成绩记录项进行降序排序;

(9)插入函数Insert():

按平均分顺序插入新记录。

另外,学生数据可写入文件,也可从文件中读取。

五、课程设计时间:

六、课程设计的考核方式及评分方法

1.考核方式

课程设计结束时,在机房当场验收。

(1)教师提供测试数据,检查运行结果是否正确。

(2)回答教师提出的问题。

(3)学生提交课程设计报告(A4纸打印),并将电子文档和源程序发至ftp服务器:

ftp:

//210.31.197.23

用户名和密码按照指导教师告知的即可。

2.评分方法

(1)出勤率

(2)课程设计准备工作

(3)课程设计期间纪律

(4)课程设计运行结果

(5)课程设计报告

(6)答辩情况

指导教师签字:

系主任签字:

日期:

年月日

 

#include//引用库函数

#include

#include

#include

#include

#include

#include

typedefstruct

{

charclass_0[20];//班级

intnumber;//学号

charname[20];//姓名

floatelectrics;//电子技术成绩

floatc_program;//C++语言成绩

floatmultimedia;//多媒体技术成绩

floatenglish;//大学英语成绩

floatmath;//高等数学成绩

floatsport;//体育成绩

floatpolity;//马克思主义政治经济学

floatsummary;//总分

floataverage;//平均分

}Student;

Studentstu[100];//结构体数组变量

intmenu()//菜单函数

{

charc;

do

{

system("cls");//运行前清屏

cout<<"*********************************************欢迎使用王者学生成绩管理系统*********************************************"<

cout<<"基本操作:

"<

cout<<"【a】输入数据"<

cout<<"【b】显示所有数据"<

cout<<"【c】按平均分降序排列"<

cout<<"【d】插入一组数据"<

cout<<"【e】按班级学号修改一组数据"<

cout<<"【f】按班级学号删除一组数据"<

cout<<"查询:

"<

cout<<"【g】按班级学号查找并显示一组数据"<

cout<<"【h】按姓名查找并显示一组数据"<

cout<<"【i】按总成绩精确查找并显示一组数据"<

cout<<"小小创新(模糊查询):

"<

cout<<"【j】按总成绩查模糊找并显示一组数据"<

cout<<"【k】按班级找并显示一组数据"<

cout<<"成绩统计:

"<

cout<<"【l】统计各科及格和不及格人数"<

cout<<"【m】查看获得奖学金的同学"<

cout<<"小小创新:

"<

cout<<"【n】统计要求分数段的人数"<

cout<<"文件的输入输出:

"<

cout<<"【o】从文件中读入数据"<

cout<<"【p】将所有记录写入文件"<

cout<<"【q】退出本系统\n"<

cout<<"*************************作者:

11级冶金与能源学院热能与动力工程2班王庆超201114680205*************************"<

cout<<"请你选择操作(a-q):

"<

c=getchar();//读入选择

}

while(c<'a'||c>'q');

return(c-'a');//返回选择

}

intInput(Studentstud[],intn)//输入若干条记录

{

inti=0;

charsign;

while(sign!

='n'&&sign!

='N')//判断

{

cout<<"请输入学生的班别:

";//交互输入

cin>>stud[n+i].class_0;

cout<<"请输入学生的学号:

";

cin>>stud[n+i].number;

cout<<"请输入学生的姓名:

";

cin>>stud[n+i].name;

cout<<"请输入该学生『电子技术』的成绩:

";

cin>>stud[n+i].electrics;

cout<<"请输入该学生『C++程序设计』的成绩:

";

cin>>stud[n+i].c_program;

cout<<"请输入该学生『多媒体技术』的成绩:

";

cin>>stud[n+i].multimedia;

cout<<"请输入该学生『大学英语』的成绩:

";

cin>>stud[n+i].english;

cout<<"请输入该学生『高等数学』的成绩:

";

cin>>stud[n+i].math;

cout<<"请输入该学生『大学体育』的成绩:

";

cin>>stud[n+i].sport;

cout<<"请输入该学生『马克思主义政治经济学』的成绩:

";

cin>>stud[n+i].polity;

stud[n+i].summary=stud[n+i].electrics+stud[n+i].c_program+stud[n+i].multimedia+stud[n+i].english+stud[n+i].math+stud[n+i].sport+stud[n+i].polity;

stud[n+i].average=stud[n+i].summary/7;

cout<<"该学生的总分为:

"<

"<

cout<<"=====>提示:

继续写入成绩?

(Y/N)";

cin>>sign;//输入判断

i++;

}

return(n+i);

}

voidDisplay(Studentstud[],intn)//显示所有记录

{

inti;

if(!

stud)

cout<<"没有记录";

else

{

cout<<"------------------------------------------------------------------------------------------------------------------"<

cout<

cout<<"------------------------------------------------------------------------------------------------------------------"<

for(i=1;i

{

stud[i-1].summary=stud[i-1].electrics+stud[i-1].c_program+stud[i-1].multimedia+stud[i-1].english+stud[i-1].math+stud[i-1].sport+stud[i-1].polity;

stud[i-1].average=stud[i-1].summary/7;

cout<

}

cout<<"\t\t\t"<

}

system("pause");

}

voidSort(Studentstud[],intn)//按平均分排序

{

inti,j;

Studentt;//用于排序交换的临时变量

for(i=0;i

for(j=0;j

if(stud[j].average

{

t=stud[j];

stud[j]=stud[j+1];

stud[j+1]=t;

}

cout<<"------------------------------------------------------------------------------------------------------------------"<

cout<

cout<<"------------------------------------------------------------------------------------------------------------------"<

for(i=1;i

{

stud[i-1].summary=stud[i-1].electrics+stud[i-1].c_program+stud[i-1].multimedia+stud[i-1].english+stud[i-1].math+stud[i-1].sport+stud[i-1].polity;

stud[i-1].average=stud[i-1].summary/7;

cout<

}

}

intInsert(Studentstud[],intn)//插入一条记录

{

charx[10];//清除多余输入所用

cout<<"请输入学生的班别:

";//交互输入

cin>>stud[n].class_0;

cout<<"请输入学生的学号:

";

cin>>stud[n].number;

cout<<"请输入学生的姓名:

";

cin>>stud[n].name;

cout<<"请输入该学生『电子技术』的成绩:

";

cin>>stud[n].electrics;

cout<<"请输入该学生『C++程序设计』的成绩:

";

cin>>stud[n].c_program;

cout<<"请输入该学生『多媒体技术』的成绩:

";

cin>>stud[n].multimedia;

cout<<"请输入该学生『大学英语』的成绩:

";

cin>>stud[n].english;

cout<<"请输入该学生『高等数学』的成绩:

";

cin>>stud[n].math;

cout<<"请输入该学生『大学体育』的成绩:

";

cin>>stud[n].sport;

cout<<"请输入该学生『马克思主义政治经济学』的成绩:

";

cin>>stud[n].polity;

stud[n].summary=stud[n].electrics+stud[n].c_program+stud[n].multimedia+stud[n].english+stud[n].math+stud[n].sport+stud[n].polity;

stud[n].average=stud[n].summary/7;

gets(x);

n++;

Sort(stu,n);//调用排序函数

cout<<"=====>提示:

插入成功!

"<

return(n);

}

voidModify(Studentstud[],intn)//按班级学号修改一组数据

{

charx[20];//清除多余输入所用

ints;

inti=0;

cout<<"请输入需要修改成绩学生的班别:

"<

cin>>x;

cout<<"输入需要修改成绩学生的学号:

"<

cin>>s;

while(i

=0||(stud[i].number-s)!

=0))//查找判断

i++;

if(i==n)

{

cout<<"=====>提示:

对不起,无该学生的成绩……"<

return;

}

cout<<"---------------------------------------------------该学生的信息---------------------------------------------------"<

cout<

cout<<"------------------------------------------------------------------------------------------------------------------"<

stud[i].summary=stud[i].electrics+stud[i].c_program+stud[i].multimedia+stud[i].english+stud[i].math+stud[i].sport+stud[i].polity;

stud[i].average=stud[i].summary/7;

cout<

cout<<"请输入学生的班别:

";//交互输入

cin>>stud[n+i].class_0;

cout<<"请输入学生的学号:

";

cin>>stud[n+i].number;

cout<<"请输入学生的姓名:

";

cin>>stud[n+i].name;

cout<<"请输入该学生『电子技术』的成绩:

";

cin>>stud[n+i].electrics;

cout<<"请输入该学生『C++程序设计』的成绩:

";

cin>>stud[n+i].c_program;

cout<<"请输入该学生『多媒体技术』的成绩:

";

cin>>stud[n+i].multimedia;

cout<<"请输入该学生『大学英语』的成绩:

";

cin>>stud[n+i].english;

cout<<"请输入该学生『高等数学』的成绩:

";

cin>>stud[n+i].math;

cout<<"请输入该学生『大学体育』的成绩:

";

cin>>stud[n+i].sport;

cout<<"请输入该学生『马克思主义政治经济学』的成绩:

";

cin>>stud[n+i].polity;

stud[n+i].summary=stud[n+i].electrics+stud[n+i].c_program+stud[n+i].multimedia+stud[n+i].english+stud[n+i].math+stud[n+i].sport+stud[n+i].polity;

stud[n+i].average=stud[n+i].summary/7;

cout<<"该学生的总分为:

"<

"<

gets(x);

stud[i]=stud[n+i];

Sort(stu,n);//调用排序函数

cout<<"=====>提示:

修改成功!

"<

}

intDelete(Studentstud[],intn)//按班级学号查找,删除一条记录

{

charx[20];//清除多余输入所用

ints;

inti=0,j;

cout<<"请输入需要修改成绩学生的班别:

"<

cin>>x;

cout<<"

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

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1