资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C+实习报告一、课程设计目的 1.通过C+课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习 中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类,并掌握继承和派 生类、基类、虚函数和多态的概念。2、通过这次课程设计掌握C+语言程序设计的编程思想,为后续课程打下基础。3、培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。课程设计的要求 利用学到的编程知识和编程技巧,要求学生:1、对系统进行功能模块分析、控制模块分析正确2、系统设计要能完成题目所要求的功能。3、编程简练,可用,尽可能的使系统的功能更加完善和全面4、使用说明书、流程图要清楚。5、特别要求自己独立完成。二、课程设计的内容1、课程设计的题目及简介有新生来报到,要逐个录入其信息,如:学生姓名,性别,专业,出生日期,家庭地址、英语入学成绩。要求设计链表类来实现,并统计学生人数。文本界面为:1. 新增学生信息2. 删除学生信息3. 导入学生信息(已经保存于的文件信息)4. 学生信息搜索(按姓名)5. 学生信息统计(按专业或性别或年龄-年龄要自动计算)6. 按英语成绩排序7. 学生信息保存8. 退出2、设计说明总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。也可根据自己对题目的理解增加新的功能模块。系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行(1)首先,看题目要求,每一条记录包括一个学生的姓名、性别、专业、出生日期、家庭住址、英语成绩。同时,应具备以下功能:1、输入功能:一次可以完成自定义学生人数的学生信息记录的输入。2、删除功能:对指定学生的信息进行删除。3、修改功能:对指定学生的信息进行修改。4、查询功能:选择某种方式并输入该信息查询符合条件的学生信息。5、统计功能:对某几个专业的人数、男女性别学生信息进行统计。6、 排序功能:以英语课程的分数为依据对学生信息进行排序。7、 显示功能:将以上功能操作后的学生信息显示出来。8、 退出主菜单。3 程序流程图 各功能模块的实现流程图:1增加学生信息调用函数Node* Create()判断gg是否等于一如果是可创建链表输入相应的学生信息如果不是则需要运用Insert(p)函数插入结点增加学生信息的,并通过chundang(p)函数进行存档,具体流程如下图所示判断以前是否存储了学生信息是新增信息退出该功能,返回主菜单,继续选择流程图新增学生信息按提示:输入学个的各种信息按格式显示输入的学生信息 2删除学生信息 调用函数Node* Delete(Node* head , int num) 删除学生的信息则必须对链表结点进行删除意味着将某个要删除结点前后的连续打断,去掉该结点,使前后指针变量重新连接,完成链表结点的删除任务 流程图输入要删除学生信息2退出该功能,返回主菜单,继续选择输入要删除信息的编号该生信息已删除,显示其他同学的信息输出所有学生的信息3导入学生信息打开存档文件ifstream Filein(out.txt);输出说存档的学生信息导入学生信息显示学生的信息退出该功能,返回主菜单,继续选择 4、学生信息的搜索 调用函数Node* sousuo(Node* head , char na20) ,按学生的姓名进行搜索退出该功能,返回主菜单,继续选择 输出所以查询的学生信息按照提示输入学生的姓名进行搜索搜索学生信息 4流程图: 5信息的统计 调用函数Node* tongji(Node* head) 运用一个for循环,将输入的相应的学生信息用strcmp()函数与对应的数组进行比较,然后再进行统计输出统计的信息统计所设定的专业人数和男女性别的人数,计算学生的年龄并统计信息的统计:5退出该功能,返回主菜单,继续选择。 6、按英语成绩进行排序:调用函数Node* paixu(Node* head)完成排序功能它的主要思想的:首先设置英语成绩的最大值100,最小值0(也可以使150或者其他)然后让输入的学生信息英语成绩一次比较进行比较,(如果有相等的就输出排名1 ,然后排名加1),否则最大值减1,然后再次进行比较( 如果等于99且上次没有等于100的,就输出排名1,然后排名加1,如果上次有等于100的排名为2),如果没有与99相等的.,则继续循环流程图:输出排序之后的学生信息对英语成绩进行排序退出该功能,返回主菜单,继续选择按学生信息进行排序5总功能模块图:2、输入要删除的学生的编号,删除学生信息。1输入学生的信息:姓名、性别、专业、出生日期、家庭地址、英语成绩 菜单1. 新增学生信息2. 删除学生信息3. 导入学生信息4. 学生信息搜索5. 学生信息统计6. 按英语成绩排序7. 学生信息保存8. 退出5统计各种专业、男女、相应年龄的人数6按英语成绩降序排列,输出学生的姓名排名和英语成绩7保存学生信息:提示保存成功4、输入你要查找你学生姓名3、输出学生的编号、姓名、性别、专业、出生日期、家庭地址、英语成绩8、退出系统学生管理系统功能模块图各功能显示效果模块图:增加学生信息和导入学生信息保存学生信息统计电子、建筑、通信、三个专业的人的个数,按英语成绩进行排名并输出删除相应学生的信息4、程序清单#include stdafx.h#include stdafx.h#include #include #include#includeusing namespace std;int nn=0;struct Node int num;char name20;char xb20;char zy20;int nian,yue,ri;char dz20;int mark;Node *next ;/* Node* Create() /链表创建 cout请输入学生信息(输入0退出):num=1; head=NULL; n+; while (p1-num!=NULL) if (n=1) head=p1; else p2-next=p1; p2=p1; p1=new Node; int a; nn+; p1-num=nn; coutp1-name; a=(int)p1-name0-48; if (a=0)break; coutp1-xb; coutp1-zy; coutp1-nian; cinp1-yue; cinp1-ri; coutp1-dz; coutp1-mark; n+; p2-next=NULL; return head; /* /* void chundang(Node *head) /存档 Node *p=head; p=p-next; ofstream Fileout(out.txt);Fileout学生资料endl;Fileout-endl;while(p)Fileout - 编号:num 姓名:name 性别:xb 专业:zy 出生日期:nian/yue/ri/ 地址:dz 英语入学成绩:marknext; Fileout-endl;Fileout.close(); /*
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号