ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:139.99KB ,
资源ID:8895671      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8895671.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++课程设计报告完结.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++课程设计报告完结.docx

1、C+课程设计报告完结 课程设计报告课程名称: 程序设计基础课程设计 学院名称: 计算机科学与工程学院 专 业: 计算机科学与技术 学期: 08-09-2 日期: 09-6-809-6-19班 级: 08计三W 学号: 08141310 姓 名: 周倩倩 教师姓名: 罗烨 学分: 2 成绩: 程序设计基础课程设计指导书(第二版)罗烨 李秉璋著江苏技术师范学院计算机科学与工程学院2007年3月1、课程设计目的程序设计基础课程设计是在学习完程序设计基础课程后开设的一门实践性课程。要求学生以个人为单位,在教师指导下,运用理论课所学知识,借助参考书籍,选择一个课题,使用C+语言,完成一个功能相对完整,具

2、有应用价值的软件。达到加深理解课堂教学内容,熟悉程序设计的基本流程、掌握程序设计基本方法,基本技巧、并能综合运用,提高程序设计能力。通过本课程的实践,熟练掌握C+语言中面向过程部分的内容,能够运用C+语言解决一个实际问题。课程设计属于研究型、创新型、自主型学习。学生可以根据自己的兴趣、爱好、特长,或者以前已经接触过的内容,自行确定课程设计课题。也可完成老师提供的参考课题。2、设计环境及语言Visual C+集成开发环境(IDE)C+语言。3、 课题设计步骤31 需求分析 从软件使用者处获得用户需求,确定课题开发应具备的功能;32 系统结构设计 将整个系统功能分块,考虑各个功能模块应具备的功能,

3、模块间的联系,划分成不同的子系统进行设计;33 数据设计 设计系统中新的数据类型、存储类型;34 代码设计 在上述3个阶段的基础上编写代码;35 软件测试 使用事先设计好的测试用例、对编制的程序进行测试,发现存在错误(包括潜在的问题),加以修改,完善。4、课程设计提交材料41 电子版的所有.cpp文件和.h文件。每个学生以自己的名字建了一个文件夹,通过网络提交。42 课程设计报告 内容包括;1) 课题设计内容、具备的功能;2) 模块(函数)的划分、各模块(函数)的功能;3) 采用的自定义的数据类型;4) 程序设计过程、调试中过程中所用的测试用例、程序运行的结果;5) 在课程设计中遇到的问题和解

4、决的方法,还没有能解决的问题;6) 通过课程设计的体会、收获。5、参考课题51 参考课题内容及知识点“学生成绩表”是一个参考课题。本课题通过建立、修改、查询、排序、显示学生成绩等功能,具体要求掌握的技术有:1)结构、枚举类型的定义与使用;2)数组的定义使用;3)程序的三种基本控制流程的综合、灵活运用;4)普通指针和数组指针的定义和使用;5)各类函数的定义和调用;6)文件的输入/输出;7)程序的调试。52 功能要求1) 新增学生数据的添加:学号,姓名,性别,3门课程成绩,计算总成绩并显示;2) 修改学生成绩数据:输入学号,根据学号,修改该生的3项成绩数据计算总成绩并显示;3) 删除一个学生:输入

5、学号,根据学号删除该生;4) 根据学号查询:输入学号,查找该生并显示学生数据;5) 显示全部学生数据;6) 根据学号排序学生数据;7) 根据总成绩排序学生数据;8) 退出:保存学生总数文件及学生数据文件,然后结束程序运行。53 设计要求1)在Visual C+控制台应用程序方式下设计课题。2)设计的程序要求完成52节规定的功能。3)程序应具有一定的健壮性。即程序必须具有必要的检查和出错处理,如在新增学生数据时检查输入的学号是否相同。删除、查询学生时检查输入的学号是否存在等。5 参考课题部分设计1) 建立student工程2) 在头文件中,设计Student结构类型,成员为char No5 学号

6、 char Name8 姓名 char Gender7 性别 int Score4 3门课程成绩及总成绩3)设计下列函数int EnterChoice(); /输入选项void Init(); /数据文件初始化void Add(); /增加一个学生void Update(); /修改学生成绩void Delete(); /删除一个学生void Query(); /查询学生数据void Display(); /显示全部学生void Display (Student*); /显示一个学生的重载函数void SortNo(); /按学号排序(从小到大)void SortScore(); /按成绩排序

7、int CheckNo(char *); /检查学号是否存在,存在返回序号,不存在返回-1 4)设计主函数main(),运行后,屏幕显示功能菜单 1: add student 2: update student 3: delete student 4: query student 5: display students 6: Sort student by No 7: Sort student by score 8: end用户输入选择后,程序运行相应的处理函数Add()、Update()、Delete()、Query()、Display()、SortNo()、SortScore()。运行主函

8、数main(),调用Init()函数,从文件count.dat生总数,从文件student.dat中读取学生数据。然后等待用户输入选项,进行相应处理。程序运行结束前,调用Save ()函数保存学生总数到文件count.txt数据到文件student.txt中。设计除main()主函数和Init()函数、Add()、SortNo()、CheckNo()、EnterChoice()、GetData()函数之外的Display()、Update()、Delete()、Query()、SortScore()等函数。附件:参考课题部分源程序/结构定义文件/student.h #ifndef STUDEN

9、T_H#define STUDENT_Hstruct Student Char No9; Char Name9; Char Gender7; int Score4;#endif/函数实现文件/ student.cpp#include#include#include#include#includestudent.husing namespace std;int EnterChoice(); void Init();void Add();void Update();void Delete();void Query();void SortScore();void Display();void Dis

