C成绩管理系统.docx

上传人:b****1 文档编号:12488395 上传时间:2023-04-19 格式:DOCX 页数:17 大小:17.50KB
下载 相关 举报
C成绩管理系统.docx_第1页
第1页 / 共17页
C成绩管理系统.docx_第2页
第2页 / 共17页
C成绩管理系统.docx_第3页
第3页 / 共17页
C成绩管理系统.docx_第4页
第4页 / 共17页
C成绩管理系统.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C成绩管理系统.docx

《C成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C成绩管理系统.docx(17页珍藏版)》请在冰豆网上搜索。

C成绩管理系统.docx

C成绩管理系统

 

《C++面向对象程序设计》课程设计

 

题目:

学生成绩管理

班级:

计算机二专09级

姓名:

刘玉方

学号:

200801070712

 

2010年7月7日

1需求分析

1.1功能需求分析:

简易学生成绩管理系统主要有5个大的模块:

学生成绩的输入,学生成绩的删除,学生成绩的插入,学生成绩的查询,以及学生成绩的分类汇总。

1.11学生成绩输入模块

主要功能是输入学生成绩的操作。

需要用户自己输入学生成绩信息。

1.12学生成绩删除模块

主要功能是删除学生成绩的操作。

需要用户提供需要删除具体学生成绩的关联信息。

1.13学生成绩插入模块

主要功能是插入学生成绩的操作。

需要用户提供插入位置和插入信息。

1.14学生成绩查询模块

主要功能是按照用户的要求查询学生的成绩。

需要用户提供查询具体哪一个学生的信息。

1.15学生成绩的分类汇总模块

主要功能是输出每门学科的总分和平均分。

2功能模块

2.1学生成绩输入的实现;

运用cout、cin标准输出、输入流来实现学生成绩的输入。

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

";

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

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

";

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

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

";

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

2.2学生成绩删除的实现;

运用for循环语句查找并删除用户提供的删除具体某个学生成绩的信息,并删除之。

for(j=i;j

strcpy(stud[j].class_0,stud[j+1].class_0);

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

strcpy(stud[j].name,stud[j+1].name);

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

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

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

}

2.3学生成绩插入的实现;

intInsert(Studentstud[],intn){

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

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

"<

cin>>stud[n].class_0;

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

";

cin>>stud[n].number;

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

";

cin>>stud[n].name;

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

";

cin>>stud[n].c_program;

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

";

cin>>stud[n].english;

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

";

cin>>stud[n].math;

stud[n].summary=stud[n].c_program+stud[n].english+stud[n].math;

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

gets(x);

n++;

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

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

插入成功!

"<

return(n);

}

2.4成绩查询显示分类汇总模块

