综合程序课程设计题目汇总1
- 格式:doc
- 大小:64.00 KB
- 文档页数:11
题目1 使用菜单选择程序菜单是应用程序的界面,控制语句用来改变程序执行的顺序,是实现结构化程序设计的基础。
设计一个比较实用的菜单,通过菜单选择不同的功能。
设计分为两步:首先设计一个含有多个菜单项的菜单演示程序,然后再为这些菜单项配上相应的功能。
一、设计一个菜单程序(1)菜单内客程序运行后,给出6个菜单项的内容和输入提示。
1.FindNum2.FindRoot3.Detective4.Bear5.Diamond6.Goodbye!Input 1-6:(2)设计要求使用数字1-6来选择菜单项,其他输人则不起作用。
二、增加菜单项的处理功能以设计的菜单为基础,增加菜单项的处理功能。
菜单项设计要求这其实是5道编程题,目的是锻炼使用控制语句的能力。
(1)FindNum一只老鼠咬坏了账本,公式中符号口代表是被老鼠咬掉的地方。
要想恢复下面的等式,应在口中填上哪个相同的数字?3口×6237=口3×3564利用计算机的计算速度快的特点,把所有可能的数都试一下,从中找出符合条件的数。
这就是所谓的穷举法。
某位的数字只有0-9个数字,显然已经排除了为0的可能性,将1--9种可能性拿来试验,即可找到合适的数字。
由此可见,就是寻找满足下式面的i值:(30+i)×6237=(10×i+3)×3564(2)FindRoot这里要求编制一个求方程ax2+bx+c=0的根的程序。
一般将系数设计成float型,可以把变量设为double型,使用库函数sqrt求平方根,sqrt在头文件math.h中定义。
假设d=b×b-4×a×c可以根据d大于、等于或小于零来决定求解方法。
if(d>0){//有两个不相等的实数解}else if ( d = = 0 ){//有两个相等的实数解}else{//有两个不相等的虚数解}(3)Detective这是一道侦探题。
一辆汽车憧人后逃跑。
程序设计实践题目1、题目描述 本文旨在提供一些程序设计实践题目,通过解决这些问题来提升编程能力和实践经验。
以下是几个题目的描述,可以根据个人兴趣和能力选择其中之一或多个进行实践。
2、题目一:学生成绩管理系统 设计一个学生成绩管理系统,要求可以录入学生信息(包括学号、姓名、性别、年龄等),并能对学生的成绩进行录入和查询。
系统应该能够计算学生的总分和平均分,并能根据学生的总分排序输出学生名单。
3、题目二:电影票订购系统 设计一个电影票订购系统,用户可以浏览电影列表,选择心仪的电影进行订购。
系统应该能够记录用户的订购信息,包括电影名称、场次、座位号等,并提供相应的票价计算和支付功能。
4、题目三:图书借阅管理系统 设计一个图书借阅管理系统,要求能够记录图书馆的图书信息(包括书名、作者、ISBN等)和读者信息(包括姓名、学号、借阅情况等)。
系统需要提供图书的借阅和归还功能,并能查询读者的借阅记录和图书的库存情况。
5、题目四:购物车系统 设计一个购物车系统,用户可以将商品加入购物车,进行结算和支付。
系统应该记录用户的购物车信息,包括商品名称、数量、价格等,并提供相应的结算和支付功能。
6、题目五:餐厅订餐系统 设计一个餐厅订餐系统,用户可以在菜单中选择菜品进行订餐。
系统应该能够记录用户的订餐信息,包括菜品名称、数量、价格等,并提供相应的计算总价和支付功能。
7、题目六:学生选课系统 设计一个学生选课系统,要求能够记录学生的选课信息(包括学生姓名、学号、所选课程、授课教师等)和课程信息(包括课程名称、学分、授课时间等)。
系统应该提供选课和退选的功能,并能查询学生的选课情况和课程的选课人数。
总结: 通过完成以上几个程序设计实践题目,可以提升自己的编程能力和实践经验。
每个题目都有其独特的需求和挑战,通过解决问题来思考和实践,将帮助我们更好地理解和掌握编程技巧和方法。
无论选择哪个题目,都应该注重代码的可读性和可维护性,并且注重错误处理和异常情况的处理。
《程序设计课程设计》参考题及要求一、本课程设计的性质、目的、任务本课程设计的性质是一门是计算机专业的实践教学平台课程,它是《程序设计基础》、《面向对象程序设计》及其相关实验课程的后继课程。
通过本课程的教学实践,使学生达到加深对计算机高级语言程序设计特点、结构化程序设计方法和面向对象程序设计的理解、提高学生对可视化编程的动手能力之目的。
本课程将充分考虑程序设计课程设计的各个方面和特点,特别重视探索设计过程中的可视化操作解决方案,要求学生有一定的普通数学解题能力并能掌握将一般数学模型转换为程序的步骤和设计方法,通过本设计课程,熟悉计算机的基本操作和初步的设计能力,使学生既具备较全面的计算机程序设计理论知识,又掌握实际编程的应用动手技能。
本课程设计的任务是结合《程序设计基础》、《面向对象程序设计》理论课和实验课教学以及课程的有关知识,完成若干个综合设计内容,提交有关设计文档、源程序代码和总结报告。
二、本课程设计的基本理论(基础理论和基本方法)本课程设计的基本理论和基本方法为:1)C程序设计的基本语法,包括“分支语句”、“循环语句”、“排序语句”、“数组语句”、“指针语句”、“读和写磁盘文件语句”等;2)结构化程序设计方法、程序设计的系统分析方法、一般的数学模型转换为程序的步骤和设计方法;3)面向对象方法学的基本概念(对象、消息和方法、类、继承性、封装性、多态性);4)面向对象可视化程序设计。
先导课程为《高等数学》、《计算机导论》、《程序设计基础》、《面向对象程序设计》以及相关实验等课程,本课程为后续与程序设计有关的课程打下基础,是《面向对象分析与设计》、《面向对象分析与设计实验》和《高级数据库应用技术》、《网络应用软件开发》等课程的先导课程。
三、程序与要求课程设计的程序与要求主要内容如下:内容一:“简单学生管理系统设计”本设计内容可用程序设计基础方法完成。
系统功能简介:本系统有包括7个主要功能供给用户,用于管理学生信息。
程序设计课程设计题目一、课程目标知识目标:1. 让学生掌握程序设计的基本概念,如变量、数据类型、运算符和表达式;2. 培养学生理解并运用顺序结构、选择结构和循环结构进行程序设计;3. 让学生了解并能运用程序设计中的常用算法和函数。
技能目标:1. 培养学生运用编程软件进行程序编写、调试和运行的能力;2. 培养学生通过程序设计解决实际问题的能力,提高问题分析、设计和实现的能力;3. 培养学生团队合作意识,学会与他人共同完成程序设计项目。
情感态度价值观目标:1. 培养学生对程序设计的兴趣和热情,激发学生学习编程的积极性;2. 培养学生面对编程困难时,具有坚持不懈、勇于探索的精神;3. 培养学生具备良好的编程习惯,注重代码规范和程序优化。
课程性质分析:本课程为程序设计入门课程,旨在让学生了解编程的基本概念和方法,培养编程思维和解决问题的能力。
学生特点分析:学生为初中年级,具有一定的逻辑思维能力和数学基础,对新鲜事物充满好奇,但注意力容易分散,需要通过趣味性教学和实际操作来提高学习兴趣。
教学要求:1. 注重理论与实践相结合,让学生在实践中掌握编程知识;2. 采用任务驱动法,引导学生主动探索、合作学习;3. 结合生活实际,设计有趣、实用的编程案例,提高学生的学习积极性。
二、教学内容本课程教学内容分为以下三个部分:第一部分:程序设计基础1. 程序设计基本概念:变量、数据类型、运算符和表达式;2. 算法基础:顺序结构、选择结构和循环结构;3. 函数和模块:了解函数定义、调用和返回值,认识模块的作用和用法。
第二部分:编程实践1. 编程环境介绍:熟悉编程软件的使用,如安装、配置和调试;2. 编程案例:设计趣味性、实用性的编程案例,如计算器、小游戏等;3. 团队合作:分组进行项目实践,培养学生协作能力。
第三部分:程序设计提高1. 数据结构:了解数组、列表等基本数据结构的使用;2. 算法进阶:学习排序、查找等常用算法;3. 程序优化:培养学生良好的编程习惯,注重代码性能优化。
程序设计课程设计题目一、教学目标本课程旨在通过程序设计的学习,让学生掌握编程基础,培养其逻辑思维和问题解决能力。
具体目标如下:知识目标:使学生理解编程基本概念,包括变量、数据类型、控制结构等;掌握至少一种编程语言,如Python或C++,并能够运用其进行简单的程序设计。
技能目标:培养学生编写清晰、可读性强的代码能力;通过编程实践,提升学生调试和优化程序的能力;训练学生进行算法分析和设计的基本技能。
情感态度价值观目标:培养学生对计算机科学的兴趣,增强其创新意识和团队合作精神;通过解决实际问题,培养学生负责任的使用计算机技术的态度,增强其对信息技术发展的适应性。
二、教学内容教学内容将依据课程目标进行选择和,确保内容的科学性和系统性。
具体内容安排如下:第1-2课时:编程基础概念,介绍编程语言和开发环境;第3-4课时:变量和数据类型,学习基本的数据表示方法;第5-6课时:控制结构,掌握条件判断和循环逻辑;第7-8课时:函数和模块,理解代码复用和模块化概念;第9-10课时:算法设计与分析,初步学习算法的基本概念;第11-12课时:编程实践,完成小型项目,巩固所学知识。
三、教学方法为了激发学生的学习兴趣和主动性,将采用多种教学方法结合的方式进行教学:1.讲授法:用于传授基础知识和概念;2.讨论法:通过问题讨论,加深对编程难点的理解;3.案例分析法:分析现实中的编程问题,培养解决问题的能力;4.实验法:通过动手编写代码,提升实际编程技能。
四、教学资源教学资源的选取将服务于教学内容和教学方法的实施:1.教材:《Python编程:从入门到实践》或《C++ Primer Plus》;2.参考书:提供额外的学习资料和编程案例;3.多媒体资料:使用教学视频和在线教程,辅助学生自学;4.实验设备:配置必要的计算机和网络环境,以便进行编程实践。
五、教学评估为了全面反映学生的学习成果,将采用以下评估方式:1.平时表现:通过课堂参与、提问和小组讨论等方式评估学生的学习态度和积极性;2.作业:布置编程练习和项目任务,评估学生的编程能力和问题解决能力;3.考试:定期进行理论考试和实践考试,评估学生对课程知识的掌握程度;4.自我评估:鼓励学生进行自我反思,评估自己在学习过程中的进步和不足。
程序设计综合设计题目详解1. 大整数加法计算两个整数m 、n 的和,0<=m,n<=1050。
输入输出格式:本题只有1组输入数据,每组数据只有1行,每组数据包含两个0到1050之间的大整数,两个整数中间用1个空格分隔。
对于每组数据,输出一行,表示两个大整数的和。
样例输入:input.txt12345678909876543211234111222 98765432101234567891234111222 样例输出:output.txt1111111110111111111024682224442. 舞伴问题:假设在周末舞会上,男士们(m 人)和女士们(n 人)进入舞厅时,各自排成一队。
跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。
若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。
现要求写一算法模拟上述舞伴配对问题。
并m 和n 存在什么条件时,第x 个(1<=x<=m )男生才有可能和他心仪的第y 个(1<=x<=n )女生跳舞,在第几首曲子时?3. 一元多项式加法:有两个一元多项式P(x)和Q(x)需要相加,一类情况是项数很多,次数比较连续的情况,另一类是项数不多,但次数不连续的情况,试分别设计合理的数据结构对其进行求解。
测试数据:(1)P(x)=201(1)i i i x =+∑ Q(x)=2011(23)i i i x -=+ ∑(2)P(x)=1005611100282345x x x x +-+ Q(x)=10056122558335x x x x --+4 约瑟夫环问题:已知n 个人(以编号1,2,3...n 分别表示)围坐在一张圆桌周围。
从编号为k 的人开始报数,数到m 的那个人出列;他的下一个人又从1开始报数,数到m 的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。
请给出出列人的编号序列。
5. 不浪费空间的矩阵乘法一直两个矩阵X m n ⨯ 和Y n p ⨯ 要相乘,但不允许事先分配一个很大空间的二维数组来存储矩阵,而是要动态分配实际数据需要占有的空间进行矩阵乘法。
程序课程设计题目一、教学目标本课程的教学目标是使学生掌握程序设计的基本概念、原理和方法,培养学生运用编程语言解决实际问题的能力。
具体目标如下:1.知识目标:(1)了解程序设计的基本概念,如算法、编程语言、编译器等。
(2)掌握至少一种编程语言的基本语法和编程技巧。
(3)理解程序设计的基本原则,如模块化、抽象化、 encapsulation等。
2.技能目标:(1)能够使用编程语言编写简单的程序,解决实际问题。
(2)具备调试和优化程序的能力。
(3)学会使用版本控制系统进行代码管理和协作开发。
3.情感态度价值观目标:(1)培养学生对程序设计的兴趣,激发创新意识。
(2)培养学生团队合作精神,提高沟通与协作能力。
(3)培养学生具有良好的编程习惯,提高职业素养。
二、教学内容本课程的教学内容主要包括以下几个部分:1.编程语言基础:介绍常用的编程语言,如C++、Java、Python等,让学生掌握至少一种编程语言的基本语法和编程技巧。
2.数据结构与算法:讲解常用的数据结构(如数组、链表、栈、队列等)和算法(如排序、查找等),培养学生运用编程语言解决实际问题的能力。
3.程序设计原则:介绍模块化、抽象化、 encapsulation等程序设计原则,引导学生养成良好的编程习惯。
4.软件工程:讲解软件开发的基本流程,如需求分析、设计、编码、测试等,培养学生具备软件开发的基本素养。
5.项目实践:安排一定的课时进行项目实践,让学生将所学知识应用于实际项目中,提高解决实际问题的能力。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:教师讲解基本概念、原理和方法,让学生掌握程序设计的基础知识。
2.案例分析法:通过分析典型案例,让学生学会运用编程语言解决实际问题。
3.实验法:安排实验课,让学生动手编写程序,培养实际编程能力。
4.讨论法:学生进行小组讨论,促进团队合作和沟通能力的培养。
四、教学资源为实现本课程的教学目标,我们将采用以下教学资源:1.教材:选用权威、实用的教材,如《程序设计原理与应用》、《编程之美》等。
程序设计课程设计题目一、教学目标本章节的教学目标包括以下三个方面:1.知识目标:使学生掌握程序设计的基本概念、原理和方法,理解程序设计在实际应用中的重要性。
2.技能目标:培养学生具备编写简单程序的能力,能够运用程序设计解决实际问题。
3.情感态度价值观目标:激发学生对程序设计的兴趣,培养学生的创新精神和团队合作意识,使学生认识到程序设计在现代社会的重要地位。
二、教学内容本章节的教学内容主要包括以下几个方面:1.程序设计基本概念:介绍程序、算法、编程语言等基本概念。
2.编程语言基础:学习一种编程语言的基本语法和用法,如Python、C++等。
3.算法设计与分析:学习常用的算法设计方法和分析手段,如贪心算法、动态规划等。
4.程序设计实践:通过完成实际项目,培养学生编写程序解决实际问题的能力。
三、教学方法为了实现本章节的教学目标,我们将采用以下教学方法:1.讲授法:用于讲解程序设计的基本概念、原理和方法。
2.案例分析法:分析实际案例,让学生了解程序设计在实际应用中的作用。
3.实验法:让学生动手编写程序,培养实际编程能力。
4.讨论法:学生进行分组讨论,促进学生之间的交流与合作。
四、教学资源为了支持本章节的教学,我们将准备以下教学资源:1.教材:选用权威、实用的程序设计教材,为学生提供系统性的学习资料。
2.参考书:提供丰富的参考书籍,拓宽学生的知识视野。
3.多媒体资料:制作精美的PPT、教学视频等多媒体资料,提高课堂教学效果。
4.实验设备:配置充足的计算机等实验设备,保证学生实验实践的需求。
五、教学评估本章节的教学评估将采用以下方式:1.平时表现:评估学生的课堂参与度、提问回答、小组讨论等,占总评的30%。
2.作业:布置适量的作业,评估学生的编程实践能力,占总评的30%。
3.考试:进行期中和期末考试,评估学生对课程知识的掌握程度,占总评的40%。
评估方式将力求客观、公正,全面反映学生的学习成果。
六、教学安排本章节的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保学生系统地掌握程序设计知识。
程序设计基础课程设计参考题目(如果选择第三组题目每位同学需选择三题以上)第一组1.职工信息管理系统设计职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:系统以菜单方式工作职工信息录入功能(职工信息用文件保存)--输入职工信息浏览功能--输出v查询和排序功能:(至少一种查询方式) --算法l 按工资查询2 按学历查询等职工信息删除、修改功能(任选项)2.图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作图书信息录入功能(图书信息用文件保存)--输入图书信息浏览功能--输出查询和排序功能:(至少一种查询方式)--算法l 按书名查询2 按作者名查询图书信息的删除与修改(可选项)3.学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:系统以菜单方式工作学生信息录入功能(学生信息用文件保存)---输入学生信息浏览功能---输出查询、排序功能---算法按学号查询按姓名查询学生信息的删除与修改(可选项)4.学生选修课程系统设计假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。
试设计一选修课程系统,使之能提供以下功能:系统以菜单方式工作课程信息录入功能(课程信息用文件保存)--输入课程信息浏览功能--输出查询功能:(至少一种查询方式)--算法按学分查询按课程性质查询学生选修课程(可选项)5.算术计算器的实现实现过程和步骤提示:首先实现一个简单的算术器1。
功能说明:程序首先显示计算器界面,并等待用户输入一个算术计算式(见图1所示)。
假如用户输入22+1<CR>,程序将在计算器的显示屏上输出计算结果(见图2所示)。
程序设计综合训练综合题1.饭卡管理系统问题提出:学校等大单位集体食堂买饭时间非常集中,大家都知道如果食堂使用饭票卖饭,就要排长队等候,而且还要经过先去买饭票等麻烦的经历,因此食堂提出使用计算机进行管理,食堂用饭卡卖饭,不仅提高卖饭速度,还更易于管理,减少不必要的麻烦,同时减轻管理人员的工作负担。
系统要求实现如下功能:1、添加新饭卡:添加若干人的饭卡号、姓名、金额、挂失信息,要求饭卡号是唯一的,新饭卡号和已有饭卡号不能重号。
2、买饭:要求用户输入饭卡号、饭费,然后系统自动从该人的饭卡中减去饭钱并分别显示饭前后的金额,如果原来饭卡中的余额不足5元,则不能买饭,而且显示“余额不够,请续钱!”,如果挂失信息为真,则显示“本卡已冻结!”。
3、续钱:要求用户输入饭卡号、续钱额,续钱完成后分别显示续钱前后的金额。
4、注销旧饭卡。
5、设置与解除挂失:要求用户输入饭卡号和挂失信息,然后更新该饭卡的挂失信息。
6、创新功能:此功能学生可自由发挥,根据本组爱好增加与本题相关的新功能7、退出系统。
2.交规考试系统问题提出:为了随时用相同标准检查考生交规达标情况,并减轻考官出题和判卷的负担,用计算机出题和判卷。
假设已用记事本建立了文件file1.dat,该文件中存选项内容、正确答案。
系统要求实现如下功能:考试系统分管理人员子系统和考生考试子系统,功能如下:1、确认管理者身份:当密码(假设密码为222222)正确时,进入管理人员子系统,并进行管理员的工作。
管理员工作包括:工作1,报名参加考试。
从键盘输入考生身份证号、姓名、年龄、性别,系统根据年龄确定该考生能否报名成功,如果年龄在18—70岁之间,则显示“报名成功!”,并将该考生信息存入文件file2.dat中。
工作2,显示所有考生信息。
工作3,打印考试合格通知单,当成绩大于等于90分时,才可以打印。
工作4,退出系统。
2、确认考试身份,当考试身份证号在file2.dat文件中存在时,进入考试考试子系统,并开始考试。
*注意 2人一组共同完成一个题目,任务书要求分工必须明确。
对于题目比较容易的,也可1人一个题目。
可以从如下题目中选择,教师也可以自拟题目,但必须达到足够难度。
题目设计:赵敏孙成立题目1、计算器程序设计[问题描述]:设计一个多功能计算器,可以完成基本的计算。
[设计要求]:1.具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。
依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。
结果可以作为下一个运算的第一运算数。
按‘C’清屏,按‘R’返回菜单。
例如:输入:2+5输出:72.实现单运算符表达式计算的功能。
输入的操作数可以包含整数或浮点数。
输入表达式如下:例如:输入:2+5输出:73.除数为零或者输入的不是数字时进行异常处理题目2、两个源程序的相似性判别[问题描述]对于两个C语言的源程序清单,用哈希表的方法分别统计两个程序中使用C语言关键字的情况,并最终按定量的计算结果,得出两份源程序清单的相似性。
[基本要求]C语言关键字的哈希表可以自建,也可以利用《数据结构及应用算法教程》(严蔚敏陈文博编著清华大学出版社)书中8.10的哈希表。
此题的工作主要是扫描给定的源程序,累计在每个源程序中C 语言关键字出现的频度。
在扫描源程序过程中,每遇到关键字就查找哈希表,并累加相应关键字出现的频度。
为保证查找效率,建议自建哈希表的平均查找长度ASL 不大于2。
扫描两个源程序所统计的所有关键字不同频度,可以得到两个向量。
如下面简单的例子所示: 关键字程序1种关键字频度 程序2种关键字频度 哈希地址0 1 2 3 4 5 6 7 8 9X 1=[4,3,0,4,3,0,7,0,0,2] X 2=[4,2,0,5,4,0,5,2,0,1]通过计算向量X1和X2的相对距离来判断两个源程序的相似性,相对距离的计算方法是1/21212121/21/21/21/2121122||(()())||||()()T T T X X X X X X s X X X X X X ---==∙∙∙,T 表示向量的转置。
按例子所给的数据,s ≈0.13。
显然当X 1=X 2时,s=0,反映出可能是同一个程序;s 值越大,则两个程序的差别可能也越大。
[测试数据]做几个编译和运行都无误的C 程序,程序之间有相近的和差别大的,用上述方法求s,并对比差异程度。
[实现提示]本题的很大工作量将是对源程序扫描,区分出C 程序的每一关键字。
可以为C 语言关键字集建一棵键树,扫描源程序和在键树中查找同步进行,以取得每一个关键字。
题目3、 学生成绩管理系统现有学生成绩信息,内容如下姓名学号语文数学英语政治张明明 01 67 78 82 90李成友 02 78 91 88 80张辉灿 03 68 82 56 87王露 04 56 45 77 67陈东明 05 67 38 47 70…. .. .. .. …请用C编写一系统,实现学生信息管理,软件的入口界面应包括如下几个方面:(一)功能要求:(1)信息维护:要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。
此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息(2)信息查询:要求:查询时可实现按姓名查询、按学号查询(3)成绩统计:要求:A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。
(4)排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)(使用多种方法排序者,加分)(二)其它要求:(1)只能使用C或C++语言,源程序要有适当的注释,使程序容易阅读(2)采用文本菜单界面(3)学生可增加新功能模块题目4、迷宫路由游戏(1) 问题描述设计算法生成一个N×M(N行M列)的迷宫,并完成迷宫的组织和存储。
实现两种不同的迷宫路由算法:广度优先,深度优先算法。
并比较(包括理论和实验)三种方法的时空复杂性。
(2) 课程设计目的理解栈的应用,理解深(广)度优先思想,理解问题的理论和实验分析。
(3) 基本要求①N和M是用户可配置的,缺省值为50和50。
②迷宫的入口和出口分别在第0行和第N-1行上,随机选择。
③生成的迷宫要求是连通的。
④实现图形化界面(可用VC++,也可用C语言的图形库)。
⑤三种方法的试验比较应该在多个迷宫实例上(尤其可以选一些特定的迷宫)。
(4) 实现提示多考虑栈上的运算。
题目5、通信录查询系统【问题描述】设计散列表实现通讯录查找系统。
(1) 设每个记录有下列数据项:电话号码、用户名、地址;(2) 从键盘输入各记录,分别以电话号码为关键字建立散列表;(3) 查找并显示给定电话号码的记录;(4) 通讯录信息文件保存;(5) 要求人机界面友好,使用图形化界面;【实现提示】主函数:根据选单的选项调用各函数,并完成相应的功能。
Menu()的功能:显示英文提示选单。
Quit()的功能:退出选单。
Create()的功能:创建新的通讯录。
Append()的功能:在通讯录的末尾写入新的信息,并返回选单。
Find():查询某人的信息,如果找到了,则显示该人的信息,如果没有则提示通讯录中没有此人的信息,并返回选单。
Alter()的功能:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。
Delete()的功能:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
List()的功能:显示通讯录中的所有记录。
Save()的功能:保存通讯录中的所有记录到指定文件中。
Load()的功能:从指定文件中读取通讯录中的记录。
题目6、工资报表管理系统已知N个职工的姓名、职工编号、基本工资、附加工资和扣除工资。
要求:编写函数:①计算每个职工的实发工资;②按职工编号由小到大顺序排列,相应数据也要随之调整;③要求输入一个职工编号,用折半查找法找出该职工的数据,从主函数输入要查找的职工号,输出该职工的数据;④将排列后的所有职工的数据存放在磁盘文件“gzbb.dat”中,磁盘文件的格式如下:Gong Zi Bao Biao************************************************************ bh xm jbgz fjgz kcgz sfgz802211 zhou peng……………………………………*************************************************************name:XX-XX-XXdate:XX-XX-XX注意:在name与date中填入个人姓名与制表日期以上各个功能均编写成子函数,由主函数调用实现。
根据题意此题用5个函数完成:●main 函数:总控函数●compute函数:计算函数(求每个职工的实发工资)●sort函数:排序函数(按职工编号从小到大排列)●search函数:查找函数(按给定的职工编号进行查找)●output函数:输出排列后的所有职工数据(建立磁盘数据文件)取系统日期函数:struct date d ; getdate(&d) struct date 在头文件dos.h中定义。
题目7、药店的药品销售统计系统【问题描述】设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。
【实现提示】在本设计中,首先从数据文件中读出各药品的信息记录,存储在顺序表中。
各药品的信息包括:药品编号、药名、药品单价、销出数量、销售额。
药品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可采用基数排序法。
对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、快速排序,直接选择排序等方法。
药品信息的元素类型定义:typedef struct node{ char num[4]; /*药品编号*/char name[10]; /*药品名称*/float price; /*药品单价*/int count; /*销售数量*/float sale; /*本药品销售额*/}DataType;存储药品信息的顺序表的定义:typedef struct{ DataType r[MaxSize];int length;}SequenList;题目8、电视大赛观众投票及排名系统【问题描述】在很多的电视大赛中,通常当选手表演结束后,现场观众通过手中的按键对参赛选手进行投票,然后对选手获得的票数进行统计,从高到低进行降序排序,从而自动产生冠军、亚军和季军。
现在要求编写一程序模拟实现上述系统的功能。
【实现提示】在本例中,首先输入参赛选手的人数(范围为1-9个),然后根据人数通过malloc或new函数来开辟存放选手信息的顺序表。
将选手的编号和姓名依此存入顺序表单元中,观众通过按键进行投票,按’1’为1号选手投票,按’2’为2号选手投票,以此类推,以按’0’作为投票结束标志。
投票结束后进行排序,在此采用希尔排序,然后为每个选手计算名次,得票相同的名次也相同,(1)存储类型的定义参赛选手信息存储类型的定义:typedef struct node{char name[8]; /*选手姓名*/int num; /*选手编号*/int score; /*选手得分*/int tax; /*选手名次*/}Node;题目9、研究生初试录取系统设计问题描述研究生考试课程为4门,其中数学、外语、政治为统一命题,而专业基础课则根据不同的专业由招生学校自行命题。
国家对初试录取分数有总分要求(如某一年要求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷最低应达到40分,总分为150的试卷最低应达到65分)。
编程统计初试合格的人数,并按总分由高到低的顺序输出合格考生的信息。
基本要求程序运行时首先要求输入:考生姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩。
这些原始数据应保存到一个文件中。
然后输入:录取的总分要求,各课程的最低分数要求。
输出要求:过线考生的姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩及总分,这些信息应存放到另一个文件中。
测试数据程序应输入不少于10名考生的信息,其中应届生和历届生分别有若干名,并且都有合格和不合格的情况。
实现提示可定义一个考生类存放有关信息和实现相应的操作。
分数线数据(总分要求和各门课程的要求)可定义另外的类来存放,但应能被考生类及其派生类直接访问。
题目10、商品销售统计系统问题描述编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件),单价。