1、C 语言程序设计实践任务书第 1 页 共 7 页2012 年C 语言程序设计实践任务书第一章 时间安排对象:电气信息类 1107、1108时间安排:参见实验室安排第二章 可选题目(任选一题)一、基本知识单项训练1、数据的简单加密和解密:对于重要的信息,为了在传输或存储时避免泄露,可以在传输或存储前进行加密形成密文。在传输后或需要使用时,再对密文进行还原变成明文。请实现以下的加密解密过程:对于一个字符串,输入一个数字 a 作为密钥,串中的第一个字符加上该数字 a 转换为密文,第二个字符加上该数字 a 再加 1 转换为密文字符,依次类推,第 i 个字符加上该数字 a 再加 i-1 转换为密文字符。
2、请编写程序实现一个串的加密解密。2、汉诺塔程序:用递归方法实现汉诺塔程序,显示盘子的移动次数和移动过程,盘子总数可作为程序参数在运行程序时输入。3、冒泡法排序:叙述冒泡法排序和改进冒法泡排序的基本思想,用程序实现这两种排序算法,输入多组数据进行测试,统计对比这两种排序算法的排序耗时,并说明这种结果出现的原因。4、选择法排序:叙述选择法排序和改进选择法排序的基本思想,用程序实现这两种排序算法,输入多组数据进行测试,统计对比这两种排序算法的排序耗时,并说明这种结果出现的原因。二、学生成绩管理系统1、需要处理的基础数据 学生基本信息:如学号、姓名、性别、年龄等。 学生选修课程的基本信息:课程编号、课
3、程名称、学分、考试成绩、平时成绩、综合成绩(考试成绩*0.7+平时成绩*0.3) 、平均成绩等。2、系统的基本功能 数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信息;C 语言程序设计实践任务书第 2 页 共 7 页 数据的删除:如删除指定学号、或者指定姓名的学生及其选修课程信息; 数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息; 数据的查询:如按学号查询、按姓名查询等方式,查询学生的信息; 平均成绩的计算:计算每个学生各门功课的平均成绩,并可以按照平均成绩从高到低的次序输出学生的信息(学号、姓名、课程名称、课程综合成绩、平均成绩等) ; 列出不及格学生
4、清单(学号、姓名、不及格的课程名称、该课程的考试成绩、平时成绩和综合成绩) 。 考虑用文件把数据保存起来(可选) 。三、图书购销管理系统1、需要处理的基础数据 图书资料基本信息:图书编号、书名、作者、出版社、定价等。 图书采购信息:采购序号、采购图书编号、采购单价、采购数量、采购金额等。 图书销售信息:销售序号、销售图书编号、销售单价、销售数量、销售金额等。 图书库存信息:图书编号、书名、作者、库存数量等。2、系统的基本功能 图书基本信息的录入 图书采购(1)输入图书的采购信息(2)根据采购单价和采购数量自动计算采购金额。(3)若书库中有当前采购的图书编号,则根据采购数量,增加相应的图书库存量
5、。(4)如果书库中没有当前采购的图书编号,则自动从图书基本资料中把相关信息提取出来,增加到书库;并且根据采购数量,增加相应的书库存量。 图书销售(1)输入图书的销售信息(2)根据当前销售的图书编号、销售数量,从图书库存信息中查找销售要求是否合法:若有该图书且数量充足则进行销售;若没有该图书或库存数量不足则报错。C 语言程序设计实践任务书第 3 页 共 7 页(3)根据销售单价和销售数量自动计算销售金额。(4)销售时从库存中减去相应的数量。 利润计算:根据“全部的销售金额 - 全部的采购金额” ,计算书店的利润情况。 信息查询:(1)可根据图书编号或书名,查询图书资料基本信息。(2)可根据图书编
6、号或书名,查询该图书的库存信息。 根据图书的销售记录,提供图书的销售排行榜。 (可选) 。四、校际运动会管理系统1、需要处理的基础数据 竞赛项目基本信息:竞赛项目编号,竞赛项目名称。 参赛学校信息:学校编号、学校名称、参加的男子竞赛分项编号、男子竞赛分项积分、男子竞赛项目总积分、参加的女子竞赛分项编号、女子竞赛分项积分、女子竞赛项目总积分、学校总积分。 运动员基本信息:运动员编号、姓名、性别、年龄、运动员所属学校编号。 运动员参赛信息:序号、运动员编号、参赛项目编号、比赛名次、比赛积分等。2、系统的基本功能 基本信息输入:(1)输入竞赛项目基本信息。(2)输入参赛学校基本信息,包括学校编号、学
7、校名称、参加的男子竞赛分项编号、参加的女子竞赛分项编号。(3)输入运动员基本信息。 参赛规则说明(1)一所学校,可以报名参加多个男子和女子竞赛项目。(2)一名运动员,可以报名参加多个竞赛项目。(3)运动员参赛获取名次后,可以取得相应的比赛积分:第 1 名得分 5,第 2 名得分 3,第 3 名得分 2,其他名次不得分。 竞赛信息输入:录入运动员参赛信息(序号自动加 1) ,根据运动员的参赛项目编号,从运动员基C 语言程序设计实践任务书第 4 页 共 7 页本信息表中提取其性别和所属学校编号,将该运动员所获积分自动累加到参赛学校的相应位置,同时调整学校的总积分; 信息查询: (1)根据输入的学校
8、编号,查询参赛学校信息。(2)根据输入的运动员编号,查询运动员基本信息。(3)根据输入的运动员编号,查询运动员的竞赛成绩。 成绩排序(可选)可分别按照学校总积分、男子竞赛项目总积分、女子竞赛项目总积分,从高到低对竞赛名次进行排序。第三章 C 语言程序设计实践要求1、编写 C 语言程序,实现系统的基本功能,鼓励自行增加新功能;2、要有用户界面:要求至少采用文本菜单界面;鼓励采用图形菜单界面;3、写课程设计报告,内容包括: 封面(参见任务书最后一页) 系统描述:分析和描述系统的基本要求和内容; 功能模块结构:包括如何划分功能模块,各功能模块之间的结构图,以及各模块的功能描述; 数据结构设计:设计数
9、据结构以满足系统的功能要求,并加以注释说明; 主要模块的算法说明:即实现该模块的思路; 运行结果:包括典型的界面、输入和输出数据等; 总结:包括 C 语言程序设计实践中遇到的问题,解决问题的过程及体会、收获、对程序开发的认识与思考等。 附录:包括主要程序清单,要有适当的注释,使程序容易阅读。第四章 课程设计验收1、运行所设计的系统;2、回答指导老师的有关问题;3、上交 C 语言程序设计实践报告,以 A4 幅面打印出来;C 语言程序设计实践任务书第 5 页 共 7 页第五章 成绩评定C 语言程序设计实践的最后成绩共 100 分,由以下几个方面组成:编号 项目名称 分值 细则1 系统所实现的功能
10、202 程序结构的合理性与清晰程度 103 界面的美观、易操作程度 101 程序设计及运行 45 分4 回答老师的提问 51 格式规范 202 层次清晰 102 C 语言程序设计实践报告40 分3 语言通顺 103 独立完成情况 10 分 在老师或者同学的指导和帮助下才能完成课程设计者,酌情扣分4 遵守纪律情况 5 分 1、不按时上机者,每次扣除 1 分;2、无故不按时上机达三次者,取消本次 C 语言程序设计实践资格,成绩以零分记;注意:凡发现抄袭(源程序或 C 语言程序设计实践报告) ,抄袭者与被抄袭者的成绩皆以零分计,并向学院报告;C 语言程序设计实践任务书第 6 页 共 7 页第六章 界面示例(可以用英文显示)图 1 主界面图 2 系统主菜单图 3 数据查询界面C 语言程序设计实践任务书第 7 页 共 7 页中南大学C 语言程序设计实践报告题 目 学生姓名 指导教师 学 院 专业班级 完成时间