面 向 对 象 程 序 设 计上传.docx
- 文档编号:25147014
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:16
- 大小:245.79KB
面 向 对 象 程 序 设 计上传.docx
《面 向 对 象 程 序 设 计上传.docx》由会员分享,可在线阅读,更多相关《面 向 对 象 程 序 设 计上传.docx(16页珍藏版)》请在冰豆网上搜索。
面向对象程序设计上传
《面向对象程序设计》
课程实习大作业
学生数据库管理系统
Studentadatabasemanagementsystem
班级:
姓名:
学号:
1.对学生信息进行管理
1.1设计功能介绍
该设计实现学生个人信息的管理,包括学生信息的输入(学生信息的初始输入)、输出(学生信息的显示输出)、求总分(求出每个学生的总分并排序)、查找(查找要找的学生信息)、删除(删除学生信息)、以及添加(增加学生信息)。
在需要用到功能是只要按照提示输入相应的数字即可,操作简单,方便。
该设计能用到所学的专业知识和技能,能培养学生分析问题和解决实际问题的能力。
1.2涉及到的知识点和解决方法
主要用到C++的基础知识、以及对象的应用等等。
设计过程中要求学生按照步骤合理的分析,对不同的功能进行各种试验,结合一步一步的程序来观察其运行的效果,以感性认识结合思考,达到分析和解决问题的能力。
设计的难点是C++程序设计过程中对象的应用以及参数的问题。
1.3系统功能结构图
图1系统功能结构图
1.4主要界面截图
图1.主界面
图2.输入学生信息
图3.输出学生信息
图4.求总分排序
图5.查找学生信息
图6.删除学生信息
图7.添加学生信息
图8.添加后的排序
图9.添加后的查找
图10.添加后删除
2.开发环境
运行环境:
WindowsXP
开发工具:
DV-C++
3.各功能项对应类或函数的设计过程
3.1主函数代码
intmain()
{
intw,n;
w=0;
cout<<"欢迎进入学生数据库管理系统"< cout< cout<<"1输出学生信息、2对学生总分进行排序\n"; cout<<"3查找学生信息、4删除学生信息\n"; cout<<"5添加学生信息、其他数字退出! \n"; cout< get(); while(w==0) { cout<<"\n"; cout<<"1输出学生信息、2对学生总分进行排序\n"; cout<<"3查找学生信息、4删除学生信息\n"; cout<<"5添加学生信息、其他数字退出! \n"; cout< cout<<"请输入数字: "; cin>>n; switch(n) { case1: out();break; case2: paixu();break; case3: chazhao();break; case4: shanchu();break; case5: tianjia();break; default: w=1; } } system("pause"); return0; } 3.2类的声明代码: #include #include #defineN5 usingnamespacestd; intx=0; classStudent { public: friendvoidget(); friendvoidout(); friendvoidpaixu(); friendvoidchazhao(); friendvoidtianjia(); friendvoidshanchu(); private: intnum; stringname; floateng,math,cha,sum; }stu[20]; 3.3输入学生信息代码: voidget()//输入学生信息; { inti; cout<<"请输入学生信息: "< cout<<"学号姓名英语数学中文"< for(i=0;i cin>>stu[i].num>>stu[i].name>>stu[i].eng>>stu[i].math>>stu[i].cha; } 3.4输出学生信息代码 voidout()//输出学生信息; { inti; cout<<"学号姓名英语数学中文总分"< for(i=0;i cout< } 3.5查找学生信息代码 voidchazhao()//查找学生信息; { inti,xuehao; cout<<"请输入要查找学生的学号: "< cin>>xuehao; for(i=0;i if(stu[i].num==xuehao) { cout<<"学号姓名英语数学中文总分"< cout< } } 3.6求总分排序代码 voidpaixu()//对总分暗降序排列; { inti,j; Studentboy; for(i=0;i stu[i].sum=stu[i].eng+stu[i].math+stu[i].cha; for(i=0;i for(j=1;j if(stu[i].sum { boy=stu[i]; stu[i]=stu[j]; stu[j]=boy; } out(); }3.7删除学生信息代码 voidshanchu()//删除学生信息; { inti,j,m,xuehao; cout<<"请输入要删除学生的学号: "< cin>>xuehao; for(i=0;i if(stu[i].num==xuehao) { x=x-1; m=i; for(j=m;j stu[j]=stu[j+1]; break; } out(); }3.8添加学生信息代码 voidtianjia()//添加学生信息; { x=x+1; intt,i; Studentboy; cout<<"请输入要插入学生的位置: "; cin>>t; cout<<"请输入学生信息: "< cout<<"学号姓名英语数学中文"< cin>>boy.num>>boy.name>>boy.eng>>boy.math>>boy.cha; boy.sum=boy.eng+boy.math+boy.cha; for(i=N+x-1;i>t-1;i--) stu[i]=stu[i-1]; stu[t-1]=boy; out(); }( 4.小结 本系统主要为了学生的成绩与信息管理而设计,其中包含了学生信息的输入,输出,求总分,排序,查找,删除,以及添加。 在编写过程重要考虑多方面因素,比如删除后的学生信息,添加后的学生信息。 编写过程中遇到了许多难点知识,在课本中都涉及到了,因此仔细看书都会解决的。 通过此次编程,我学到了很多。 5.附源代码: #include #include #defineN5 usingnamespacestd; intx=0; classStudent { public: friendvoidget(); friendvoidout(); friendvoidpaixu(); friendvoidchazhao(); friendvoidtianjia(); friendvoidshanchu(); private: intnum; stringname; floateng,math,cha,sum; }stu[20]; intmain() { intw,n; w=0; cout<<"欢迎进入学生数据库管理系统"< cout< cout<<"1输出学生信息、2对学生总分进行排序\n"; cout<<"3查找学生信息、4删除学生信息\n"; cout<<"5添加学生信息、其他数字退出! \n"; cout< get(); while(w==0) { cout<<"\n"; cout<<"1输出学生信息、2对学生总分进行排序\n"; cout<<"3查找学生信息、4删除学生信息\n"; cout<<"5添加学生信息、其他数字退出! \n"; cout< cout<<"请输入数字: "; cin>>n; switch(n) { case1: out();break; case2: paixu();break; case3: chazhao();break; case4: shanchu();break; case5: tianjia();break; default: w=1; } } system("pause"); return0; } voidget()//输入学生信息; { inti; cout<<"请输入学生信息: "< cout<<"学号姓名英语数学中文"< for(i=0;i cin>>stu[i].num>>stu[i].name>>stu[i].eng>>stu[i].math>>stu[i].cha; } voidout()//输出学生信息; { inti; cout<<"学号姓名英语数学中文总分"< for(i=0;i cout< } voidpaixu()//对总分暗降序排列; { inti,j; Studentboy; for(i=0;i stu[i].sum=stu[i].eng+stu[i].math+stu[i].cha; for(i=0;i for(j=1;j if(stu[i].sum { boy=stu[i]; stu[i]=stu[j]; stu[j]=boy; } out(); } voidchazhao()//查找学生信息; { inti,xuehao; cout<<"请输入要查找学生的学号: "< cin>>xuehao; for(i=0;i if(stu[i].num==xuehao) { cout<<"学号姓名英语数学中文总分"< cout< } } voidshanchu()//删除学生信息; { inti,j,m,xuehao; cout<<"请输入要删除学生的学号: "< cin>>xuehao; for(i=0;i if(stu[i].num==xuehao) { x=x-1; m=i; for(j=m;j stu[j]=stu[j+1]; break; } out(); } voidtianjia()//添加学生信息; { x=x+1; intt,i; Studentboy; cout<<"请输入要插入学生的位置: "; cin>>t; cout<<"请输入学生信息: "< cout<<"学号姓名英语数学中文"< cin>>boy.num>>boy.name>>boy.eng>>boy.math>>boy.cha; boy.sum=boy.eng+boy.math+boy.cha; for(i=N+x-1;i>t-1;i--) stu[i]=stu[i-1]; stu[t-1]=boy; out(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计上传 上传