《c课程方案设计书报告学生信息管理系统 .docx》由会员分享,可在线阅读,更多相关《c课程方案设计书报告学生信息管理系统 .docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习可编辑资料 - - - 欢迎下载精品名师归纳总结一、课程设计目的C+ 实习报告可编辑资料 - - - 欢迎下载精品名师归纳总结1.通过 C+ 课程设计,使同学能够将学到的面对对象的设计思想运用在具体的工作和学习中,加深对类和对象的懂得,要求同学对生活中许多具体的事物抽象出类,并把握继承和可编辑资料 - - - 欢迎下载精品名师归纳总结派生类、基类、虚函数和多态的概念。2、通过这次课程设计把握C+ 语言程序设计的编程思想,为后续课程打下基础。3、培养我实际操作才能和实践才能,为以后的工
2、作打下坚实的基础。课程设计的要求利 用 学 到 的编 程 知 识 和 编 程 技 巧 , 要 求 学 生 :1 、 对 系 统 进 行 功 能 模 块 分 析 、 控 制 模 块 分 析 正 确2 、系统设计要能完成题目所要求的功能。3 、 编 程 简 练 , 可 用 , 尽 可 能 的 使 系 统 的 功 能 更 加 完 善 和 全 面4 、使用说明书、流程图要清楚。5 、特别要求自己独立完成。二、课程设计的内容1、课程设计的题目及简介有新生来报到,要逐个录入其信息,如:同学姓名,性别,专业,产生日期,家庭的址、英语入学成果。要求设计链表类来实现,并统计同学人数。文本界面为:1. 新增同学信
3、息2. 删除同学信息3. 导入同学信息(已经储存于的文件信息)4. 同学信息搜寻(按姓名)5. 同学信息统计(按专业或性别或年龄-年龄要自动运算)6. 按英语成果排序7. 同学信息储存8. 退出2、设计说明总体结构我们实行模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结 构 设 计 合 理 。 也 可 根 据 自 己 对 题 目 的 理 解 增 加 新 的 功 能 模 块 。系统以菜单界面方式(至少接受文本菜单界面,如能接受图形菜单界面更好)工作,运行界面友好,演示程序以用户和运算机的对话方式进行( 1)第一,看题目要求,每一条记录包括一个同学的姓名、性别、专业、产生日期、家庭
4、住址、英语成果。同时,应具备以下功能: 1、输入功能:一次 可 以 完 成 自 定 义 学 生 人 数 的 学 生 信 息 记 录 的 输 入 。2、删除功能:对指定同学的信息进行删除。3、修改功能:对指定同学的信息 进行修改。 4、查询功能:选择某种方式并输入该信息查询符合条件的同学信息。5、统计功能:对某几个专业的人数、男女性别同学信息进行统计。6、排序功能:以英语课程的分数为依据对同学信息进行排序。7、显示功能:将以上功能操作后的同学信息显示出来。8、退出主菜单。3 程序流程图可编辑资料 - - - 欢迎下载精品名师归纳总结各功能模块的实现流程图:1 增加同学信息调用函数 Node* C
5、reate判定 gg 是否等于一假如是可创建链表输入相应的同学信息假如不是就需要运用 Insertp函数插入结点增加同学信息的,并通过 chundangp函数进行存档,具体流程如下图所示流程图可编辑资料 - - - 欢迎下载精品名师归纳总结新 增 同学信息判 断 以 前 是否 存 储 了 同学 信 息 是 新2 删除增学信生息信息按 提 示 : 输入 学 个 的 各种信息按格式显示输入的同学信息退 出 该 功能 , 返 回 主菜 单 , 继 续选择可编辑资料 - - - 欢迎下载精品名师归纳总结调用函数 Node* DeleteNode* head , int num删除同学的信息就必需对链表
6、结点进行删除意味着将某个要删除结点前后的连续打断,去掉该结点,使前后指针变量重新连接,完成链表结点的删除任务流程图可编辑资料 - - - 欢迎下载精品名师归纳总结输 入 要 删除 学 生 信息 2输 出 全部 学 生的信息输 入 要 删除 信 息 的编号该生信息已删除,显示其他同学的信息退 出 该 功能 , 返 回 主菜 单 , 继 续选择可编辑资料 - - - 欢迎下载精品名师归纳总结3导入同学信息打开存档文件 ifstream Fileinout.txt。输出说存档的同学信息可编辑资料 - - - 欢迎下载精品名师归纳总结导 入 学 生 信4、学息生信息的搜寻显 示 学 生 的 信息退出该
7、功能,返回主菜单,连续选择可编辑资料 - - - 欢迎下载精品名师归纳总结调用函数 Node* sousuoNode* head , char na20,按同学的姓名进行搜寻流程图:可编辑资料 - - - 欢迎下载精品名师归纳总结搜 索 同学信息 45 信息的统计依据提示输入同学的姓名进行搜寻输出所以查询的同学信息退 出 该 功能,返回主菜单,连续选择可编辑资料 - - - 欢迎下载精品名师归纳总结调用函数 Node*tongjiNode*head运用一个 for 循环,将输入的相应的同学信息用strcmp()函数与对应的数组进行比较,然后再进行统计可编辑资料 - - - 欢迎下载精品名师归纳
8、总结。信 息 的 统计: 5统计所设定的专业人数和男女性别的人数,运算同学的年龄并统计输 出 统 计 的信息退 出 该 功能 , 返 回 主菜 单 , 继 续选择可编辑资料 - - - 欢迎下载精品名师归纳总结按同学信息进行排序 56、按英语成果进行排序:调用函数 Node* paixuNode* head 完成排序功能它的主要思想的:第一设置英语成果的最大值100,最小值 0(也可以使150 或者其他)然后让输入的同学信息英语成果一次比较进行比较,(假如有相等的就输出排名1 ,然后排名加 1) ,否就最大值减 1,然后再次进行比较(假如等于 99 且上次没有等于 100 的,就输出排名 1,
9、然后排名加 1,假如上次有等于100 的排名为 2),假如没有与 99 相等的 .,就连续循环 流程图:对 英 语 成 绩进行排序退 出 该 功能,返回主菜单,连续总功能模块图:输出排序之后的同学信息可编辑资料 - - - 欢迎下载精品名师归纳总结功能模块图同学治理系统4 、输入你要查找你同学姓名可编辑资料 - - - 欢迎下载精品名师归纳总结7 储存同学信息:提示储存成功1 输入同学的信息 : 姓 名 、 性别、专业、产生日 期 、 家 庭 的址、英语成果菜单1. 新增同学信息2. 删除同学信息3. 导入同学信息4. 同学信息搜寻5. 同学信息统计6. 按英语成果排序7. 同学信息储存8.
10、退出5 统 计 各 种 专业 、 男 女 、 相应年龄的人数8、退出系统可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结2 、输入要删除的同学的编号,删除同学信息。6 按英语成果降序排列,输出学生的姓名排名和英语成果3 、 输 出 学 生 的 编号、姓名、性别、 专业、产生日期、 家庭的址、英语成 绩可编辑资料 - - - 欢迎下载精品名师归纳总结各功能显示成效模块图:可编辑资料 - - - 欢迎下载精品名师归纳总结增加同学信息和导入同学信息储存同学信息统计电子、建筑、通信、三个专业的人的个数,按英语成果进行排名并输出删除相应同学的信息4、程序清
11、单 #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.=NULLif n=1
12、head=p1 。 else p2-next=p1 。p2=p1。p1=new Node 。int a。可编辑资料 - - - 欢迎下载精品名师归纳总结nn+ 。p1-num=nn 。coutp1-name 。a=intp1-name0-48 。if a=0break 。coutp1-xb 。coutp1-zy 。coutp1-nian 。cinp1-yue 。cinp1-ri 。coutp1-dz 。coutp1-mark 。n+。 p2-next=NULL 。return head。/*/*void chundangNode *head / 存档 Node *p=head 。p=p-nex
13、t 。ofstream Fileoutout.txt 。Fileout 同学资料 endl 。Fileout-endl。whilepFileout-编号: num 姓名: name性别: xb专业: zy产生日期: nian/yue/ri/的址: dz英语入学成果: marknext 。Fileout-num=nn 。coutp0-name 。coutp0-xb 。coutp0-zy 。coutp0-nian 。cinp0-yue 。cinp0-ri 。coutp0-dz 。coutp0-mark 。if head=NULLhead=p0。p0-next=NULL 。return head。w
14、hile p1-numnum & p1-nextp2=p1。p1=p1-next 。if p1-num=p0-num if p1=head head=p0 。else p2-next=p0 。p0-next=p1 。elsep1-next=p0 。p0-next=NULL 。return head。 /*可编辑资料 - - - 欢迎下载精品名师归纳总结/* Node* DeleteNode* head , int num/删除节点 if head=NULL cout 不存在此编号 num.=num & p1-next p2=p1 。 p1=p1-next 。 if p1-num=num if
15、p1=head head=p1-next 。 else p2-next=p1-next 。 else cout 没找编号为 num 的同学! next 。/整顿编号while p1kk+ 。p1-num=kk 。p1=p1-next 。/* return head。 /*/*Node* sousuoNode* head , char na20/ 搜寻Node *p1=head 。whilep1.=NULL if.strcmpp1-name,nacout 编号: num 姓名: name性别: xb专业: zy产生日期: nian/yue/ri/的址: dz英语入学成果: marknext 。r
16、eturn 0。/*/*Node* tongjiNode* head/统计可编辑资料 - - - 欢迎下载精品名师归纳总结Node *p1=head 。int a=0,b=0,c=0,d=0,e=0,i100,j100。char aa= 通信 , bb= 建筑,cc= 电子 ,nan= 男,nv= 女 。forint k=0 。kzy,aaa+。else if.strcmpp1-zy,bbb+。 else if.strcmpp1-zy,ccc+。 if.strcmpp1-xb,nand+。 else if.strcmpp1-xb,nve+。 forint l=0 。lnian=iljl+。p1
17、=p1-next 。/-存档ofstream Fileout 统计.txt 。Fileout 统计信息 endl 。Fileout-endl。Fileouta专业的个数:aendlb专业的个数:bendlc专业的个数:cendl 。Fileout 男性个数: dendl 女性个数: eendl 。forint mm=0 。mm100 。mm+ifjmm.=0Fileout年龄 imm的个数: jmmendl。Fileout-endl。Fileout.close 。/-cout 统计信息 endl 。cout-endl。cout 通信专业的个数:aendl 建筑专业的个数:bendl 电子专业的
18、个数: cendl 。cout 男性个数: dendl 女性个数: eendl 。forint m=0 。m100 。m+ifjm.=0cout年龄 im的个数: jmendl。cout-endl。return 0。/*/*可编辑资料 - - - 欢迎下载精品名师归纳总结Node* paixuNode* head/ 英语成果排序Node *p1=head 。int rr=100 。/ 成果int ll=1 。/排名ofstream Fileout 英语成果排序 .txt 。Fileout 英语成果排序 endl 。Fileout-endl。Fileout 排名 成果 姓名 endl 。cout
19、-endl。cout 排名 成果 姓名mark=rrFileoutllmarknameendl。coutllmarknamenext。rr- 。Fileout-endl。Fileout.close 。cout-endl。return 0。/* mainint gg=1 。int strcmpconst char *s1,const char *s2 。Node *p 。/=cout*学 生 信 息 管 理 系 统*endl 。cout* endl。cout*1. 增加同学信息 *endl。cout*2. 删除同学信息 *endl。cout*3. 导入同学信息 *endl。cout*4. 同学信
20、息搜寻 *endl。cout*5. 同学信息统计 *endl。cout*6. 按英语成排序 *endl。cout*7. 同学信息储存 *endl。cout* 8. 退 出 可编辑资料 - - - 欢迎下载精品名师归纳总结*endl。cout 请输入您的选择 1-8:endl 。while1/ 输出操作文本int line=0 。char buf100 。ifstream Fileinin.txt。whileFilein.getlinebuf,100+line 。coutbufn 。/-ifn=1/ 新增同学信息ifggp=Create。 /调用创建列表gg-。elseInsertp 。/ 新增
21、同学信息nn+ 。chundangp。/ 信息存档/-elseifn=2/ 删除同学信息int line=0 。/导入同学信息char buf100 。ifstream Fileinout.txt。whileFilein.getlinebuf,100+line 。coutbufendl 。Filein.close 。coutcc 。Deletep ,cc 。chundangp。/ 信息存档/-else ifn=3/ 导入同学信息可编辑资料 - - - 欢迎下载精品名师归纳总结int line=0 。char buf100 。ifstream Fileinout.txt。whileFilein.
22、getlinebuf,100+line 。coutbufendl 。Filein.close 。/-else ifn=4/ 同学信息搜寻coutname。sousuop,name。/-else ifn=5/ 同学信息统计tongjip 。/-else ifn=6/ 英语入学成果排序cout 按英语成果排序: endl 。paixup 。/-else ifn=7/ 同学信息储存char ch,ch1=n 。ofstream file1 同学信息储存 .txt,ios_base:app 。/= 清空文件 同学信息储存 .txt 的内容FILE * fp 。fp = fopen 同学信息储存 .tx
23、t,w 。/= 组合文件ifstream file2out.txt。file1.writechar * &ch1,sizeofch1。whilefile2.getchfile1.putch 。ifstream file3 统计.txt 。file1.writechar * &ch1,sizeofch1。whilefile3.getchfile1.putch 。可编辑资料 - - - 欢迎下载精品名师归纳总结ifstream file4 英语成果排序 .txt 。file1.writechar * &ch1,sizeofch1。whilefile4.getchfile1.putch 。 file
24、1.close 。file2.close 。file3.close 。file4.close 。cout 储存成功 .endl。/-else ifn=8break 。/退出操作/-else ifn=9/ 输出同学信息储存int line1=0 。char buf1100 。ifstream Filein 同学信息储存 .txt 。whileFilein.getlinebuf1,100+line1 。coutbuf1endl 。Filein.close 。/-else cout 错误选择! endl 。continue。四 、课程设计总结这一周的 C+ 课程设计,时间上说长不长,说短也不短,却让
25、我学到了许多,第一点就是: C+很难,似乎是学不完的,你觉得自己明白一点,是总会发觉仍有许多自己所不懂的东西,仍有许多自己所没探知的领域,许多学问运用到实践中很有确定的难度,看着自己和同学的程序运行结果,突然发觉C+真的很神奇,竟然能运行出那么漂亮的系统,看着运行结果。在我们上机调试程序的过程中,我遇到了许多的问题,说实话这次课程设计自己没有出多大的力,大部分都是借鉴同学的设计成果,自己设计是总是觉得没有头绪,无从下手。看到同学认真看程序的样子,仍有修改程序时的娴熟,我很仰慕他,我想,我也要将C+学好,在将来能为我的就业加分。在这期末考试前期,学院给我们支配的课程设计周,总让我们觉的有些犯难我
26、们,这样一个复杂困难而又繁琐的作业,似乎弄得我们既没有时间也没有可编辑资料 - - - 欢迎下载精品名师归纳总结心情复习,我曾一度的埋怨过学院,在完成它之后,我发觉我错了,课程设计不仅让我们巩固了所学的学问,仍使得我们学习到了更多平常所忽视的,最重要的是,它磨砺了我们,让我们在高校的下一个阶段能更好的成长。版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。版权为潘宏亮个人全部This article includes some parts, including text, pictures, and design. Copyright is Pan Hongliangs pers
27、onal ownership.用户可将本文的内容或服务用于个人学习、争论或观看,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵害本网站及相关权益人的合法权益。除此以 外,将本文任何内容或服务用于其他用途时,须征得本人及相关权益人的书面许可,并支付酬劳。Users may use the contents or services of this article for personal study, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is u