《高级语言实训》指导书.doc_第1页
《高级语言实训》指导书.doc_第2页
《高级语言实训》指导书.doc_第3页
《高级语言实训》指导书.doc_第4页
《高级语言实训》指导书.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高级语言程序设计实训指导书高级语言程序设计实训指导书广西工学院计算机工程系2011年1月一、实训目的高级语言程序设计实训是高级语言程序设计课程教学的重要组成部分,在计算机、软件工程专业的教学中占有重要位置。本课程通过提供学生一个实训练习的机会,巩固、提高学生的基本编程能力,同时通过训练编写综合程序的方式,提高学生分析问题和解决问题的能力,为后续课程的学习打下良好的基础。二、实训要求(一)基本要求1、掌握C 语言程序设计的方法,熟悉使用VC6.0作为开发软件开发C语言程序及C 程序的调试过程。2、熟悉C 语言中的数据类型,数据结构、语句结构、运算方法、函数,巩固和加深对理论课中知识的理解,提高基本编程能力。3、综合实训题,可采取每人一题,或者每组完成一个课题(一组不能超过2人),每组成员必须明确各自的任务。4、要求利用结构化程序设计方法以及C的编程思想来完成系统的设计;5、要求数据使用数组、指针、结构体、链表等均可;6、模块化程序设计:要求在设计的过程中,各个功能模块用函数的形式来实现;7、学生所选课题必须上机通过,并获得满意的结果;8、程序书写风格:锯齿型书写格式。(二)设计步骤在进行实训综合编程时需要遵循以下的步骤:A、问题分析、确定解决方案框架,充分地分析和理解问题本身,弄清要求做什么。在确定解决方案框架过程中,仔细考虑如何使程序结构清晰、合理、简单和易于调试,并确定每个函数的简单功能,以及函数之间的调用关系。B、详细设计和编码:确定程序的主要流程,再此基础上进行代码设计,每个明确的功能模块程序一般不超过60行,否则要进一步划分。C、上机前编写程序与检查。D、上机调试程序。(三)实训报告要求1、需求分析:描述问题。简述课题要解决的问题是什么,有什么要求和限制条件。2、总体设计(程序设计组成框图、流程图)3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)4、测试结果,用几组测试数据进行测试算法设计的正确性。5、附录。源程序清单和结果:源程序要加注释。结果要包括测试数据和运行结果。三、实训内容对于综合实训题,教师提供参考题目,要求学生在教师提供的的参考题目范围内选题。学生如果自选题目,需要将自选题目的详细内容以及实现要求提供给老师,经老师批准后方可。综合实训题,训练学生使用数组、指针和结构体等数据类型,解决实际问题的能力,提高C语言的编程水平。总体要求学生使用链表或者结构体数组实现对问题中数据组织。程序结构采用结构化程序设计方法。main函数的编写应简洁、清晰,菜单显示、对数据的各个操作都用函数来实现。程序的界面设计风格建议采用文字菜单的形式,例有一教师信息管理程序,其运行界面如下:出现上述界面后,用户可以通过敲入0、1、2、3 、4、5等字符完成所提示的功能。循环往复,直到敲入6字符,退出系统。输入教师信息时,应该提示用户输入教师信息;删除教师时,应该提示用户给出要删除教师记录的姓名;查找时,应该提示用户输入相应姓名等。提示:在使用字符界面的菜单编程时,需要清屏,可以使用system(“cls”);函数将屏幕清屏。本指导书提供的实训参考题目以及要求如下:1、学生信息管理问题描述:已知程序要求管理的学生信息包括:学号(不重复),班级,姓名,年龄,性别,出生日期,地址,电话,E-mail等。设计一程序,完成以下功能:1) 能从键盘输入学生的信息(增加,输入时需要能检查该学号的学生的记录是否已经存在,出生日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)2) 能从指定的文件中读入学生的信息3) 能按学号查询学生的信息4) 能按班级查询学生信息5) 能删除指定学号的学生信息6) 能将学生信息保存在指定的文件中提示:l 从文件读入学生信息时,需要先设计好文件的格式,从文件中读取数据后,按照预先设计的格式分析数据,提取学生的信息,读入程序l 定义一个日期结构体保存日期,具体信息为:年、月、日l 判断出生日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为-,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。2、通讯录管理问题描述:已知程序要求通讯录的信息为:姓名、电话号码、类别、电子邮件,其中类别的类型有 :同事类、朋友类、商务类、一般类),设计一程序,完成以下功能:1) 能从键盘输入通讯录的信息(增加,输入时需要能检查该姓名的通讯录的记录是否已经存在,如果存在,需要询问是否是覆盖还是增加,需要判断输入的类型是否存在)2) 能从指定的文件中读入通讯录的信息3) 能按姓名查询通讯录的信息4) 能按分类查询通讯录的信息5) 能删除指定姓名的通讯录的信息6) 能将通讯录信息保存在指定的文件中模块设计参考: 第一个模块主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。 第二个模块Menu()的功能是:显示英文提示选单。 第三个模块Quit()的功能是:退出选单。 第四个模块Create()的功能是:创建新的通讯录。 第五个模块Add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。 第六个模块Find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。 第七个模块Alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。 第八个模块Delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。 第九个模块List()的功能是:显示通讯录中的所有记录。3、酒店房间登记与计费管理问题描述:已知在酒店中有10个房间,每个房间的信息包括房间号,每天住宿价格,设计一程序,完成以下功能:1) 从键盘输入客户的入住信息(包括:客户姓名,身份证号,开始入住时间、退房时间(假设客户入住时就确定什么时候退房)、入住房间号),需要完成以下功能:l 入住房间号是否存在,开始入住时间,退房时间格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)l 输入入住信息时需要完成以下校验:该房间是否当前已经入住,如果是提示用户不能入住,检查身份证号是否为15位或18位,如果不是则提示错误l 输入入住信息时,需要根据入住时间和退房时间,自动计算入住天数(假设入住时间不会跨年),并根据相应房间的住宿价格,计算住宿费用2) 根据房间号,查询住宿情况3) 根据房间号和统计时间段(开始和结束时间,不跨年)统计房间产生的住宿费用提示:l 酒店中的10个房间,可以采用结构体数组实现,每个数组元素表示一个房间,房间的信息表示为:房间号,价格l 定义一个日期结构体保存日期,具体信息为:年、月、日l 定义一个链表表示客户的入住信息,结构体信息包括:客户姓名,身份证号,开始入住时间、退房时间,入住房间号,入住天数,入住价格、住宿费用(入住天数,入住价格、住宿费用的信息在输入入住信息时计算出来)l 判断入住时间和退房时间的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为-,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。l 计算入住天数,因为入住时间不会跨年,因此,可以根据月份和日期,计算入住时间到退房时间之间的天数。l 判断房间是否当前已经入住需要查询入住信息链表,在该链表中是否存在退房时间比入住时间大的记录,如果有,则表示已经入住l 统计时间段内房间产生的住宿费用时,需要根据开始统计的时间和结束统计时间查询入住信息链表,会有四种情况:1、查询记录的入住日期大于开始统计时间、退房日期小于结束统计时间,累加该记录的住宿费用;2、查询记录的入住日期小于开始统计时间,但退房日期大于开始统计时间,需要计算退房时间到开始统计时间的天数乘以价格再累加;3、查询记录的入住日期小于结束统计时间,但退房日期大于结束统计时间,需要计算入住时间到结束统计时间的天数乘以价格再累加;4、开始统计日期大于入住时间,结束统计日期小于退房时间,需要计算结束统计日期到开始统计日期的天数,乘以价格再累加。其余表示不在该统计时间段内,不产生入住费用4、职工信息管理问题描述:已知职工信息包括职工号、姓名、性别、出生日期、学历、工资、住址、电话等。设计一程序,完成以下功能:1) 能从键盘输入职工的信息(增加,输入时需要能检查该职工号的职工的记录是否已经存在,出生日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)2) 能从指定的文件中读入职工的信息3) 能按职工号查询职工的信息4) 能按学历统计职工数5) 能查询到指定年份需要退休的职工的信息(男:60岁,女55岁)6) 能删除指定职工号的职工信息7) 能将职工信息保存在指定的文件中提示:l 从文件读入职工信息时,需要先设计好文件的格式,从文件中读取数据后,按照预先设计的格式分析数据,提取职工的信息,读入程序l 定义一个日期结构体保存日期,具体信息为:年、月、日l 判断入出生日期格式是否合法时,需要判断长度是否为10,第5位和第8位是否为-,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。ll 可以使用一个结构体数组保存学历,学历结构体包含的信息为:学历代号,学历名称。(如001,本科 则表示本科学历),在输入职工信息时,只需要输入该学历对应的代号则可(查询学历数组中是否有该代号的记录),将该代号保存在职工信息中。显示时,根据代号在类别结构体数组中查询其学历名称显示。5、销售管理问题描述:已知一公司某公司有4个销售员(编号、姓名、性别),负责销售5种产品(产品代号、产品名称,销售价格)。设计一程序,完成以下功能:1) 从键盘输入销售信息:销售员编号、产品编号、销售日期、销售数量(输入时需要判断销售员编号是否存在、产品编号是否存在、销售数量是否大于0,销售日期日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)2) 能输出指定时间段内的销售统计报表,格式如下: 销售统计报表 产品代号 销售之和 销售员代号 1 2 3 4 5 1 2 3 4 每种产品之和 总和3) 根据销售员编号查询销售历史情况4) 能删除指定销售员、产品、销售日期的记录提示:l 定义一个日期结构体保存日期,具体信息为:年、月、日l 判断销售日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为-,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。l 定义一个结构体数组保存4个销售员信息,具体信息为:编号、姓名、性别l 定义一个结构体数组保存5种产品信息,具体信息为:产品代号、产品名称,销售价格l 定义一个链表保存销售信息,信息为:销售员编号、产品编号、销售日期、销售数量。每输入一比销售信息时,在该链表中插入一条记录l 输入销售信息时需要查询销售员数组和产品数组,是否在该销售员和产品l 实现第二个功能(销售统计报表)时,需要定义一个二维数组report(5行6列)来保存报表信息,遍历销售链表,如果销售日期大于开始统计时间小于结束统计时间,判断其销售员代号在销售员数组中的下标m,以及产品代号在产品数组中的下标,并将该销售数量累加在reportmn元素中,再输入该二维数组6、银行账户信息管理问题描述:已知一银行有5个客户(客户信息为:编号、客户姓名、客户地址、客户电话、账户总金额(最开始为0)。设计一程序,完成以下功能。1) 存款:输入客户编号、存款金额、存款日期,完成存款功能,需要判断客户编号是否存在,存款金额是否大于0,存款日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)。2) 取款:输入客户编号、存款金额、取款日期,完成取款功能,需要判断客户编号是否存在,取款金额是否大于0,取款金额是否小于客户的账户总金额,取款日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)。3) 查询指定客户的余额4) 查询指定客户的存款记录5) 查询指定客户的取款记录提示:l 定义一个日期结构体保存日期,具体信息为:年、月、日l 判断存款日期和取款日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为-,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。l 定义个长度为5的结构体数组保存客户信息,具体为:编号、客户姓名、客户地址、客户电话、账户总金额。最开始为账户总金额0。l 定义一个链表保存客户的存、取款记录,具体信息为:编号、日期、操作类别、金额。可以设计操作类别为1表示存款,-1表示为取款,每次输入存款信息时,将存款金额累加到账户总金额,每次取款时,从账户总金额减去取款金额。7、商品销售管理问题描述:已知一公司有10种产品(产品编号,产品名称,产品价格,产品产地,库存数量(最开始为1000个),设计一程序,完成以下功能:1) 销售:从键盘输入顾客姓名,销售数量、销售日期,实现销售功能。需要判断产品是否存在,销售数量是否小于库存数量,销售日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)2) 能根据产品编号查询产品的销售历史3) 计算时间段内各个产品的销售总额4) 能根据顾客姓名,查询购买历史5) 能显示所有顾客的姓名提示:l 定义一个日期结构体保存日期,具体信息为:年、月、日l 判断存款日期和取款日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为-,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。l 定义一个结构体数组保存10种产品信息,具体信息为:产品编号,产品名称,产品价格,产品产地,库存数量(最开始为1000个)l 定义一个链表,保存销售信息,具体为:顾客代码,销售数量、销售日期。l 定义一个链表保存顾客信息,具体为:顾客代码,顾客姓名l 当输入销售信息时查询顾客链表,如果在链表中存在该姓名的顾客记录,则将其代码在该销售链表中插入一条记录,如果不存在,则在顾客链表中插入一条记录,(顾客代码需要自动生成)。 8、设备管理问题描述:已知一公司需要使用10种设备(设备编号、设备名称),4个部门(部门编号、部门名称),该四个部门需要其他供应商购买使用设备,设计一程序,完成以下功能:1) 购买:输入设备编号、部门编号(购买),购买日期、设备数量,完成购买的功能:需要判断设备编号、部门编号是否存在,设备数量是否大于0,购买日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)2) 报废:输入设备编号、部门编号(报废),报废日期、设备数量,完成报废功能:需要判断设备编号、部门编号是否存在,设备数量是否大于0小于该部门当前正使用设备数量。报废日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)3) 查询指定设备编号购买历史4) 指定部门报废设备的历史5) 统计指定日期公司各设备可以使用的数量提示:l 定义一个日期结构体保存日期,具体信息为:年、月、日l 判断购买(报废)日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为-,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。l 定义一个结构体数组保存10种设备的信息,具体为:设备编号,设备名称l 定义一个结构体数组保存4个部门的信息,具体为部门编号、部门名称l 定义一个链表保存购买(报废)信息,具体为设备编号、部门编号、购买(报废)日期、操作类型、设备数量、购买单价、购买金额。其中操作类型为1 表示购买、-1表示报废。l 输入购买信息时,查询设备数组和部门数组,是否设备编号和部门编号存在,如果存在,根据购买数量和购买单价计算购买金额,找出设备的插入购买(报废)链表(操作类型为1)。l 输入报废信息时,查询购买(报废)链表,计算在报废日期之前购买的设备数量(操作类型为1的),计算在报废日期之前报废的设备数量,得到当前在使用的设备数量,如果输入的报废数量小于当前在使用的设备数量则插入入购买(报废)链表(操作类型为-1)。l 统计在指定日期,查询购买(报废)链表,计算各个部门在统计日期之前购买的设备数量(操作类型为1的),计算各个部门在统计日期之前报废的设备数量,可以使用一个数组保存这些数据信息,打印形成报表。9、飞机订票问题描述:某公司每天有10航班(航班号、价格),每个航班的飞机,共有80个坐位,分20排,每排4个位子。编号为A,B,C,D。如座位号:10D表示10排D座。设计一程序,完成以下功能:1) 订票:输入乘客的姓名、身份证号、航班号、乘坐日期,座位号,完成订票功能(一次只能预定一张机票)。需要判断航班号是否存在,身份证号的长度是否为15位或18位,判断座位号是否为航班上正确的座位号,座位号是否已经被其他顾客预定,乘坐日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)2) 退票:输入乘客的姓名、航班号、日期,完成退票功能。需要判断该乘客是否已经订购了该日期的该航班)(不考虑航班飞机是否已经起飞,认为任何时候都可以退票)3) 查询指定航班、指定日期的乘客信息4) 查询指定航班的飞机票的销售额5) 查询指定身份证号的顾客的乘坐飞机历史。提示:l 定义一个日期结构体保存日期,具体信息为:年、月、日l 判断乘坐日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为-,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。l 定义一个结构体数组保存航班信息,具体为:航班号、价格l 定义一个结构体保存座位号,具体为:排,座l 定义一个订票链表,保存订票信息,具体为:乘客的姓名、身份证号、航班号、乘坐日期,座位号。输入时,判断排号是否大于0 小于等于20 ,座号是否为A、B、C、D, 同时需要查询订票链表,是否存在相同乘坐日期、相同航班、相同座位号的记录,如果有则表示已经预定,如果没有则插入订票链表l 退票时,需要从输入身份证号、航班号、乘坐日期,查询订票链表,如果在该记录,则删除,10、仓库管理问题描述:已知一工厂有5个仓库(仓库编号、仓库名称、负责人),用于保存公司生产的10个产品(产品编号、产品名称、产品规格),任何一种产品可以保存在该5个仓库中,编写一程序完成以下功能:1) 产品入库:从键盘输入仓库编号、产品编号,入库日期,入库数量。需要判断仓库编号是否存在、产品编号是否存在、入库日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02),入库数量是否大于0,入库日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)2) 产品出库:从键盘输入仓库编号、产品编号、出库日期,出库数量,需要判断仓库编号是否存在、产品编号是否存在、入库日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02),入库数量是否大于0,是否小于当前该仓库的库存量,出库日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)3) 查询指定仓库编号的入库记录4) 查询指定产品编号的入库记录5) 查询指定仓库编号的出库记录6) 查询指定产品编号的出库记录提示:l 定义一个日期结构体保存日期,具体信息为:年、月、日l 判断入库日期和出库日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为-,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。l 定义一个结构体数组,保存5个仓库信息,具体为:仓库编号、仓库名称、负责人l 定义一个结构体数组,保存10个产品信息,具体为:产品编号、产品名称、产品规格。l 定义一个产品出库(入库)链表,保存产品的出库(入库)信息。具体为:仓库编号、产品编号,入库日期,入库数量,操作类型(为1 表示入库,为-1表示出库)l 产品入库时,需要查询仓库数组和产品数组,如果产品编号和仓库编号存在,则插入产品出库(入库)链表l 产品出库时,需要查询产品出库(入库)链表,查询产品编号、仓库编号的入库记录得到入库的数量(类型为1),查询产品编号、仓库编号的出库记录得到出库的数量(类型为-1),计算得到该产品在该仓库的库存量,如果出库数量小于库存量,插入产品出库(入库)链表,类型为-1。11、学校运动会管理问题描述:已知某学校运动会上有5个系部(编号、名称)和10个运动项目,各项目名次取法有如下几种:取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; 编写一程序,完成以下功能:1) 从键盘输入系部编号、运动员姓名、运动项目编号、获取名次。需要判断系部编号是否存在、参赛项目是否存在、获取名次是否合法,同一系部的同一个人,不能在同一个项目中出现两次。2) 按照比赛成绩从高到底输出系部和其比赛成绩3) 查询指定系部编号的获奖记录4) 查询指定运动项目的获奖记录提示:l 定义一个结构体数组,保存5个系部的信息,具体为:编号、名称,比赛成绩(最开始为0)l 定义一个结构体数组,保存10个运动项目的信息,具体为:编号、名称l 定义一个获奖链表,保存运动员的获奖信息,具体为:系部编号、运动员姓名、运动项目编号、获取名次,得分,查询系部数组和运动项目数组,如果存在,查询获奖链表,是否存在该系部、该姓名、该项目的记录,如果不存在,根据获取的名次,计算获奖的得分,插入获奖链表,并将得分累加到系部的比赛成绩。l 对系部数组按照比赛成绩排序12、教师工作量管理问题描述:已知一学校有4们课程(课程编号、课程名称,课时),5个教师(教师号、姓名、性别、职称),在计算教师工作量时,其计算方法如下表:班级数目单个教学任务总课时2 1.5*(理论课时+实验课时)3 2*(理论课时+实验课时)=4 2.5*(理论课时+实验课时)编写一程序,完成以下功能:1) 输入教师的授课信息:教师号、班级数量,任课时间(2010-1表示2010年第一学期),班级数量。2) 查询指定年份的各个教师的工作量3) 查询指定教师编号、指定年份的工作量4) 查询指定教师编号、指定年份的授课信息5) 查询指定课程编号、指定年份的授课教师信息提示:l 判断任课时间的格式是否合法时,需要判断长度是否为6,第5位为字符-。l 定义一个结构体数组,保存4门课程的信息l 定义一个结构体数组,保存5个教师的信息l 定义一个授课信息链表,保存教师的授课信息,具体为:教师号、班级数量,任课时间(2010-1表示2010年第一学期),班级数量,工作量l 输入授课信息时,查询课程数组、教师数组,是否课程和教师存在,根据算法计算该课程的工作量,如果存在则插入授课信息链表。l 查询教师工作量时,输入一个年份,查询授课信息链表中任课时间前4位等于该年份的记录,累加到教师工作量。 九、主要参考文献1. C程序设计,张磊,高等教育出版社2.C程序设计,谭浩强著,清华大学出版社。3.C语言程序设计教程,杨路明著,北京邮电大学出版社。十、实训考核标准及方式1、考核方式(1)注重实训全过程各主要环节的监控与考核,确保各主要实训环节的质量(2)注重学生知识向技能的转化,突出应用能力的考核 (3)注重学生职业专门技能的培养,注重职业素养和职业道德的考核 (4)注重实训过程中每个学生技能的提高,主要从实训态度、实训纪律、实训能力、实训效果等方面进行考核。2、考核标准通过提交编写的代码和报告的方式,并结合学生的动手能力,独立分析解决问题的能力和创新精神,总结报告和学习态度综合考评。成绩分优、良、中、及格和不及格五等。考具体的考核项目如下:(1)在课程实训期间的出勤和参与情况,实训过程中的态度(谦虚、认真、勤奋、好学、刻苦、联系实际)、纪律(遵守纪律、服从指导、出勤率)(20%) (2)实训能力(实际动手、创新、解决问题、与他人协调、沟通、表达等能力)及在合作小组中所完成的工作量(30%) (3)项目中所涵盖的知识点的掌握情况(40%) (4)实训效果(高质量完成实训任务或项目开发)、有创意的加分(10%)主要根据实训结束后提交的数据库所实现的功能,给出优秀、良好、及格、不及格:优秀:实训期间,纪律严明、勤奋刻苦,能按给定要求实现了题目中给定的功能,并且有独到的创意,成功开发、调试通过,实训报告书书写规范。良好:实训期间,纪律严明、勤奋刻苦,能按给定要求实现了题目中给定的功能,并且成功开发、调试通过,实训报告书书写较规范。中等:实训期间,勤奋刻苦,能按给定要求基本实现题目中给定的功能,并且成功开发出代码,实训报告书书写较规范。及格:提交的代码和报告中,没有完全实现给定要求,但给出了主程序,实训报告书书写较规范,可读性较差。不及格:提交的代码和报告中,没有完全实现给定要求,没有给出了主程序,实训报告书书写较规范,可读性较差。十一、设计报告格式及要求(一)、封面;(二)、目录;(三)、设计任务书;(四)、本组课题及本人任务;(五)、程序功能简介;(六)、主体内容(简要说明总体情况,详细介绍本人任务部分):1设计分析;2程序结构(画流程图)3各模块的功能及程序说明;4. 源程序;5操作方法(流程);6试验结果(包括输入数据和输出结果)7设计体会。(七)、附录:附程序流程图(总体模块图、本人设计部分的程序N-S或ANSI流程图);主要过程列表(含简要说明);程序中主要变量、函数(指自定义函数及程序中用到的部分不常用系统函数)列表(含简要说明)。以上七部分必须包含在内,格式自己设计,要求美观大方,课程实训报告封面格式如下页:说 明:按规定的模板封面输出,不准自定义封面格式软件:需提供源程序,并能正常运行。 注:对于程序中未能实现的部分需要加以说明。对于程序中所参考的部分代码需要加以声明,并说明出处。高级语言程序设计课程实训报告题 目:设 计 者: 专业班级:学 号:指导教师: 年 月 日广西工学院计算机工程系2、正文格式:1 题目与要求(左对齐,宋体粗四号)1.1 问题提出(左对齐,宋体粗小四号)详细叙述本人所要实现的题目中的问题(小四,宋体)例如:本人计划编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。1.2 本系统涉及的知识点例如:结构、数组、循环、函数、分支、指针(小四,宋体)1.3 功能要求叙述本人所要实现的题目功能(小四,宋体),例如:1、建立学生信息,每个学生的信息包括:学号、姓名、性别、班级、成绩;2、求出每个学生的平均分;3、排序:分别按平均分排序、按学号排序;4、根据学号查询成绩;5、输出:.2 功能设计(左对齐,宋体粗四号)2.1 算法设计(左对齐,宋体粗小四号)将题目分成若干模块或部分、各模块或部分的算法设计(小四,宋体),例如:本系统需要实现的功能要求:利用switch语句设计如图1所示的主菜单(图中的文字宋体5号):请输入选项编号(16)1 输入信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论