1、信息科学与技术学院信息科学与技术学院 程序设计基础课程设计报告程序设计基础课程设计报告 题目名称:题目名称: 数据排序数据排序 学生姓名:学生姓名: 学学 号号: : 专业班级:专业班级: 计科计科 1111 级级 2 2 班班 指导教师:指导教师: 20122012 年年 7 7 月月 4 4 日日 目录目录 1.课程设计题目与要求: 3 1.1 设计题目: 3 1.2 设计要求: 3 2 总体设计 4 3 详细设计: 5 3.1 数据结构设计 5 3.2 主模块设计 6 3.2.1 输入数据: . 6 3.2.2 字符串大小排序 7 3.2.3 整型数值大小排列: . 8 4 运行结果 9
2、 5、遇到问题及解决方案 . 12 6、小结 . 12 7、参考资料 . 12 1717 1.课程设计题目与要求课程设计题目与要求: 1.1 设计题目:设计题目: 编一通用排序程序,程序可以对任意类型的数值常数或字符串构成的行进行排序,通过人 机对话选择程序是按数值进行排序还是按字符顺序进行排序。排序是针对数据文件的。例 如: 初始数据为:12,24,9,128,3,76,345 按数值大小排序应为:3,9,12,24,76,128,345 按字符串大小排序应为:12,128,24,3,345,76,9 1.2 设计要求:设计要求: (1)只能使用 C/C+语言,源程序要有适当的注释,使程序容
3、易阅读 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好) (3)学生可自动增加新功能模块 (4)完成系统总结报告以及系统使用说明书 2 总体设计总体设计 功能框架图:功能框架图: 主函数 输 入 数值 1,2,3 输入 数据 插入 排序 函数 输出 退 出 函数 3 详细设计:详细设计: 3.1 数据结构设计数据结构设计 0 1 判断类型 排序 输出 结束 开始 输入数据 输入 123 判断是否继续 3.2 主模块设计主模块设计 3.2.1 输入数据:输入数据: 是 否 开始 输入数据 判断 结束 3.2.2 字符串大小排序字符串大小排序 开始 传入字符数据 strcmp(ai,ai+
4、1)0 Str1=ai; ai=ai+1; ai+1=str1 输 出 字 符 串 判断 i+ 3.2.3 整型数值大小排列:整型数值大小排列: 是 否 开始 传入整型数据 aiai+1 k=ai; ai=ai+1; ai+1=k 输 出 字 符 串 判断 i+ 4 运行结果运行结果 5、遇到问题及解决方案、遇到问题及解决方案 本程序是运用类编写但与平时作业不同的是难度较大,涉及内容较广。特别是 要用到动态链表和对文件进行操作。而链表老师只是平时在课堂上简单介绍, 对文件的操作老师又没讲。所以就只有靠我们自学,在编程期间我自己去图书 馆查阅相应的资料,逐渐掌握了动态链表。通过看教材第 13 章输入输出流