资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划c语言实训报告范文湖北汽车工业学院电气与信息工程学院C语言程序设计实训报告实训题目:学生信息管理系统专业:汽车电子工程专业班级:姓名:成绩:一、需求分析1、问题根据需求,该系统所应包含的信息有以下一些:学生的基本信息:学号,班级,姓名,年龄,出生日期。根据需求,该系统所应实现的功能有以下一些:各种基本信息数据的录入:a由键盘输入学号,班级等基本信息。B由文件录入学生信息。对学生信息的查询:a按学号查询指定学生信息。b按班级查询指定班级内学生的信息。学生基本信(转载于:写论文网:c语言实训报告范文)息数据的删除:按学生学号来删除指定学号的学生信息。学生基本信息的保存:将录入的学生信息保存到文件中。2、系统采用C语言实现,开发环境为VC,可以运行在操作系统windows98及以上皆可。3、运行要求能连续录入任意个数学生的基本信息。界面简洁,操作方便,提示人性化,例如删除前需要提示用户是否删除容错性强,例如输入的学生出生日期格式不对或日期不符合时提示输入错误,并可重新输入。二、总体设计1、系统流程设计根据系统要求,设计如下的系统流程+2、系统模块设计根据系统的功能设计,如下模块主界面模块:完成系统菜单的显示功能选择模块:根据用户的选择,完成其相应的功能键盘输入学生信息:从键盘输入任意个数学生的基本信息,并保存到结构体链表中。文件录入学生信息:从指定的文件中录入学生的基本信息,并保存到结构体链表中。按学号查学生信息:输入要查找的学生的学号,可查询并显示该学号对应学生的基本信息。按班级查学生信息:输入要查找的班级,可查询并显示该班级内学生的基本信息。删除指定学号信息:输入要删除的学生的学号,可找到并显示该学号对应学生的信息并删除其信息。保存学生信息:可将已录入的学生信息保存到指定的文件中。三、详细设计1、数据结构设计根据系统要求,系统中需要保存的数据有通讯录的信息,其结构如下:数据项数据项名称数据类型数据长度备注学号xh_number整形变量2班级bj_number整形变量2姓名name字符串变量20年龄nl_number整形变量2指向日期结构指向日期结构体类型的指针体的指针born_day*q变量应题目要求另加一个存放日期的结构体:数据项数据项名称数据类型数据长度备注年份y整形变量2月份m整形变量2号d整形变量2为了能实现可连续输入任意个数的学生信息,我采用链表的结构保存学生的基本信息,在增加学生的基本信息时,创建一个学生信息的节点,将其插入到链表中,示意图如下。使用C语言创建的结构体如下:structstudentintxh_number;学号intbj_number;班级charname20;姓名intnl_number;年龄structborn_day*q;指向日期结构体类型的指针structstudent*next;指向学生信息结构体类型的指针;2、界面设计主界面:根据系统要求,设计一个字符界面,显示系统的菜单,为了体现友好性,将在每个菜单前显示该菜单项对应的数字用户输入菜单项前面的数字,主菜单消失,进入该模块的相应界面,进行相应的操作,完成后,回到主界面。输入界面:a通过键盘输入录入学生信息:北京化工大学C语言实训实习报告题目学生姓名所在系专业名称高玲玲学号XX学生信息管理系统信息技术与科学学院测控技术与仪器年级测控1001XX-07-10目录第1章软件需求分析第节软件编写目的【阐述软件编写的实用性,应用场合,应用对象等等信息】第节项目背景【说明项目来源、委托单位、开发单位及主管部门。】第节定义【列出报告用到的专门术语的定义和缩写词的原文。】第节参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:a.项目经核准的计划任务书、合同或上级机关的批文;b.项目开发计划;c.需求规格说明书;d.概要设计说明书;e.详细设计说明书;f.用户操作手册;g.测试计划;h.测试分析报告;i.本报告引用的其他资料、采用的开发标准或开发规范。】第节软件功能说明【阐述软件系统结构、整体模块图、各模块功能说明】第节软件功能的验收标准【阐述软件编写所要达到的验收目标,即符合用户需求的标准】第2章软件概要设计第节任务概述第节总体设计第节软件模块设计【介绍软件各个模块设计思路,完成功能,模块子流程图】第节数据结构【详细介绍软件设计中涉及结构体、数据结构等等】第节容错设计第3章软件详细设计第节程序描述【逐个模块给出以下的说明:】功能性能输入项目输出项目第节算法【模块所选用的算法。】第节程序逻辑【详细描述模块实现的算法,可采用:a.标准流程图;b.PDL语言;c.NS图;d.PAD;e.判定表等描述算法的图表。】计算机科学与技术系C语言实验报告实验名称:指针及其应用日期:得分:指导老师:专业:班次:姓名:学号:实验目的掌握变量的指针及其基本用法。掌握一维数组的指针及其基本用法。掌握指针变量作为函数的参数时,参数的传递过程及其用法。一实验内容运行以下程序,并从中了解变量的指针和指针变量的概念。运行以下程序,观察&a0、&ai和p的变化,然后回答以下问题:1.程序的功能是什么?2.在开始进入循环体之前,p指向谁?3.循环每增加一次,p的值增加多少?它指向谁?4.退出循环后,p指向谁?5.你是否初步掌握了通过指针变量引用数组元素的方法?先分析以下程序的运行结果,然后上机验证,并通过此例掌握通过指针变量引用数组元素的各种方法。编写函数,将n个数按原来的顺序的逆序排列,然后编写主函数完成:输入10个数;调用此函数进行重排;输出重排后的结果。二分析与讨论指针的定义方法,指针和变量的关系。定义方法:数据类型*指针变量名;如定义一个指向int型变量的指针int*p;则我们可以继续写如下代码inta=4;p=&a;printf(%d,*p);在这里,我们定义了一个变量a,我们把它理解为内存空间连续的4个字节,则这4个字节的空间保存着一个数4。&是取地址符号,即把变量a的地址赋给指针p。这样子,指针p就保存着变量a的地址。我们如果把指针p当做内存空间里面另外一个连续的4个字节,那么这4个字节保存的数就是变量a的地址。printf(%d,*p)和printf(%d,a)的结果是一样的。这里的*是取变量符号,与定义时int*p的*号作用不同。数组和指针的关系。指针与数组是C语言中很重要的两个概念,它们之间有着密切的关系,利用这种关系,可以增强处理数组的灵活性,加快运行速度,本文着重讨论指针与数组之间的联系及在编程中的应用。1指针与数组的关系当一个指针变量被初始化成数组名时,就说该指针变量指向了数组。如:charstr20,ptr;ptr=str;ptr被置为数组str的第一个元素的地址,因为数组名就是该数组的首地址,也是数组第一个元素的地址。此时可以认为指针ptr就是数组str,这样原来对数组的处理都可以用指针来实现。如对数组元素的访问,既可以用下标变量访问,也可以用指针访问。2指向数组元素的指针若有如下定义:inta10,pa;pa=a;则p=&a0是将数组第1个元素的地址赋给了指针变量p。实际上,C语言中数组名就是数组的首地址,所以第一个元素的地址可以用两种方法获得:p=&a0或p=a。这两种方法在形式上相像,其区别在于:pa是指针变量,a是数组名。值得注意的是:pa是一个可以变化的指针变量,而a是一个常数。因为数组一经被说明,数组的地址也就是固定的,因此a是不能变化的,不允许使用a、a或语句a=10,而pa、pa、pa=10则是正确的。由此可见,此时指针与数组融为一体。3指针与一维数组理解指针与一维数组的关系,首先要了解在编译系统中,一维数组的存储组织形式和对数组元素的访问方法。一维数组是一个线形表,它被存放在一片连续的内存单元中。C语言对数组的访问是通过数组名加上相对于起始地址的相对量,得到要访问的数组元素的单元地址,然后再对计算出的单元地址的内容进行访问。通常把数据类型所占单元的字节个数称为扩大因子。实际上编译系统将数组元素的形式ai转换成(ai),然后才进行运算。对于一般数组元素的形式:,编译程序将其转换成:(),其中下标表达式为:下标表达式扩大因子。整个式子计算结果是一个内存地址,最后的结果为:=。由此可见,C语言对数组的处理,实际上是转换成指针地址的运算。数组与指针暗中结合在一起。因此,任何能由下标完成的操作,都可以用指针来实现,一个不带下标的数组名就是一个指向该数组的指针。4指针与多维数组用指针变量可以指向一维数组,也可以指向多维数组。但在概念上和使用上,多维数组的指针比一维数组的指针要复杂一些。例如,在一个三维数组中,引用元素cijk的地址计算最终将换成:(ci)j)k)。了解了多维数组的存储形式和访问多维数组元素的内部转换公式后,再看当一个指针变量指向多维数组及其元素的情况。1指向数组元素的指针变量若有如下说明:inta34;intp;p=a;p是指向整型变量的指针;p=a使p指向整型二维数组a的首地址。(p1)2)表示取a12的内容;p表示取a01的内容,因为p是指向整型变量的指针;p表示p的内容加1,即p中存放的地址增加一个整型量的字节数2,从而使p指向下一个整型量a01。2指向由j个整数组成的一维数组的指针变量当指针变量p不是指向整型变量,而是指向一个包含j个元素的一维数组。如果p=a0,则p不是指向a01,而是指向a1。这时p的增值以一维数组的长度为单位。5指针与字符数组C语言中许多字符串操作都是由指向字符数组的指针及指针的运算来实现的。因为对于字符串来说,一般都是严格的顺序存取方式,使用指针可以打破这种存取方式,更为灵活地处理字符串。另外由于字符串以0作为结束符,而0的ASCII码是0,它正好是C语言的逻辑假值,所以可以直接用它作为判断字符串结束的条件,而不需要用字符串的长度来判断。C语言中类似的字符串处理函数都是用指针来完成,使程序运行速度更快、效率更高,而且更易于理解。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号