10、play(Student*);void SortNo();void SaveTxt();int CheckNo(char*);void PrintTitle();void GetData(Student*);extern const int MaxNum=100;extern int CurNum;extern Student studentMaxNum; int EnterChoice() coutnEnter your Choicen 1:add student 2:update studentn 3:delete student 4:query studentn 5:display st

11、udents 6:Sort student by NOn Choice; return Choice;void Init() ifstream inCount,inStudent; ofstream outCount,outStudent; inCount.open(count.txt,ios:in); if(!inCount) inCount.close(); outCount.open(count.txt,ios:out); outCountCurNum; inCount.close(); if(CurNum) inStudent.open(student.txt,ios:in); for

12、(int i=0;i(student+i)-No; inStudent(student+i)-Name; inStudent(student+i)-Gender; inStudent(student+i)-Score0; inStudent(student+i)-Score1; inStudent(student+i)-Score2; inStudent(student+i)-Score3; inStudent.close(); else outStudent.open(Student.txt,ios:out); outStudent.close(); void Add() char no9;

13、 coutno; int i=CheckNo(no); if(i=0) coutNo.repeated,input againendl; else strcpy(studentCurNum.No,no); cout(student+CurNum)-Name; cout(student+CurNum)-Gender; GetData(student+CurNum); PrintTitle(); Display(student+CurNum); CurNum+; void SortNo() Student temp; int flag; for(int i=0;iCurNum-1;i+) flag

14、=1; for(int j=0;jCurNum-1-i;j+) if(strcmp(studentj+1.No,studentj.No)0) flag=0; temp=studentj+1;studentj+1=studentj;studentj=temp; if(flag)break; Display();void PrintTitle() coutsetiosflags(ios_base:left); coutsetw(6)Nosetw(8)Namesetw(10)Gendersetw(10)Score1setw(10)Score2setw(10)Score3setw(10)SCoreen

15、dl;void Display() if(CurNum) PrintTitle(); for(int i=0;iCurNum;i+) Display(student+i); else coutThe list empty!endl;void Display(Student* stu) coutsetiosflags(ios_base:left); coutsetw(6)No; coutsetw(8)Name; coutsetw(6)Gender; coutresetiosflags(ios_base:left); coutsetw(10)Score0; coutsetw(10)Score1;

16、coutsetw(10)Score2; coutsetw(10)Score3endl;void Save() ofstream outCount,outStudent; outCount.open(count.txt,ios:out); outCountCurNum; outCount.close(); outStudent.open (student.txt,ios:out); for(int i=0;iCurNum;i+) outStudentNo ; outStudentName ; outStudentGender ; outStudentScore0 ; outStudentScor

17、e1 ; outStudentScore2 ; outStudentScore3 ; outStudentendl; outStudent.close();int CheckNo(char* no) for(int i=0;iCurNum;i+) if(strcmp(studenti.No,no)=0) return i; return -1;void GetData(Student* stu) for(int i=0;i3;i+) coutScoreistu-Scorei; stu-Score3=stu-Score0+stu-Score1+stu-Score2;void SortScore(

18、) Student temp; int i,j,max; for(i=0;iCurNum-1;i+) max=i; for(j=i;jCurNum;j+) if(studentmax.Score3studentj.Score3) max=j; if(max!=i) temp=studentmax; studentmax=studenti; studenti=temp; Display();void Update() char no9;char c; coutno; int i=CheckNo(no); if(i0) coutThe number dose not exist!n; else c

19、outc; if(c=y|c=Y) coutstudenti.Score0; coutc; if(c=y|c=Y) coutstudenti.Score1; coutc; if(c=y|c=Y) coutstudenti.Score2; student-Score3=student-Score0+student-Score1+student-Score2; PrintTitle(); Display(student+i);void Delete() char no9;char c; coutno; int i=CheckNo(no); if(i0) coutThe number dose no

20、t exist!(y/n)n; else coutc; if(c=y|c=Y) for(int j=i+1;jCurNum;j+) studentj-1=studentj; CurNum-; Display();void Query() char no9; coutno; int i=CheckNo(no); if(i0) coutThe nunber dose not exist! n; else PrintTitle(); Display(student+i); /主函数文件/ main.cpp#include #include #include #include #include Stu

21、dent.husing namespace std;int EnterChoice(); /输入选项void Init(); /数据文件初始化void Add(); /增加一个学生void Display(); /显示全部学生void DisplayOne(Student*); /显示全部学生void SortNo(); /按学号排序(从小到大)void Save (); /保存数据int CheckNo(char *); /输入学号void PrintTitle(); /显示表头void GetData(Student*); /读取学生成绩数据void Update(); /修改学生成绩vo

22、id Delete(); /删除一个学生void Query(); /查询学生数据void SortScore(); enum ChoicesADD=1,UPDATE,DELETE,QUERY,DISPLAY,SORTNO,SORTSCORE,END;const int MaxNum=100; int CurNum; Student studentMaxNum; void main() Init(); int choice; while(choice=EnterChoice()!=END) switch(choice) case ADD: Add(); break; case UPDATE:

23、Update(); break; case DELETE: Delete(); break; case QUERY: Query(); break; case DISPLAY: Display(); break; case SORTNO: SortNo(); break; case SORTSCORE: SortScore(); break; default: cerrIncorrect choicen; Save();程序运行结果图示:图1 程序运行后的菜单显示 图2 “1:add student” 界面 图3 “2:update student” 界面 图4 “3::delete student”界面 图5 “4:query student” 界面 图6 “5:display student”界面 图7 “6:sort student by No”界面 图8 “7:Sort student by score”界面

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

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