1、资源和安全工程学院C+语言课程设计(纲领)一、目标和任务目标是经过课程设计,使学生深入掌握C+语言基础知识和基础程序设计技巧,提升学生综合编程能力和程序调试能力,和利用计算机处理实际问题能力。二、设计要求1. 查阅资料,学习新知识和方法,培养学习能力和知识应用能力。2. 独立思索,独立完成。培养独立思索综合分析问题能力。3. 要求先设计,后上机实现。上机前应有设计初稿。4. 注意培养团结协作精神。在独立思索基础上,同学之间应该相互帮助,探讨编程方法和技巧,取长补短,但不能剽窃。5. 按时完成上机编程任务和写出实习汇报。三、汇报要求1.目录2.题目和设计要求3.问题分析,设计思想。4.画步骤图或
2、模块结构图;5.有些题目要制作字符形式菜单;6.不一样功效使用不一样函数实现;对程序进行必需注释;7.经典算法和技巧分析,调试体会。8.总结。包含碰到问题和处理问题方法,心得体会。四、考评1 程序设计能力。依据上机前准备,包含设计初稿。2 程序调试能力。依据程序经过情况。3 学习态度。包含考勤和上机是态度和遵守纪律情况。4 总结归纳能力。经过实习汇报评价。五、设计题目(在下面九个设计题目中任选1个题目,在两个星期之内完成) (一)图书管理系统1. 新书入库: 图书信息包含书名、书号、库存量、现存量共4项。首先输入3本书信息,并将其存入文件“book.dat”中。当有新书入库时, 先判定文件中是
3、否有此书( 即比较书名 ), 若有则修改库存量, 现存量信息; 若无此书, 则将该书信息添加到文件中. 2. 图书查询: 输入一个书号,在文件中查找此书,若找到则输出此书全部信息; 若找不到则输出查找失败信息。 3. 借阅管理(1) 每个读者信息包含姓名、 编号, 1张借书卡( 限借一本书 ), 输入3个读者信息存入文件“reader.dat”中。 (2) 借书登记: 输入读者姓名,所借图书书号,先判定姓名是否在文件”reader.dat” 中, 若有则将书号存入一张借书卡上( 注: 初始时借书卡信息全部为零,借书后借书卡信息改为所借书书号), 并修改文件”reader.dat”对应内容, 同
4、时修改文件”book.dat”中此书现存量。若”reader.dat”无此姓名, 则应提醒错误。(3) 还书管理: 输入读者姓名, 所还图书书号, 将借书卡信息置为零, 并修改文件”reader.dat”对应内容, 同时修改文件”book.dat”中此书现存量. 4. 输出全部图书信息和全部读者信息5. 退出系统。(二)航空订票系统1. 航线信息: 每条航线信息包含航班号, 飞机号, 目标地, 订票数, 余票数共5项。 假设现在有3条航线, 目标地分别是北京, 上海, 广州, 飞机上可乘坐100人( 即初始订票数为0, 余票数为100) , 将这3条航线信息存入文件”airline.dat”
5、中.2. 订票业务(1) 用户信息包含姓名, 航班号, 座位号(初始为0), 假设已经有3个用户信息存入文件“customer.dat”中.(2) 有新用户订票时, 先输入用户姓名和她提出航班号, 查询该航线订票情况, 若有余票, 则为用户办理订票手续, 分配给用户一个座位号, 然后将新用户信息添加到文件“customer.dat”中, 并修改文件“airline.dat”中该航线订票数和余票数. 若无余票, 则输出客满信息.3. 退票业务: 依据用户提出航班号, 办理退票, 从文件“customer.dat”中删除该用户信息, 并修改文件“airline.dat”中对应航线订票数和余票数.4
6、. 输出全部航线信息和全部用户信息.5. 退出系统.(三) 销售管理系统1. 销售员信息: 每个销售员包含姓名, 编号, 产品1销售额, 产品2销售额, 总销售额共5项信息. 首先输入3个销售员信息存入文件“sailer.dat”中.2. 排序: 按产品1销售额进行排序,将排序后信息存入文件“sailer1.dat”中, 按产品2销售额进行排序,将排序后信息存入文件“sailer2.dat”中, 按总销售额进行排序,将排序后信息存入文件“sailer3.dat”中。 3. 统计: 分别统计产品1总销售额和产品2总销售额并进行输出。4. 销售员增加: 增加一个销售员信息, 先将其添加到文件“sa
7、iler.dat”中, 然后按其总销售额进行插入排序, 排序后信息仍存入文件“sailer3.dat”中。5. 销售员降低: 输入一个销售员姓名, 从文件“sailer.dat”中将其删除。6. 输出全部销售员信息。7. 退出系统。(四)停车场管理1有一个两层停车场, 每层有6个车位, 当第一层车停满后才许可使用第二层. ( 停车场可用一个二维数组实现, 每个数组元素存放一个车牌号 ) 每辆车信息包含车牌号, 层号, 车位号, 停车时间共4项. 其中停车时间按分钟计算2. 假设停车场初始状态为第一层已经停有4辆车, 其车位号依次为14 , 停车时间依次为20, 15, 10 , 5 . 即先将
8、这四辆车信息存入文件“car.dat”中( 数组对应元素也要进行赋值 )。3. 停车操作: 当一辆车进入停车场时, 先输入其车牌号, 再为它分配一个层号和一个车位号(分配前先查询车位使用情况, 假如第一层有空则必需停在第一层), 停车时间设为5 , 最终将新停入汽车信息添加文件“car.dat”中, 并将在此之前全部车停车时间加5。4. 收费管理(取车): 当有车离开时, 输入其车牌号, 先按其停车时间计算费用, 每5分钟0.2元. (停车费用可设置一个变量进行保留), 同时从文件“car.dat”中删除该车信息, 并将该车对应车位设置为可使用状态(即二维数组对应元素清零). 按用户选择来判定
9、是否要输出停车收费总计。5. 输出停车场中全部车辆信息。6. 退出系统。(五)为小型会议设计一个参会人员管理程序要求:(1)登录参会人员下列信息:姓名(name);性别(sex);年纪(age);单位(department)房间号(roomnum)(设每个房间只住一人,房间号为101120,.,501520)。(2)主菜单应最少包含以下多个菜单项:人员登录、显示报到人员信息、查询、统计、修改、删除(3)程序应分别用多个个函数实现以上功效:随时对报到人员进行登录(login),来客登记房间是依据客人要求分配;假如客人申请房间已经有些人登记了,能够让客人重新申请;假如全部房间全部已经住满,则拒绝再
10、进行人员登录;随时按所住房间号(由小到大)输出(print)已报到人员信息;能够依据姓名实现对人员信息查询;能够依据单位对和会人员进行分类统计,并输出统计结果;能够修改和会人员信息;能够删除某个参会人员,并清空其所住房间;(3) 程序中变量要使用题中给定英文名词。(六)建通讯录,并对它进行增加、查询、修改、删除、显示统计等操作 第一个模块主函数main()功效是:依据选单选项调用各函数,并完成对应功效。第二个模块Menu()功效是:显示英文提醒选单。第三个模块Quit()功效是:退出选单。第四个模块Create()功效是:创建新通讯录。第五个模块Add()功效是:在通讯录末尾,写入新信息,并返
11、回选单。第六个模块Find()功效是:查询某人信息,假如找到了,则显示该人信息,假如未找到,则提醒通讯录中没有此人信息,并返回选单。第七个模块Alter()功效是:修改某人信息,假如未找到要修改人,则提醒通讯录中没有此人信息,并返回选单。第八个模块Delete()功效是:删除某人信息,假如未找到要删除人,则提醒通讯录中没有此人信息,并返回选单。第九个模块List()功效是:显示通讯录中全部统计。(七)迷宫问题要求:(1) 用户能够自己建立一个大小随意迷宫。(2) 从入口出发,找出全部出路。(最好用图形化方法演示)。(八)设计一个摸拟时钟转动程序(一)、基础要求:设计时钟要美观大方,既能摸拟机械
12、钟表行走(有时针、分针和秒针),还要正确地利用数字显示日期和时间。(三)、创新要求:在基础要求达成后,进行创新设计,如增加整点报时功效,定时功效等。(四)、设计方法基础原理:在图形模式下绘出时钟外表,利用dos.h中gettime和getdate得到系统时间和日期,然后利用绘图函数显示在屏幕上。(九)编写一个文本编辑器(记事本)要求:要有文本编辑器基础功效,如打开、编辑、保留、修改等。(十)细胞自动机模拟材料破坏过程程序设计要求:了解细胞自动机原理,利用其来模拟材料破坏过程。(十一)事故树分析程序设计要求:编程实现对事故原因进行事故树分析。(十二)某一安全评价方法程序设计要求:对某一安全评价方法计算过程进行程序设计,同时设计有效用户使用界面。