这到题是河北工业大学的不知道什么题!我看完后一点感觉没有!有人能帮看看吗?
课程设计任务书
一、题目:选取参加问卷调查的学生(23题)
二、目的与要求
1. 目的:
通过编写程序选取参加问卷调查的学生,培养学生综合利用C++语言进行程序设计的能力,熟悉数组的操作方法,加强函数的运用,提高软件系统分析能力和程序文档建立、归纳总结的能力。
2. 基本要求:
(1)要求用C++语言编程,在Visual C++环境下调试完成;
(2)要求按照程序功能分成几个功能模块来实现,各个功能模块分别使用函数来完成。
三、设计方法和基本原理
1. 课题功能描述
学校中要请一些同学做一项问卷调查,假设学校学生的学号范围为1到1000的整数。为了调查的客观性,先用计算机生成了N个1到1000之间的随机整数(N≤200),对于其中重复的整数,只保留一个,把其余相同的整数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。输入N,最后输出按学号从小到大排序的参加调查的学生学号及参加问卷调查学生的人数。
2. 问题详细描述
程序运行时,由用户输入随机产生的数据的个数N,然后程序产生N个1到1000范围内的随机整数、去掉其中的重复数、排序,按学号从小到大排序输出参加调查的学生学号及人数。
3. 问题的解决方案
按照程序要求,主要解决产生随机数、去掉重复数和排序问题。
本程序应采用模块化设计方法,设计几个功能模块。例如方案一(仅供参考):
产生N个1到1000范围内的随机整数
去掉N个数中的重复数
使用冒泡法可选择法按从小到大的顺序排序
例如方案二(仅供参考):
产生N个1到1000范围内的随机整数
使用插入排序法:边排序边去掉重复数
主函数中控制输入、函数调用和输出。
四、主要技术问题的描述
根据三的分析,主要问题在于:
1) 产生N个1到1000范围内的随机整数
使用rand()函数(无参)可产生随机整数,利用求余运算得到1到1000范围内的随机数。
为使每次运行程序,rand()函数产生不同的随机数,要调用一次srand函数:
srand(time(NULL));
这些函数涉及到的头文件有
#include <stdlib.h>
#include <time.h>
2) 可利用双循环去掉N个数中的重复数
五、创新要求
实现程序功能后,可进行创新设计:
1) 使用多文件,即主函数和各个函数分别存放在不同的.cpp文件中,在头文件中进行函数原型声明;
2) 可将1到1000对应1000个学生的姓名,最后按学号从小到大的顺序输出参加调查的学生学号和姓名。
[求助]一个河北工业的变态题(我自己的感觉!)。