- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河北工业大学计算机软件技术基础(VC)2012年课程设计报告
学院 信息工程学院 班级 电技111班 姓名 吴迪 学号 112016 成绩____
一、题目:
混合数据排序(03)
二、设计思路
1、总体设计
分析程序的功能
开发一个排序程序,用户输入长度(数据个数)可变的数据,输入字母,则按字符排序;输入数字,则按数字排序;输入字母和数字的混合数据,则首先区分数字和字母,然后各自排序。
系统总体结构:
本课程设计用到了函数调用、冒泡法排序、for循环、new函数、以及if函数等等,成功实现了混合数据的区分与排序,并可由用户自己选择升序亦或降序。
此程序包涵main函数,shengxu函数,jiangxu函数,bubblesort函数。
此程序先用new函数来申请一个动态空间,存放数据,再输入一个长度不定的数据,存在这个空间,对这些数据进行处理。
通过ASCII码值对输入的数据进行分类(分为字母和数字两类)并用冒泡法排序后输出。
一轮排序后由用户选择是继续下一轮排序还是退出程序。
模块 函数名称 冒泡法排序 bubbleSort 升序排序 shengxu 降序排序 jiangxu 主函数 main
2、各功能模块的设计:说明各功能模块的实现方法
1)BubbleSort函数
对分类好的数据进行排序:从第一个数据开始,对数组中两两相邻的数据进行比较,如q[0]与q[1]比较,若q[0]大于q[1],则q[0]与q[1]交换,较大的数向后移动,然后q[1]与q[2]比较……直到q[n-2]与q[n-1]比较结束,这样就形成了一个有序数组。
shengxu函数
输入n个数据。
如果输入的数据ASCII码值满足(q[i]=Aq[i]=z),即m==n,则说明数据全部为字母,只对字母进行升序排序,其中输出时for(i=0;in;i++)。
如果输入的数据ASCII码值不是全部满足(q[i]=Aq[i]=z) ,即(mnm0),则说明数据中既有数字又有字母,则按照ASCII码值升序排序后再根据ASCII码值分别输出,if(q[i]=Aq[i]=z)输出字母,if(q[i]=0q[i]=9)输出数字,输出时for(i=0;in;i++)。
如果输入的数据ASCII码值都不满足(q[i]=Aq[i]=z),则说明输入的数据都为数字,则只对数字升序排序,其中输出时for(i=0;in;i++)。
3) jiangxu函数
降序与升序类似,只是输出时for(i=n-1;i=0;i--)。
4)main函数
用new函数来申请一个动态空间,存放数据,再输入一个长度不定的数据,存在这个空间,调用shengxu函数和jiangxu函数对数据进行处理。用switch函数,输入“1”执行升序,输入“2”执行降序。
程序执行一次后用delete运算符释放内存空间。
按照提示还可以进行下一轮排序。
5)创新设计部分
能对纯数字进行排序,能对字母进行排序,能对字母和数字的混合数据进行排序。
运用了new函数分配了动态空间,能对不定长度的数据排序。
运用多个函数调用,使程序简洁高效。
能连续进行数据的排序。
3、设计中的主要困难及解决方案
设计中需要对不定长度的数据分配内存,通过查阅资料运用new函数解决了此问题。
对混合数据的分开排序遇到困难,通过老师讲过的知识想到可以运用ASCII码值区分数据并分别输出。
4、你所设计的程序最终完成的功能
说明你编制的程序能完成的功能
能对不定长度的数字和字母的混合数据进行排序,也能对纯数字或纯字母进行排序,并且用户可以自己选择升序或降序,还可以连续输入数据并排序,可以随时退出。
准备的测试数据及运行结果
三、程序清单
1)main函数
void main()
{
int n,x,a;
for(a=2;a!=0;)
{
char *q;
cout\n**************************************************\n; cout\n****************03混合数据排序 *****************\n;
cout请输入需要排序的数据个数: ;
cinn;
cout请输入数据:;
if((q=new char [n]) == 0) //new函数 向系统申请动态空间
{
coutThere is not full memory!\n;
exit(1);
}
您可能关注的文档
- (HSE管理文件)FREP-04-HSE-2018.doc
- (HSE管理文件)FREP-04-HSE-2019.001.doc
- (HSE管理文件)FREP-04-HSE-2019.003.doc
- (HSE管理文件)FREP-04-HSE-2020.doc
- (HSE管理文件)FREP-04-HSE-2021.001.doc
- (HSE管理文件)FREP-04-HSE-2021.doc
- (HSE管理文件)FREP-04-HSE-2022.doc
- (HSE管理文件)FREP-04-HSE-2023.doc
- (HSE管理文件)FREP-04-HSE-2027.doc
- (HSE管理文件)FREP-04-HSE-2029.doc
- GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 中国国家标准 GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 《GB/T 22069-2024燃气发动机驱动空调(热泵)机组》.pdf
- GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- 《GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法》.pdf
- GB/T 1148-2024内燃机 铝活塞.pdf
- 中国国家标准 GB/T 1148-2024内燃机 铝活塞.pdf
文档评论(0)