C++课程设计报告.docx
- 文档编号:3620148
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:27
- 大小:90.96KB
C++课程设计报告.docx
《C++课程设计报告.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告.docx(27页珍藏版)》请在冰豆网上搜索。
C++课程设计报告
**学院
计算机科学与技术专业
课程设计报告
课程名称:
面向对象程序设计课程设计
课程设计题目:
学生信息管理系统
院系:
信息工程学院
小组组长姓名:
**
小组组长学号:
**
小组成员姓名:
**
**
**
小组成员学号:
**
**
**
指导教师:
**
职称:
讲师
2009年11月25日
课程设计成绩评定
评语:
评分项目
分值
得分
①课程设计报告符合规范
10
②类层次结构图合理
30
③主要技术路线正确
30
④设计报告条理清晰,重点突出
20
⑤有一定的创新性,难易程度
10
成绩:
指导教师签字:
任务下达日期:
200年月日
评定日期:
目录
1课程设计目的………………………………………………………………………1
2任务要求…………………………………………………………………1
3设计方案…………………………………………………………………2
4设计内容…………………………………………………………………2
4.1层次(调用)关系……………………………………………………………2
4.2类图……………………………………………………………………3
4.3设计思想…………………………………………………………………3
4.4调试过程……………………………………………………………4
4.5结果………………………………………………………………4
4.6程序代码………………………………………………………………4
5总结…………………………………………………………………22
6参考文献…………………………………………………………………23
学生信息管理系统
1.课程设计目的
《面向对象程序设计课程设计》是计算机科学与技术专业和软件工程专业集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。
其目的在于加深对面向对象程序设计中基础理论和基本知识的理解,培养学生的实践能力,促进理论与实践的结合。
通过课程设计,让学生能够熟练运用C++进行面向对象编程,建立对象模型,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效率,全面掌握面向对象编程技术。
通过课程设计,掌握使用一种面向对象程序设计语言开发工具如BorlandC++或VisualC++等;培养调查研究、查阅技术文献、资料、手册以及编写技术文献的能力;通过课程设计,要求学生在指导教师的指导下,独立完成实习课题的全部内容,包括:
⑴通过调查研究和上机实习,收集和调查有关技术资料。
⑵掌握设计课题的基本步骤和方法。
⑶根据课题的要求进行上机实验调试。
2.任务要求
⑴所设计的管理系统可实现对学生信息和每个学生成绩的管理,并实现对教师信息的简单管理。
⑵设计数据的存储方式,使得用户输入的数据能够保存到磁盘,并在下一次打开时可以读入已经存储的数据。
当第一次使用无存盘数据时应自动创建磁盘数据记录文件。
⑶设计学生、教师、成绩三个类,并通过类中包含的方法录入或从文件读入数据。
⑷设计简单易懂的操作界面,使用户可以很方便的操作系统管理学生信息、教师信息、学生成绩等。
3.设计方案
复数计算器的总体思路如下流程图:
4.设计内容
4.1.层次(调用)关系
输入选择输入选择
文件内容修改屏幕信息输出
图4-1运算层次关系图
4.2.类设计图:
Teacher
public:
voidsetinfo();
voiddisplay();
voidsetscore(Student&S,stringname);
voidaddcourse(Student&S);
stringreadTno();
stringreadTname();
voidsetTno(stringno);
voidsetTname(stringname);
private:
stringTno;//教师编号
stringTname;//教师姓名
Student
public:
voidsetinfo();
voiddisplay();
voidprintscore();
intselect(stringname);
boolseach(stringno);
stringreadSno();
stringreadSname();
boolreadsex();
vector
voidsetSno(stringno);
voidsetSname(stringname);
voidsetsex(bools);
voidsetcourse(Course&C);
private:
stringSno;//学生学号
stringSname;//学生姓名
boolsex;//学生性别,真为男,假为女
vector
friendTeacher;
Course
public:
voidsetinfo();
stringgetname();
intgetscore();
voidsetname(stringname);
voiddisplay();
voidsetscore(intscore);
private:
stringCname;
intCscore;
【基本要求】
1、将学生、教师、成绩分别定义成类Student、Teacher、Course。
2、每个类中的私有成员变量需通过get、set、read等方法获取值或设置值。
3、设计程序入口main()使用各类中的方法管理数据和信息。
4、设计读入文件和写入文件的代码。
4.3先设计各类的方法,最后设计main函数让其正常工作。
4.4调试:
通过调试找到一种数据存储到文件的方法,能正常写入和读出。
成功通过编译。
4.5结果:
4.6程序源代源
#include
#include
#include
#include
usingnamespacestd;
classStudent;
classCourse;
classTeacher
{
public:
voidsetinfo();
voiddisplay();
voidsetscore(Student&S,stringname);
voidaddcourse(Student&S);
stringreadTno();
stringreadTname();
voidsetTno(stringno);
voidsetTname(stringname);
private:
stringTno;//教师编号
stringTname;//教师姓名
};
classStudent
{
public:
voidsetinfo();
voiddisplay();
voidprintscore();
intselect(stringname);
boolseach(stringno);
stringreadSno();
stringreadSname();
boolreadsex();
vector
voidsetSno(stringno);
voidsetSname(stringname);
voidsetsex(bools);
voidsetcourse(Course&C);
private:
stringSno;//学生学号
stringSname;//学生姓名
boolsex;//学生性别,真为男,假为女
vector
friendTeacher;
};
classCourse
{
public:
voidsetinfo();
stringgetname();
intgetscore();
voidsetname(stringname);
voiddisplay();
voidsetscore(intscore);
private:
stringCname;
intCscore;
};
voidTeacher:
:
setinfo()
{
cout<<"请输入教师编号:
";
cin>>Tno;
cout<<"请输入教师姓名:
";
cin>>Tname;
}
voidTeacher:
:
display()
{
cout< } voidTeacher: : setscore(Student&S,stringname) { intscore,i=S.select(name); if(-1! =i) { cout<<"修改学生"< "; cin>>score; S.course[i].setscore(score); } elsecout<<"不存在该课程\n"; } voidTeacher: : addcourse(Student&S) { Courseco; co.setinfo(); S.course.push_back(co); } stringTeacher: : readTno() { returnTno; } stringTeacher: : readTname() { returnTname; } voidTeacher: : setTno(stringno) { Tno=no; } voidTeacher: : setTname(stringname) { Tname=name; } voidStudent: : setinfo() { cout<<"请输入学生编号: "; cin>>Sno; cout<<"请输入学生姓名: "; cin>>Sname; cout<<"请输入学生性别(0为女,1为男): "; cin>>sex; } voidStudent: : display() { cout< if(sex)cout<<"男"; elsecout<<"女"; cout< } voidStudent: : printscore() { cout<<"编号\t\t姓名\t\t性别\n"; display(); cout<<"____________________\n"; cout<<"课程名\t\t成绩\n"; for(inti=0;i { course[i].display(); } } intStudent: : select(stringname) { for(inti=0;i { if(course[i].getname()==name)returni; } return-1; } boolStudent: : seach(stringno) { if(Sno==no)return1; return0; } stringStudent: : readSno() { returnSno; } stringStudent: : readSname() { returnSname; } boolStudent: : readsex() { returnsex; } vector : readcourse() { returncourse; } voidStudent: : setSno(stringno) { Sno=no; } voidStudent: : setSname(stringname) { Sname=name; } voidStudent: : setsex(bools) { sex=s; } voidStudent: : setcourse(Course&C) { course.push_back(C); } voidCourse: : setinfo() { cout<<"请输入课程名称: "; cin>>Cname; cout<<"请输入课程成绩: "; cin>>Cscore; } voidCourse: : setscore(intscore) { Cscore=score; } stringCourse: : getname() { returnCname; } intCourse: : getscore() { returnCscore; } voidCourse: : setname(stringname) { Cname=name; } voidCourse: : display() { cout< } inttoint(stringtemp) { if("100"==temp)return100; if("99"==temp)return99; if("98"==temp)return98; if("97"==temp)return97; if("96"==temp)return96; if("95"==temp)return95; if("94"==temp)return94; if("93"==temp)return93; if("92"==temp)return92; if("91"==temp)return91; if("90"==temp)return90; if("89"==temp)return89; if("88"==temp)return88; if("87"==temp)return87; if("86"==temp)return86; if("85"==temp)return85; if("84"==temp)return84; if("83"==temp)return83; if("82"==temp)return82; if("81"==temp)return81; if("80"==temp)return80; if("79"==temp)return79; if("78"==temp)return78; if("77"==temp)return77; if("76"==temp)return76; if("75"==temp)return75; if("74"==temp)return74; if("73"==temp)return73; if("72"==temp)return72; if("71"==temp)return71; if("70"==temp)return70; if("69"==temp)return69; if("68"==temp)return68; if("67"==temp)return67; if("66"==temp)return66; if("65"==temp)return65; if("64"==temp)return64; if("63"==temp)return63; if("62"==temp)return62; if("61"==temp)return61; if("60"==temp)return60; if("59"==temp)return59; if("58"==temp)return58; if("57"==temp)return57; if("56"==temp)return56; if("55"==temp)return55; if("54"==temp)return54; if("53"==temp)return53; if("52"==temp)return52; if("51"==temp)return51; if("50"==temp)return50; if("49"==temp)return49; if("48"==temp)return48; if("47"==temp)return47; if("46"==temp)return46; if("45"==temp)return45; if("44"==temp)return44; if("43"==temp)return43; if("42"==temp)return42; if("41"==temp)return41; if("40"==temp)return40; if("39"==temp)return39; if("38"==temp)return38; if("37"==temp)return37; if("36"==temp)return36; if("35"==temp)return35; if("34"==temp)return34; if("33"==temp)return33; if("32"==temp)return32; if("31"==temp)return31; if("30"==temp)return30; if("29"==temp)return29; if("28"==temp)return28; if("27"==temp)return27; if("26"==temp)return26; if("25"==temp)return25; if("24"==temp)return24; if("23"==temp)return23; if("22"==temp)return22; if("21"==temp)return21; if("20"==temp)return20; if("19"==temp)return19; if("18"==temp)return18; if("17"==temp)return17; if("16"==temp)return16; if("15"==temp)return15; if("14"==temp)return14; if("13"==temp)return13; if("12"==temp)return12; if("11"==temp)return11; if("10"==temp)return10; if("9"==temp)return9; if("8"==temp)return8; if("7"==temp)return7; if("6"==temp)return6; if("5"==temp)return5; if("4"==temp)return4; if("3"==temp)return3; if("2"==temp)return2; if("1"==temp)return1; return0; } intmain() { vector vector cout<<"请稍等...正在读取数据...\n"; ifstreaminfile; infile.open("data.dat"); if(infile.good()) { stringtemp; intstnum=-1; while(! infile.eof()) { getline(infile,temp); if("[Student]"==temp) { StudentStemp; getline(infile,temp); Stemp.setSno(temp); getline(infile,temp); Stemp.setSname(temp); boolsextemp; getline(infile,temp); if("1"==temp)sextemp=1; elsesextemp=0; Stemp.setsex(sextemp); st.push_back(Stemp); stnum++; } if("[Course]"==temp) { CourseCtemp; getline(infile,temp); Ctemp.setname(temp); getline(infile,temp); Ctemp.setscore(toint(temp)); st[stnum].setcourse(Ctemp); } if("[Teacher]"==temp) { TeacherTtemp; getline(infile,temp); Ttemp.setTno(temp); getline(infile,temp); Ttemp.setTname(temp); te.push_back(Ttemp); } } infile.close(); } elsecout<<"数据文件不存在! \n"; intc; while(c! =0) { cout<<"********************信息管理系统********************\n"; cout<<"1、增加学生信息2、增加教师信息\n"; cout<<"3、修改学生成绩4、输出学生信息\n"; cout<<"5、输出教师信息6、增加学生课程\n";
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 报告