按百家姓将姓名排序 怎么用c++编程呀
基本要求:1)要求用C++语言编程,在Visual C++环境下调试完成;
2)要求按照程序功能分成几个功能模块来实现,各个功能模块分别使用函数来完成;
3)要求应用本课所讲授的程序设计语言知识来解决问题
4)使用cin和cout来实现输入输出(使用scanf和printf的为不合格)
为简化程序,只对百家姓的前四个姓“赵、钱、孙、李”进行排序。输入20个人的姓名,他们的姓为这四个姓中的某一个;排序原则:先按百家姓的顺序排序,如果姓相同,再按名的正常汉字顺序排序。例如,程序运行后的结果为:
排序后的姓名为:
赵冬梅
赵国良
赵雪
赵迎专
赵倩
赵璐佳
钱潮
钱川
钱朋钊
钱现冲
钱心
孙君啸
孙巍
孙亚星
李彧
李福德
李杰
李景洋
李荣顺
李彦航
2. 主要关键问题
为实现按“赵、钱、孙、李”顺序排序,可将这四个姓氏对应4个从小到大的整数(可为0,1,2,3或1,2,3,4等,只要是从小到大的整数即可),将输入的姓名中的姓查找到其对应的整数,然后按照这个整数进行排序,当该数相同(姓相同)时,再比较名进行排序。
3. 模块化设计
本程序应采用模块化设计方法,设计几个功能模块。例如(仅供参考):
输入函数:输入20个人的姓名
输出函数:输出20个人的姓名
获取姓的整数:查找姓对应的整数
排序函数:将20个姓名按规定的原则进行排序
四、创新要求
实现程序功能后,可进行创新设计(3项全部实现为创新):
1) 将姓名数目20改进为用户输入姓名个数n,最大不超过1000。将这n个人的姓名存入一文本文件,利用文件操作,从该文件中读取n个人的姓名
2) 扩展百家姓的数目,将4个姓扩展到100个。
3) 使用多文件,即主函数和各个函数分别存放在不同的.cpp文件中,在头文件中进行函数原型声明。