武汉工程大学计算机科学与工程学院 综合设计报告
致 谢
每一次学习的过程都是一次从未知到已知的探索体验,从开始接到这个设计课题的茫然无措,到现在,设计已经基本完成,有汗水,有劳累,但尤为重要的,便是老师的悉心指导,从一开始,邹君老师便为我们悉心讲解一系列关于这个课题的各类型问题,一步步指导我们如何操作,如何执行,当我们出现具体问题时也是邹君老师及时出现,指导我们订正和改善程序上的一系列错误。其次感谢我的舍友和同学们在此次课程设计中给予我帮助,帮我解答了一些我不懂的问题。此次课程设计综合性很强,毕竟是第一次,在设计过程中遇到了各种各样的问题,同时发现了自己的不足之处,对学过的知识理解不透彻,通过这次设计,巩固了久知识,比如说结构体,指针,链表等等,同时还收获了新知识。所以要感谢邹君老师对我们的重视,老师面临巨大的工作压力,缺乏休息却仍然认真负责,对我们严格要求,认真辅导,使我们能够顺利的有效的完成大学中的第一次课程设计。通过本次课程设计在对我们所学知识检验的同时,提高了我们的编程能力,使我们自身的动手能力得到了很大的提高,为以后的毕业设计及以后的工作打下了坚实的基础。
同时,在这次设计中,我学会了耐心,在未来的道路上我们会遇到各式各样的课题,各式各样的“硬骨头”,我们必须有足够的耐心,细致分析,耐心剖析,查阅资料,去努力解决相关问题。同时,对一个程序开发者来说,信心也是尤为重要的。我们要相信自己能够解决相关问题,碰到困难坚决不放弃,不气馁,相信自己一定能够编出完美的程序来。
最后,要感谢王君玮同学在最后的论文编写中,关于论文的格式向我进行了细致的讲解。也让我认识到学会编写一篇格式严谨的论文的重要性。
总之,感谢所有在这次课程设计中帮助过我的人,谢谢你们。
- 25 -
武汉工程大学计算机科学与工程学院 综合设计报告
参考文献
[1] 张俊,张彦铎. C++面向对象程序设计(第二版). 北京:清华大学出版社[M].2012 [2] 李春葆. 数据结构教程(第四版).北京:清华大学出版社[M].2014
[3] 李春葆. 数据结构教程上机实验指导(第四版)[M].北京:清华大学出版社.2014 [4] 谭火彬.1 UML 2 面向对象分析与设计[M]. 北京:清华大学出版社.2013.5 [5] 金国平. 数据结构 (C++描述)[M]. 北京:清华大学出版社.2012 [6] 郑莉,李宁. C++教程[M]. 北京:人民邮电出版社.2013
[7] 张俊. C++面向对象程序设计习题与实验指导 (第二版)[M]. 北京:清华大学出版社.2012
[8] 狄国华. 数据结构(C语言描述)[M]. 北京:高等教育出版社.2012 [9] 周启生,姬涛.计算机程序设计基础[M]. 北京:科学出版社
[10]马希荣,王洪权,姜丽芬. C++程序教程[M]. 北京:电子工业出版社,2010 [11]王挺,周会平,贾丽丽. C++程序设计[M]. 北京:清华大学出版社.2010 [12]邓振杰. C++程序设计[M]. 北京:清华大学出版社.2010
- 26 -
武汉工程大学计算机科学与工程学院 综合设计报告
附录代码
#include
double Chinese; double Math; double Average; };
class Student{ public:
Student();
void Ofile(ofstream &of); void Infile(ifstream &f); void Out();
void Set(char *name, double no, Class score); char *GetName(); double GetNo();
double GetAverage(); Student *next; public:
char Name[20]; double No;
double Average; Class Score; };
Student::Student() :next(0){}
char *Student::GetName(){ return Name; } double Student::GetNo(){ return No; }
double Student::GetAverage(){return Average;}
void Student::Set(char *name, double no, Class score) {
strcpy(Name, name); No = no;
Score = score;
Average = (Score.Chinese + Score.Math) / 2;
- 27 -
武汉工程大学计算机科学与工程学院 综合设计报告
}
void Student::Infile(ifstream &f) {
f >> Name >> No >> Average >> Score.Chinese >> Score.Math; //将数据输入到文件 把磁盘文件的内容读取到内存中 }
void Student::Ofile(ofstream &of) {
of << \\从文件中提取数据 把内存中的数据保存到磁盘文件 }
void Student::Out() {
cout << Name << \\}
class Function //功能类 {
public:
Function(); //构造函数 ~Function(); //析构函数 void Menu(); //菜单函数
void Add(); //录入学生成绩函数 void Search(); //查询学生成绩函数 void Delete(); //删除学生成绩函数 void Modify(); //修改学生成绩函数 void Show();
void AverageTotle(); //显示学生成绩函数 public:
Student *Student_First;
void Read(); //读取学生成绩函数
void Save(); //保存学生成绩信息函数 };
Function::Function() {
Student_First = new Student; Read(); }
Function::~Function() {
delete Student_First; }
void Function::Add() //录入学生成绩信息函数
- 28 -
武汉工程大学计算机科学与工程学院 综合设计报告
{
char name[20]; double no; Class score; char choose;
Student *f1, *p, *f2,*f3; system(\
f1 = Student_First;
f2 = Student_First->next; f3 = Student_First->next; while (f1->next) f1 = f1->next; do {
p = new Student;
cout << \请输入您要添加的学生成绩信息:\ cout << \请输入学生姓名:\ cin >> name; while (f2) {
if (strcmp(f2->GetName(), name) == 0)//比较两个字符串 {
cout << \该学生已存在,请确定姓名!\\n\\n\ cout << \请输入姓名:\ cin >> name; break; }
f2 = f2->next; }
cout << \请输入学号:\ cin >> no; while (f3) {
if (f3->GetNo()==no) {
cout << \该学生已存在,请确定学号!\\n\\n\ cout << \请输入学号:\ cin >>no; break; }
f3 = f3->next; }
- 29 -