学生成绩管理系统 C语言061406116蒋红杰_学生管理系统c语言版
学生成绩管理系统 C语言061406116蒋红杰由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“学生管理系统c语言版”。
C++面向对象课程设计
任 务 报 告 书
课题:学生成绩管理系统
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
指 导 教 师:闫洪亮 陈红军 薛 冰
李
蓓 景伟娜
学 生 班 级:0614061 学 生 学 号:061406140 学 生 姓 名:蒋红杰
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
2008.02.28
一、设计题目:学生成绩管理系统
二、系统环境:硬件:联想电脑
软件:Microsoft visual c++
三、设计内容概述、解决方案及说明
学生成绩管理系统能够实现学生成绩的录入、查询、修改、增加、注销、总排明及各科分数排名基本信息。利用C++语言编写来实现,深入理解用类、继承等面向对象的编程的特点。
四、流程图及模块图及说明()(流程图模块见后附录)
五、程序清单(加注释)及相关说明(程序源代码如下)#include #include #include using namespace std;int j;
struct fenshu
{ float chinese;
float math;
float english;
float total;};
struct student
{ char xingming[20];
int xuehao;
fenshu z;
};cla program
{ public: void setname();
void getname();
void xiugai();
void tianjia();
void shanchu();
void paiming();
private: student a[100];
};void program::setname(){ float d,e,f;
//全局变量
//用于存放学生成绩
//存放语文成绩
//存放数学函数
//存放英语函数
//用于存放学生所有信息
//存放学生姓名
//存放学生学号
//学生成绩封装结构体
//类 实现学生成绩的各种功能
//学生成绩注册
//学生成绩查询
//学生成绩修改 //学生成绩填加
//学生成绩注销
//学生成绩排名函数
//用于存放学生的各种信息
//学生注册函数
cout>j;char namestr[20];
//输入学生姓名
int number;for(int i=0;i
cin>>namestr;
//学生姓名输入
strcpy(a[i].xingming,namestr);//输入的学生姓名负值给结构体保存
cout>number;a[i].xuehao=number;
//输入学生学号
cout>d;cout>e;cout>f;a[i].z.chinese=d;
//给学生成绩赋值
a[i].z.english=f;a[i].z.math=e;a[i].z.total=a[i].z.chinese+a[i].z.english+a[i].z.math;} char wo;cout>wo;}
void program::getname()
//学生成绩查询函数 {
cout
cout
char name[20];
cin>>name;for(int k=0;k
if(strcmp(a[k].xingming,name)==0)
//学生姓名查询是否对应
{
//对应则输出学生信息否则不执行
cout
cout
cout
cout
cout
} }
char wo;
cout
cout
cin>>wo;}
void program::xiugai()
//学生成绩修改函数
{
cout
float x,y,z;
cout
char names[20];
cin>>names;
for(int l=0;l
{
if(strcmp(a[l].xingming,names)==0)//学生姓名查询是否对应
{
cout
//新学生信息输入
cout
cin>>x;
cout
cin>>y;
cout
cin>>z;
a[l].z.chinese=x;
a[l].z.english=z;
a[l].z.math=y;
a[l].z.total=a[l].z.chinese+a[l].z.english+a[l].z.math;
}
}
char wo;
cout
cout
cin>>wo;
}
void program::tianjia()
//新学生注册函数
{
cout
++j;
//全局变量
char names[20];
cout
cin>>names;
strcpy(a[j-1].xingming,names);
cout
int i;
cin>>i;
a[j-1].xuehao=i;
//J减一与数组对应
cout
float m,n,r;
cout
cin>>m;
cout
cin>>n;
cout
cin>>r;
a[j-1].z.chinese=m;
//给新添加学生成绩赋值
a[j-1].z.english=r;
a[j-1].z.math=n;
a[j-1].z.total=a[j-1].z.chinese+a[j-1].z.english+a[j-1].z.math;
char wo;
cout
cout
cin>>wo;
} void program::shanchu()
//学生成绩注销函数 { cout
char nam[20];char na[]=“sorry”;
cout
cin>>nam;
for(int o=0;o
if(strcmp(a[o].xingming,nam)==0)
{
cout
//将注销学生成绩归零
strcpy(a[o].xingming,na);
a[o].xuehao=0;
a[o].z.english=0;
a[o].z.chinese=0;
a[o].z.math=0;
a[o].z.total=0;
} } char wo;cout>wo;} void program::paiming()
//学生成绩排名函数 { cout>name;for(int p=0;p
if(strcmp(a[p].xingming,name)==0)
//学生成绩排序
{
for(int k=0;k
{
if(a[p].z.total
{
q++;
}
if(a[p].z.chinese
{
i++;
}
if(a[p].z.english
//英语成绩排序
{
l++;
}
if(a[p].z.math
//数学成绩排序
{
m++;
}
}
cout
cout
//输出学生成绩排序情况
cout
cout
cout
cout
cout
cout
cout
}
} char wo;cout>wo;}
void main()
//主函数 {
system(“color 56”);
char r[20];char s[20];cout>r;cout
cin>>s;system(“cls”);cout>wo;system(“cls”);char h[20];char t[20];for(int m=0;m
cout
cout
cin>>h;
cout
cin>>t;
system(“cls”);
if(strcmp(r,h)==0&&strcmp(s,t)==0)
{
cout
cout
“
for(int k=0;k
{}
goto menu;
}
else
{
cout
cout
cout
} } exit(0);menu:
system(”color 60“);
//DOS颜色变换
cout
▲▲▲▲”>i;switch(i){ case '1':system(“cls”);cout
★★★★★★★★★★★★★“
★★★★★★★★★★★★★”
★★★★★★★★★★★★★“
★★★★★★★★★★★★★”
★★★★★★★★★★★★★“
★★★★★★★★★★★★★”
六、设计中遇到的问题及解决方法
我们设计的题目是学生成绩管理系统,刚拿到这个我们首先进行了分析,在头脑里有了个大概的脉络,接下来的就具体行动了,对系统的需求分析,编写程序,当然在编写的过程中遇到了很多困难。编写一个程序需要实现什么功能,学生的基本信息要如何得到实现,刚开始我们先编写一个简单的程序,能够基本实现学生成绩的录入,查询,修改等功能,显然这些在实际生活中还是不够的,然后再添加了总分的计算,各科的排名,学生成绩的注销。而如何将这些功能全部联系起来呢,我们考虑到了结构体,再经过仔细复习课本,参考书籍,经过我们三个人的仔细研究与探讨终于得到了实现。调试的时候是也是不断修改。
七、心得体会
心得体会
经过一星期的艰苦奋战,我们三人齐心协力,共同完成了任务.这不仅是程序设计,更是锻炼我们处理问题的能力,同时也使我们了解到团队合作的可贵.编写程序是件细心活,稍不留神就会出错,这就必须要求我们对待事情要认真!在编写程序的过程中,错误不断出现,不同的类型(如少写了一个符号,写错了字母,用错了函数等等)层出不穷,这考验我们待事细心,耐心,能不能坚持到底,不能半途而废.这次主要体现出了团队合作的无比重要性,但与此同时我们也发现知识也同样占据着重要的地位.胜不骄,败不馁.没有最好,只有更好!团队精神贯穿于课程设计的始终,这种精神带给我们力量的同时也增强了我们的团队意识,它将对我们产生巨大的影响。在设计和调试程序的过程中,我们看到了自身在掌握知识上的欠缺之处,并获得了补充的机会。从中获得的宝贵的经验和汲取的实践精华将对我们以后的学习起着不可磨灭的推动作用。课程设计的时间很短暂,但对我们的影响意义却是无穷无尽的。
三人行必有我师,遇到问题我们一起讨论,研究,错了再写,写了在改.经过多次的修改,调试,运行,添加,终于最后在大家的欢呼声中,完成了我们的任务.虽说是累了点,但我们也从中找到了自己的快乐,每当完成一个新的函数时,那心情是激动啊,这毕竟是自己弄出来的,同时也使我们感受到了学习的快乐!
生活上我们也同样如此,以这种精神对待生活,对待生命,我想,我们的人生会更美好,路是自己走出来的,也只有经过无数次的磨练,无数次地坚定我们的信心,锻炼我们的意志渐渐地使自己才能够使自己成熟起来,走出一片属于自己的天空.钟锦荣
2008-2-29
八、参考文献
《C++语言程序设计》(清华大学出版社)《C++程序设计》谭浩强编