voidSort(Studentstud[],intn){

inti,j,k;floats;chart[20];

for(i=0;i

for(j=0;j

if(stud[j].average

strcpy(t,stud[j+1].class_0);

strcpy(stud[j+1].class_0,stud[j].class_0);

strcpy(stud[j].class_0,t);

k=stud[j+1].number;

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

stud[j].number=k;

strcpy(t,stud[j+1].name);

strcpy(stud[j+1].name,stud[j].name);

strcpy(stud[j].name,t);

s=stud[j+1].c_program;

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

stud[j].c_program=s;

s=stud[j+1].english;

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

stud[j].english=s;

s=stud[j+1].math;

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

stud[j].math=s;

s=stud[j+1].summary;

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

stud[j].summary=s;

s=stud[j+1].average;

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

stud[j].average=s;

}

}

3源代码

#include/*引用库函数*/

#include

#include

#include

#include

typedefstruct

{

charclass_0[20];/*班级*/

intnumber;/*学号*/

charname[20];/*姓名*/

floatc_program;/*C++语言成绩*/

floatenglish;/*大学英语成绩*/

floatmath;/*高等数学成绩*/

floatsummary;/*总分*/

floataverage;/*平均分*/

}Student;

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

intmenu()/*菜单函数*/

{

charc;

do

{

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

cout<<"**********学生成绩管理系统************"<

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

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

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

cout<<"【4】查找并显示一组数据"<

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

cout<<"【6】修改一组数据"<

cout<<"【7】删除一组数据"<

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

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

cout<<"请你选择操作(0-7):

"<

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

}

while(c<'0'||c>'7');

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

}

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

{

inti=0;

charsign,x[10];/*x[10]为清除多余的数据所用*/

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<<"请输入该学生『C++程序设计』的成绩:

";

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

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

";

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

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

";

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

stud[n+i].summary=stud[n+i].c_program+stud[n+i].english+stud[n+i].math;

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

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

"<

"<

gets(x);/*清除多余的输入*/

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

继续写入成绩?

(Y/N)";

cin>>sign;/*输入判断*/

i++;

}

return(n+i);

}

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

{

inti;

if(!

stud)cout<<"没有记录";

else{

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

cout<<"班级学号姓名C++英语数学总分平均分"<

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

for(i=1;i

{

stud[i-1].summary=stud[i-1].c_program+stud[i-1].english+stud[i-1].math;

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

cout<

}

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

system("pause");

}

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

{

inti,j,k;

floats;

chart[20];

for(i=0;i

for(j=0;j

if(stud[j].average

{

strcpy(t,stud[j+1].class_0);

strcpy(stud[j+1].class_0,stud[j].class_0);

strcpy(stud[j].class_0,t);

k=stud[j+1].number;

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

stud[j].number=k;

strcpy(t,stud[j+1].name);

strcpy(stud[j+1].name,stud[j].name);

strcpy(stud[j].name,t);

s=stud[j+1].c_program;

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

stud[j].c_program=s;

s=stud[j+1].english;

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

stud[j].english=s;

s=stud[j+1].math;

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

stud[j].math=s;

s=stud[j+1].summary;

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

stud[j].summary=s;

s=stud[j+1].average;

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

stud[j].average=s;

}

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

cout<<"班级学号姓名C++英语数学总分平均分"<

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

for(i=1;i

{

stud[i-1].summary=stud[i-1].c_program+stud[i-1].english+stud[i-1].math;

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

cout<

}

}

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

{

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

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

"<

cin>>stud[n].class_0;

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

";

cin>>stud[n].number;

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

";

cin>>stud[n].name;

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

";

cin>>stud[n].c_program;

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

";

cin>>stud[n].english;

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

";

cin>>stud[n].math;

stud[n].summary=stud[n].c_program+stud[n].english+stud[n].math;

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

gets(x);

n++;

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

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

插入成功!

"<

return(n);

}

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

{

ints;

inti=0,j;

cout<<"输入需要删除学生的学号:

"<

cin>>s;

while((stud[i].number-s)!

=0&&i

if(i==n)

{

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

对不起,无法找到改学号……"<

return(n);

}

for(j=i;j

{

strcpy(stud[j].class_0,stud[j+1].class_0);

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

strcpy(stud[j].name,stud[j+1].name);

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

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

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

}

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

已成功删除!

"<

return(n-1);

}

voidSearch(Studentstud[],intn)/*查找并显示一个记录*/

{

ints;

inti=0;

cout<<"输入需要查找学生的学号:

"<

cin>>s;

while((stud[i].number-s)!

=0&&i

if(i==n)

{

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

对不起,无法找到该学生的信息!

"<

return;

}

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

cout<<"班级:

"<

cout<<"学号:

"<

cout<<"姓名:

"<

cout<<"C++程序设计:

"<

cout<<"大学英语:

"<

cout<<"高等数学:

"<

cout<<"总分:

"<

cout<<"平均分:

"<

}

 

voidModify(Studentstud[],intn)

{

ints;

inti=0;

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

"<

cin>>s;

while((stud[i].number-s)!

=0&&i

if(i==n)

{

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

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

return;

}

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

cout<<"班级学号姓名C++英语数学总分平均分"<

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

stud[i].summary=stud[i].c_program+stud[i].english+stud[i].math;

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

cout<

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

"<

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

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

"<

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

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

"<

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

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

"<

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

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

"<

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

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

"<

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

stud[i].summary=stud[i].c_program+stud[i].english+stud[i].math;

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

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

"<

"<

}

voidmain()/*主函数*/

{

intn=0;

for(;;)

{

switch(menu())/*选择判断*/

{

case1:

cout<>输入成绩<<===="<

n=Input(stu,n);

break;

case2:

cout<>显示所有记录<<===="<

Display(stu,n);

break;

case3:

cout<>按平均分降序排列<<===="<

Sort(stu,n);/*按学号排序*/

cout<<"排序成功!

"<

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

system("pause");

break;

case4:

cout<>查找并显示一组成绩<<===="<

Search(stu,n);/*插入一条记录*/

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

system("pause");

break;

case5:

cout<>插入一组成绩<<===="<

n=Insert(stu,n);/*按姓名查找,删除一条记录*/

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

system("pause");

break;

case6:

cout<>修改一组成绩<<===="<

Modify(stu,n);/*查找并显示一个记录*/

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

system("pause");

break;

case7:

cout<

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

当前位置:首页 > 医药卫生 > 基础医学

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

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