C++程序设计课程设计.docx
《C++程序设计课程设计.docx》由会员分享,可在线阅读,更多相关《C++程序设计课程设计.docx(32页珍藏版)》请在冰豆网上搜索。
C++程序设计课程设计
本科生课程设计
课程名称
C++程序设计课程设计
课程编号
J1620101
学号
学生姓名
所在专业
计算机科学与技术
所在班级
计科1111班
指导教师
陈亮
成绩
教师签字
评语:
目录
设计总说明I
1.头文件2
2.定义一个学生系统信息类2
2.1构造函数2
2.1.1初始化函数set()2
2.1.2添加函数add()4
2.1.3删除函数del()4
2.1.4修改函数change()6
2.1.5查询函数search()7
2.1.6显示函数display()9
3.系统界面10
4.主函数10
5.源程序代码.12
设计总说明
1.该程序是学生信息管理系统,包括系统的维护即数据的录入修改删除,信息查询即可实现按姓名查询,按学号查询,成绩统计和分析包含三个不同科目.
2.程序中每一条记录包括一个学生的学号,姓名,性别,英语成绩,高数成绩,物理成绩和总分,同时具有以下功能:
(1).输入功能:
一次可以完成自定义学生人数的学生信息记录的输入.
(2).添加功能:
对指定学生总人数的范围内的学生信息进行添加.
(3).删除功能:
对指定学生的信息进行删除.
(4).修改功能:
对指定学生的信息进行修改.
(5).查询功能:
选择某种方式并进行输入该信息查询符合条件的学生信息.
(6).显示功能:
显示所有正确输入的学生信息,包括学号,姓名,性别,英语成绩,高数成绩,物理成绩和总分.
(7).退出主菜单.
3.在此程序中运用开关语句实现步骤的选择,在每个开关语句中又使用for循环语句和if语句,使按要求输出信息,该程序包括了一、问题描述总体结构,二、实现过程,三、调试问题,程序简单易懂,经检验程序没有错误.
4.该程序的优势在于只需要输入相关的数字就可以实现所需要的功能,并且在输出你所需要的人信息的同时输出其他人的信息(即显示全部信息功能),这使查询方便快捷,使用性强.
学生成绩信息管理系统
1头文件
#include
#include//控制文件流的输入和输出文件流的处理
#include
#include
usingnamespacestd;
#defineM100//可以存信息总量
intN=0;//学生总量
2定义一个学生系统信息类
classstudent
{
public:
student();
voidset();//初始化信息,第一次对信息的录入
voidadd();//添加学生信息
voiddel();//删除某学生信息
voidchange();//修改某学生信息
voidsearch();//查询某学生信息
voiddisplay();//显示全部学生信息
private:
staticdoublenum;
stringname,sex;
doubleenglish,math,physics,sum;
};
doublestudent:
:
num=1100;
student:
:
student(){}
2.1构造函数
2.1.1初始化函数set()
voidstudent:
:
set()
{
inti;
stringsetname,setsex;
doublesetenglish,setmath,setphysics,setsum;
ofstreamoutfile;//建立文件流
outfile.open("f1.txt",ios:
:
out);//打开文件
if(!
outfile)//如果文件outfile打开失败则返回
{
cerr<<"openerror"<exit
(1);
}
//----依次录入相应个数的学生信息----
for(i=0;i{
cout<<"当姓名输入为'0'时,停止输入!
!
!
"<cout<<"请输入姓名:
"<cin>>setname;
name=setname;
if(setname=="0")break;
if(setname!
="0")
{
N++;
num++;
outfile<outfile<cout<<"请输入性别:
"<cin>>setsex;
sex=setsex;
outfile<cout<<"英语:
"<cin>>setenglish;
english=setenglish;
outfile<cout<<"高数:
"<cin>>setmath;
math=setmath;
outfile<cout<<"物理:
"<cin>>setphysics;
physics=setphysics;
outfile<sum=math+physics+english;
setsum=sum;
outfile<}
}
outfile.close();//----关闭文件----
}
2.1.2添加函数add()
voidstudent:
:
add()
{
stringaddname,addsex;
doubleaddenglish,addmath,addphysics,addsum;
//----以追加的方式录入信息,直接将信息追加到以前文件的末尾----
ofstreamoutfile("f1.txt",ios:
:
app);
if(!
outfile)
{
cerr<<"openerror"<exit
(1);
}
N=N+1;
//----依次输入相应的数据,并且追加到之前的文件中去----
cout<<"请输入您要添加的数据"<num++;
outfile<cout<<"请输入姓名:
"<cin>>addname;
outfile<cout<<"请输入性别:
"<cin>>addsex;
outfile<cout<<"英语:
"<cin>>addenglish;
outfile<cout<<"高数:
"<cin>>addmath;
outfile<cout<<"物理:
"<cin>>addphysics;
outfile<addsum=addenglish+addmath+addphysics;
outfile<outfile.close();
cout<<"已添加成功!
"<}
2.1.3删除函数del()
voidstudent:
:
del()
{
intk,i;
intnum[M];
stringname[M],sex[M];
doubleenglish[M],math[M],physics[M],sum[M];
ifstreaminfile("f1.txt",ios:
:
in);
if(!
infile)
{
cerr<<"openerror"<exit
(1);
}
for(i=0;i{
cout<<"";
infile>>num[i];
cout<infile>>name[i];
cout<infile>>sex[i];
cout<infile>>english[i];
cout<infile>>math[i];
cout<infile>>physics[i];
cout<sum[i]=english[i]+math[i]+physics[i];
infile>>sum[i];
cout<}
cout<<"你想删除第几个?
"<cin>>k;
k=k-1;
infile.close();
ofstreamoutfile("f1.txt",ios:
:
out);
if(!
outfile)
{
cerr<<"openerror"<exit
(1);//退出程序
}
//----将数组存取的信息输出到文件中去----
for(i=0;i{
if(i!
=k)
{
outfile<outfile<outfile<outfile<outfile<