1、c+报告第1章 绪论1.1 背景 计算机技术作为信息化的核心技术受到全社会的普遍重视。如今,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。深入掌握计算机专业知识、具有良好系统设计与分析能力的计算机高级专业人才在社会上深受欢迎。而系统设计与分析能力的培养需要通过实践训练才能获得。通过计算机对一些系统的管理已经成为一种系统、便捷的方式。本课程设计就是用C+设计学生作业完成情况的问题,实现对作业完成问题的操作。1.2 设计目的与任务1.2.1 本课程设计的目的1.课程设计是电子信息类专业重要的实践教学环节。设置课程设计的目的是加强学生对本课程及相关课程知识的
2、理解,培养学生综合运用理论知识分析解决实际问题的方法与能力。有助于提高学生的创新能力和创新意识。搞好课程设计教学工作,对实现专业培养目标,提高学生全面素质有重要作用。2.通过课程设计更进一步理解C+的基础知识。3.训练用系统的观点和软件开发一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。4. 熟练掌握C+知识在程序中的应用,了解书本知识在解决实际问题下的用途。1.2.2 本课程设计的任务运用所学C+知识实现对学生作业完成情况管理程序,包括对作业完成情况的输入、显示、删除、查看、修改、保存、读取、退出
3、程序等等相关操作。第2章 c+语言的运行环境及运行步骤2.1 C+语言的起源早期的操作系统等系统软件主要是用汇编语言编写的(包括UNIX操作系统在内)。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高可读性和可移植性,最好改用高级语言,但一般的高级语言难以实现汇编语言的某些功能,人们设想能否找到一种既具有一般高级语言特性 ,又具有低级语言特性的语言,集它们的优点于一身。于是,C+语言就在这种情况下应运而生了。C+语言是国际上广泛流行的、很有发展前途的计算机高级语言。它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件。C+语言经多次改进,它的突出优点最终引起
4、人们的广泛关注,至此,C+语言便很快风靡全世界,成为世界上应用最广泛的语言之一。2.2 C+语言的特点2.2.1 语言简洁、紧凑,使用方便、灵活C+语言一共只有74个关键字,程序书写自由,它把高级语言的基本结构和语句与低级语言的实用性结合起来。程序比其他许多高级语言简练,源程序短,而且可以像汇编语言一样对位、字节和地址进行操作。2.2.2 运算符丰富C+的运算符包含的范围很广泛。C+语言把括号、赋值、强制类型转换等都作为运算符处理。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。2.2.3 数据结构丰富整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等数据类型。能用来实
5、现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。2.2.4 具有结构化控制语句如ifelse语句、while语句、dowhile语句、switch语句、for语句等。2.2.5 C+语法限制不太严格、程序设计自由度大对变量的类型使用比较灵活,某些类型数据可以通用;而C+允许程序编写者有较大的自由度,放宽了语法检查。2.2.6 C+语言允许直接访问物理地址,可以直接对硬件进行操作能实现汇编语言的大部分功能,可直接对硬件进行操作,可用来编写系统软件。2.2.7 生成代码质量高,程序执行效率高一般只比汇编程序生成的目标代码效率低10%20%。2.2.8 C+语言编写的程序可移植性用C+
6、语言编写的程序可移植性好(与汇编语言相比),不做修改就能用于各种型号的计算机和各种操作系统。由于C+语言的这些优点,使其应用面很广,许多大的软件都用C+语言编写自20世纪九十年代初以来,我国学习和使用C+语言的人越来越多,掌握次语言已成为计算机开发人员的一项基本功。2.3 C+语言的运行环境在C 的运行中我们常选用Microsoft Visual C+和Turbo C+,它们的界面分别如图2.1和图2.2所示。 图2.1 Visual C+6.0的运行界面 图2.2 Turbo C+3.0的运行面2.4 C+语言的运行步骤在常用的C+的运行中本次程序设计我们选择了Microsoft Visua
7、l C+,它的运行步骤如下:第一步:先在所有程序中找到本程序,打开界面。第二步:在打开的界面上输入与编辑源程序。第三步:对源程序进行编译,得到目标程序。第四步:将目标程序与库函数连接,得到可执行程序。第五步:进行可执行程序,得到运行结果。第3章 总体设计思路3.1 功能设计分析3.1.1 设计思路分析(1) 通过键盘输入某位学生某次作业的分数;(2) 给定学号,显示某位学生作业完成情况;(3) 给定某个班级的班号,显示该班所有学生的作业完成情况;(4) 给定某位学生的学号,修改该学生的作业完成信息;(5) 给定某位学生的学号,删除该学生的信息;(6) 提供一些统计各类信息的功能。3.1.2 系
8、统功能分析:主要包含以下多种功能:增加:增加学生作业完成情况管理程序系统记录显示:显示学生作业完成情况管理程序系统记录修改:修改学生作业完成情况管理程序系统记录删除:删除学生作业完成情况管理程序系统记录统计:统计学生作业完成情况管理程序系统记录保存:保存学生作业完成情况管理程序系统记录读取:读取学生作业完成情况管理程序系统记录3.2 总体设计分析3.2.1 系统功能模块图如图3.2.1所示:3.2.2 具体设计方案:1.增加录入学生作业完成情况管理程序系统记录,依次输入班级学号、姓名、作业次数、作业完成情况。2.显示学生个人信息显示:输入欲显示的那个人的学号后,会自动显示此学生的记录内容;班级
9、整体学生信息显示:输入欲显示班级的编号后,就会显示所对应班级所有学生的记录。3.修改输入想修改学生的学号,修改对应学生的作业完成情况。4.删除输入被删除的学生的学号后,系统会删除此人的所有信息。 5.统计输入对应学生的学号,统计该学生的平时成绩。6.保存将所有学生的信息保存在电脑磁盘的文件中。7.读取将电脑磁盘中所有学生的信息读入程序中。8.退出退出学生作业完成情况管理程序系统图3.2.1第4章 详细设计4.1 类定义 如图4.1 类的定义图4.1 类的定义4.2 各个模块程序流程图设计4.2.1 第一模块 添加学生信息如图4.2增加功能流程图图4.2 增加功能流程图4.2.2 第二模块 显示
10、学生信息如图4.3显示功能流程图 4.2.3 第三模块 修改学生信息 如图4.4 修改功能流程图图4.3显示功能流程图 图4.4 修改功能流程图4.2.4 第四模块 删除学生信息如图4.5 删除功能流程图 4.2.5 第五模块 统计学生信息 如图4.6 统计功能流程图 图4.5 删除功能流程图 图4.6 统计功能流程图4.2.6 第六模块 保存学生信息如图4.74.2.7 第七模块 读取学生信息如图4.8 图4.7 保存功能流程图 图4.8 读取功能流程图4.3 程序源代码#include#include#include#includeclass studentpublic: int xueh
11、ao; int banji; char name10; void scan1() coutbanji; coutendl; coutxuehao; coutendl; coutname; coutendl; void print1() cout学 号t班 级t姓 名endl; coutxuehao tbanji tnameendl; ;class zuoye:public studentpublic: int s10; int n,i; int z; char t; void scan2() cout平时成绩满分为100分。endl; do coutn; coutsn-1; coutt; wh
12、ile(t!=N); void print2() cout作业次数t第一次t第二次t第三次t第四次t第五次endlendl; cout作业成绩ts0ts1ts2ts3ts4endl; cout作业次数t第六次t第七次t第八次t第九次t第十次endlendl; cout作业成绩ts5ts6ts7ts8ts9endl; void set() z=0; for(i=0;i10;i+) z=z+si; z=z/10; cout这个学生的平时成绩是:zendl; ;void menu() coutt endl; coutt endl; coutt 。 欢迎进入学生作业管理系统 。endl; coutt
13、1.添加学生信息: endl; coutt . 。 【欢】 2.显示学生信息: 【使】 。 . endl; coutt 。 3.修改学生信息: 。endl; coutt 。 4.删除学生信息: 。 endl; coutt 【迎】 5.统计学生信息: 【用】 。endl; coutt | 6.保存学生信息: |. endl; coutt 7.读取学生信息: endl; coutt 。 0.退出学生作业管理系统: 。endl; coutt endl; coutt endl; coutt endl; coutt endl; coutt endl;void tianjia(zuoye *a,int t
14、) system(cls); int d; char name210; int i=0; couttttt添加学生信息tttendl; coutendl; cout *endl; cout *endl; cout * 添加 *endl; cout *1.添加学生信息:*endl; cout *2.添加学生成绩:*endl; cout *0.退出 *endl; cout *endl; cout *endl; coutendl; coutd; coutendl;A: switch(d) case 1: do ai.scan1(); i+; if(i=t) cout学生信息输入完毕endl; sys
15、tem(pause); while(it); break; case 2: cout输入学生的姓名:name2; for(i=0;it;i+) if(!strcmp(ai.name,name2) ai.scan2(); break; if(i=t) cout没有此学生的信息endl; system(pause); break; case 0:system(pause); system(cls);break; default:cout您输入的选择有误.endl;goto A;break; void xianshi(zuoye *a,int t) system(cls); int d,s,f; i
16、nt i=0; couttttt显示学生信息tttendl; cout endl; cout 显示 endl; cout 1.显示指定学生作业完成情况: endl; cout 2.显示整个班级学生作业完成情况:endl; cout 0.退出 endl; cout endl; coutendl;B: coutd; switch(d) case 1: coutf; coutendl; for(i=0;it;i+) if(ai.xuehao=d) ai.print1(); ai.print2(); system(pause); system(cls); break; if(i=t) cout没有此学
17、生的信息endl; system(pause); system(cls); break; case 2: couts; for(i=0;it;i+) if(ai.banji=s) ai.print1(); ai.print2(); if(i=t) coutendlendl; coutttt该班级学生的作业完成情况显示完毕endl; system(pause); system(cls); break; case 0:system(pause); system(cls); break; default:cout您输入的选择有误.endl;goto B;break; void xiugai(zuoy
18、e *a,int t) system(cls); int s,i; int d; coutendl; couttttt修改学生信息tttendl; cout endl; cout 修改 endl; cout 1.修改学生成绩:endl; cout 0.退出 endl; cout endl; coutendl;C: couts; switch(s) case 1: coutd; coutendl; for(i=0;it;i+) if(ai.xuehao=d) ai.scan2(); system(pause); system(cls); break; if(i=t) cout没有此学生的信息en
19、dl; system(pause); system(cls); break; case 0:system(pause); system(cls);break; default:cout您输入的选择有误.endl;goto C;break; void shanchu(zuoye *a,int t) system(cls); int s,j,n; int i=0; int d; cout endl; cout 删除 endl; cout endl; cout 1.删除学生信息:endl; cout 0.退出 endl; cout endl; coutendl;C: couts; switch(s)
20、 case 1: coutd; coutendl; while(ai.xuehao!=d) i+; ; for(j=i;jt;j+) aj.banji=aj+1.banji; strcpy(aj.name,aj+1.name); aj.xuehao=aj+1.xuehao; for(n=0;n10;n+) aj.sn=aj+1.sn; if(j=t) cout此学生的信息已经删除endl; system(pause); system(cls); break; case 0:system(pause); system(cls);break; default:cout您输入的选择有误.endl;g
21、oto C;break; void tongji(zuoye *a,int t) system(cls); int s,d; int i=0; cout endl; cout .统计 endl; cout endl; cout 1.统计每个学生的平时成绩 endl; cout 0.退出 endl; cout endl; coutendl;D: couts; switch(s) case 1: coutd; coutendl; while(ai.xuehao!=d) i+; ; if(i=t) cout没有此学生的信息。endl; system(pause); system(cls); else
22、 ai.set(); system(pause); system(cls); break; case 0:system(pause); system(cls);break; default:cout您输入的选择有误.endl;goto D;break; void baocun(zuoye *a,int t) system(cls); int i,j; ofstream ist; ist.open(d:zuoye.txt); for(i=0;it;i+) istai.xuehao; istt; istai.banji; istt; istai.xuehao; istt; for(j=0;j10;j+) istai.sj; istt; istendl; ist.close(); co
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2