C++程序设计课程设计.docx

上传人:b****8 文档编号:23947557 上传时间:2023-05-22 格式:DOCX 页数:32 大小:33.46KB
下载 相关 举报
C++程序设计课程设计.docx_第1页
第1页 / 共32页
C++程序设计课程设计.docx_第2页
第2页 / 共32页
C++程序设计课程设计.docx_第3页
第3页 / 共32页
C++程序设计课程设计.docx_第4页
第4页 / 共32页
C++程序设计课程设计.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

C++程序设计课程设计.docx

《C++程序设计课程设计.docx》由会员分享,可在线阅读,更多相关《C++程序设计课程设计.docx(32页珍藏版)》请在冰豆网上搜索。

C++程序设计课程设计.docx

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<

outfile<

outfile<

}

}

outfile.close();

N=N-1;

cout<<"已删除成功!

"<

}

2.1.4修改函数change()

voidstudent:

:

change()

{

inti,k;

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<

}

infile.close();

ofstreamoutfile("f1.txt",ios:

:

out);

if(!

outfile)

{

cerr<<"openerror"<

exit

(1);

}

cout<<"你想修改第几个数据?

"<

cin>>k;

k=k-1;

cout<<"请输入新的数据:

"<

cout<<"请输入姓名:

"<

cin>>name[k];

cout<<"请输入性别:

"<

cin>>sex[k];

cout<<"请输入英语成绩:

"<

cin>>english[k];

cout<<"请输入高数成绩:

"<

cin>>math[k];

cout<<"请输入物理成绩:

"<

cin>>physics[k];

for(i=0;i

{

outfile<

outfile<

outfile<

outfile<

outfile<

outfile<

sum[i]=english[i]+math[i]+physics[i];

outfile<

}

outfile.close();

cout<<"已修改成功!

"<

}

2.1.5查询函数search()

voidstudent:

:

search()

{

inti,n,w=0,num[M],a[M];charch;

stringsearchname,name[M],sex[M],b[M][2];

doubleenglish[M],math[M],physics[M],sum[M],c[M][4];

cout<<"a.按学号查找b.按姓名查找"<

ifstreaminfile("f1.txt",ios:

:

in);

if(!

infile)

{

cerr<<"openerror"<

exit

(1);

}

for(i=0;i

{

infile>>num[i];a[i]=num[i];

infile>>name[i];b[i][0]=name[i];

infile>>sex[i];b[i][1]=sex[i];

infile>>english[i];c[i][0]=english[i];

infile>>math[i];c[i][1]=math[i];

infile>>physics[i];c[i][2]=physics[i];

sum[i]=english[i]+math[i]+physics[i];

infile>>sum[i];c[i][3]=sum[i];

}

cout<<"请输入a或者b!

"<

cin>>ch;

if(ch=='a')

{

cout<<"请输入学号!

"<

cin>>n;

for(i=0;i

if(a[i]==n)

{

w=1;

cout<<"学号姓名性别英语高数物理总分"<

cout<<"";

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

if(w==0)

cout<<"无此人信息!

"<

}

elseif(ch=='b')

{

cout<<"请输入姓名!

"<

cin>>searchname;

for(i=0;i

if(name[i]==searchname)

{

w=1;

cout<<"学号姓名性别英语高数物理总分"<

cout<<"";

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

if(w==0)

cout<<"无此人信息!

"<

}

elsecout<<"没有此选项!

"<

}

2.1.6显示函数display()

voidstudent:

:

display()

{

intk,num;

stringname,sex;

doubleenglish,math,physics,sum;

ifstreaminfile("f1.txt",ios:

:

in);

if(!

infile)

{

cerr<<"openerror"<

exit

(1);

}

cout<<"学号姓名性别英语高数物理总分"<

for(k=0;k

{

cout<<"";

infile>>num;

cout<

infile>>name;

cout<

infile>>sex;

cout<

infile>>english;

cout<

infile>>math;

cout<

infile>>physics;

cout<

infile>>sum;

cout<

}

infile.close();

}

3系统界面

studentstu;

voidmenu()

{

cout<<"******************"<

cout<<"*1.输入*"<

cout<<"*2.添加*"<

cout<<"*3.删除*"<

cout<<"*4.修改*"<

cout<<"*5.查询*"<

cout<<"*6.显示全部*"<

cout<<"*0.退出*"<

cout<<"******************"<

}

4主函数

voidmain()

{

charch;

menu();

cin>>ch;

while(ch!

='0')

{

system("cls");

switch(ch)

{

case'1':

stu.set();break;

case'2':

stu.add();break;

case'3':

stu.del();break;

case'4':

stu.change();break;

case'5':

stu.search();break;

case'6':

stu.display();break;

case'0':

cout<<"退出系统!

";break;

default:

cout<<"没有此选项!

"<

}

menu();

cin>>ch;

}

}

5源程序代码

#include

#include

#include

#include

usingnamespacestd;

#defineM100//可以存信息总量

intN=0;//学生总量

classstudent

{

public:

student();

voidset();//初始化信息,第一次对信息的录入

voidadd();//添加学生信息

voiddel();//删除某学生信息

voidchange();//修改某学生信息

voidsearch();//查询某学生信息

voiddisplay();//显示全部学生信息

private:

staticdoublenum;

stringname,sex;

doubleenglish,math,physics,sum;

};

doublestudent:

:

num=1100;

student:

:

student(){}

voidstudent:

:

set()

{

inti;

stringsetname,setsex;

doublesetenglish,setmath,setphysics,setsum;

ofstreamoutfile;

outfile.open("f1.txt",ios:

:

out);//----打开文件----

if(!

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<<

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

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

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