




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北工业大学计算机软件技术基础(VC)课程设计报告学院 机械学院 班级 测控103 姓名 李姗姗 学号 100221 成绩 _ _一、题目:按百家姓将姓名排序(24)二、设计思路1、总体设计1)分析程序的功能:本程序是为了实现按百家姓对姓名排序2)系统总体结构:主要思路是: xingsort.cpp(按姓“赵、钱、孙、李”对姓名进行排序)namesort,cpp(按名对姓名排序)main.cpp(主函数,输入、输出姓名,并对其他函数进行调用a.h(头文件,包括调用函数的声明) 。2、各功能模块的设计:主要由三功能模块组成。具体是:(1)a.h:在其中声明函数(2)main.cpp: 通过循环控制变量,对学生成绩进行输入和输出,以及选择结构的使用,实现不同函数功能的调用。(3)xing.cpp:按姓进行排序。(4)namesort.cpp:按名字进行排序。3、设计中的主要困难及解决方案1)困难1:从字符串中取出第一个字按姓排序。解决方案:汉字在数组中存储占两个字节,把字符串的前两个元素赋给一个数组,并把这个数组的最后一个元素赋为0,即可得到姓,然后即可按顺序排列。2)困难2:对多文件的使用,即主函数和各个函数分别存放在不同的.cpp文件中。解决方案:在头文件中进行声明,不能进行赋值运算,直接在主函数中进行赋值。4、你所设计的程序最终完成的功能1)对输入的姓名按百家姓进行排序。2)准备的测试数据如下:李丽 赵括 孙福 赵冬梅赵国良赵雪赵迎专赵倩赵璐佳钱潮钱朋钊钱现冲钱心孙君啸孙巍孙亚星李彧李福德李景洋李彦航运行结果:三、程序清单(1)a.h文件清单: int getxing(char a);void xingsort(char name2010,char name_sort2010,int n,int &k1,int &k2,int &k3,int &k4);void namesort(char a2010,int m,int n);(2)main.cpp文件清单: # include # include# include # includea.hvoid main()const N=20;char xmN10;cout请输入20个姓名: n;for(int h=0;h1)namesort(xm_sort,0,k1);if(k21) namesort(xm_sort,k1,k1+k2); if(k31) namesort(xm_sort,k1+k2,k1+k2+k3); if(k41) namesort(xm_sort,k1+k2+k3,k1+k2+k3+k4); /按名对姓名排序 cout排序后的结果:n;for(i=0;i20;i+)coutxm_sortin; /输出排好后的姓名(3)xing.cpp文件清单: # include# include# include#includea.hvoid xingsort(char xm2010,char xm_sort2010,int n,int &k1,int &k2,int &k3,int &k4)int i,j,k;k1=0;k2=0;k3=0;k4=0;char xmsort12010,xmsort22010,xmsort32010,xmsort42010;char d3;for(i=0;i20;i+)for(j=0;j2;j+)dj=xmij;dj=0; /把姓取出来if(strcmp(d,赵)=0) k=1;else if(strcmp(d,钱)=0) k=2;else if(strcmp(d,孙)=0) k=3; else if(strcmp(d,李)=0) k=4; /使相应的姓对应相应的数字if(k=1)for(j=0;j10;j+)xmsort1k1j=xmij;k1+; else if(k=2)for(j=0;j10;j+)xmsort2k2j=xmij;k2+; else if(k=3)for(j=0;j10;j+)xmsort3k3j=xmij;k3+; else if(k=4)for(j=0;j10;j+)xmsort4k4j=xmij;k4+; /把相应的姓放进对应的数组,并对姓计数 if(k1!=0)for(i=0;ik1;i+)for(j=0;j10;j+)xm_sortij=xmsort1ij;if(k2!=0) for(i=k1;ik1+k2;i+)for(j=0;j10;j+)xm_sortij=xmsort2i-k1j;if(k3!=0) for(i=k1+k2;ik1+k2+k3;i+)for(j=0;j10;j+)xm_sortij=xmsort3i-k1-k2j;if(k4!=0) for(i=k1+k2+k3;ik1+k2+k3+k4;i+)for(j=0;j10;j+)xm_sortij=xmsort4i-k1-k2-k3j; /把各姓从数组里取出并按顺序放进新数组(4)namesort.cpp文件清单: # include# include# include#includea.hvoid namesort(char a2010,int m,int n)char d10;int i,j;for(i=m;in-1;i+)for(j=i+1;j0) strcpy(d,ai); strcpy(ai,aj); strcpy(aj,d); /对同姓的姓名进行排序四、对该设计题目有何更完善的方案该程序功能比较齐全,在函数调用方面运用的比较成功。五、收获及心得体会1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全施工培训考核课件
- 改造提升整治工程方案(3篇)
- 安全文明驾驶学习培训课件
- 安全文明礼貌培训课件
- 猫眼部疾病知识培训内容课件
- 安全教育自评课件
- “周总理你在哪里”的呼唤声为何经久不绝
- 废物油桶改造工程方案(3篇)
- 安全教育民营企业培训课件
- 狂野大数据课件
- NEDD4在非小细胞肺癌EGFR-TKIs继发耐药中的作用机制与临床启示
- 车辆按揭押金合同协议
- 耳穴压豆法在临床中的应用
- 2024心肺复苏操作考核评分标准
- 2025春季学期国开电大专科《政治学原理》一平台在线形考(形考任务二)试题及答案
- 内镜标本规范处理
- 汽车电工电子基础电子教案2电流、电压和电位
- 2025年通力扶梯e1试题及答案
- 老年临床营养支持
- 发电厂继电保护培训课件
- 《李白的诗歌》课件
评论
0/150
提交评论