C语言课程设计电影院座位分配 1_第1页
C语言课程设计电影院座位分配 1_第2页
C语言课程设计电影院座位分配 1_第3页
C语言课程设计电影院座位分配 1_第4页
C语言课程设计电影院座位分配 1_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电影院座位分配一、目的 通过课程设计,加深对C语言程序设计课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,包括:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);库函数应用(时间函数、绘图函数以及文件的读写操作函数等);复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。二、需求分析()输入的形式和输入值的范围:以数字字符的形式输入,选择是电脑自动分配还

2、是用户输入希望的座位号。若是用户自己选择,则还需要输入座位号112。(2)输出形式:首先要输出座位的排列形式,其次是所分配的座位号或者自己希望的座位号。(3)程序所能达到的功能:程序应该显示可用座位的分配图,并用x来标记一个已分配的座位。程序提示用户运用两种方式来选择座位号,一是电脑自动分配,那么就产生一个随机数(要保证该位置未被订出去);二是用户输入希望的座位号,当用户输入自己选中的座位号后,程序对可用座位分布图进行更新。程序应该一直执行下去,直到所有座位都被预订,或者用户表示程序应该终止。如果用户指定的一个座位被预订,程序应该指出该座位不可用,要求用户重新选择。(4)列出初步的测试计划:按

3、照程序的输出形式分别测试两种方法分配座位的正确性,并多次测试,考虑多种可能出现的结果。三、概要设计1.本程序包含五个模块:(1)主程序模块:main() 定义字符类型的变量choose和整型变量i,j及数组Seat812并初始化用switch语句实现以那种方式进行座位分配;对要用到的下面四个函数进行函数声明:void menu();void assign(int seat812);int myfree(int seat812);void position(int seat812);(2)座位显示模块:用循环语句控制座位的输出方式,并按照要求显示在屏幕上达到一目了然的效果.(3)菜单界面模块:输

4、出图形菜单界面,可以选择分配座位的方式.(4)电脑自动分配座位的模块:达到电脑自动分配的功能.(5)用户自选座位的模块:达到用户自己选择自己希望座位的功能.主程序调用其他四个模块2、模块图 四、详细设计依照座位的分布方式定义一个二维数组并初始化: int seat812= 4,2,1,3,5, 6,4,2,1,3,5, 6,4,2,1,3,5,7, 8,6,4,2,1,3,5,7, 8,6,4,2,1,3,5,7,9, 10,8,6,4,2,1,3,5,7,9, 10,8,6,4,2,1,3,5,7,9,11, 12,10,8,6,4,2,1,3,5,7,9,11, ; 用下面语句实现分配座位

5、的方式: switch(choose) case'1':assign(seat);break; case'2':myfree(seat);break; 座位显示函数:以数组的形式输出。void position(int seat812)菜单显示函数:void menu()电脑自动分配座位函数:void assign(int seat812)randomize(); /* 随机初始化种子数,确保产生的随机数不同;*/ x=random(8); /* 产生0, 7间的整型随机数,赋值给x;*/ y=random(12); /* 产生0, 11间的整型随机数,赋值给y

6、;*/ 用户自己选座位的函数int myfree(int seat812) printf("nplease input the seat'row and number:nn"); printf("row:"); /*输入座位的行号*/ scanf("%d",&x); printf("nnnumber:"); /*输入座位的列号*/ scanf("%d",&y);整个程序的流程图如下: main()函数 position()函数 assign()函数 myfree()函数

7、五、调试分析 该程序的关键是弄清楚各种选择座位的方法,原理。首先要保证机选和人选的正确性,这样一来也就不会浪费许多时间去修改程序的错误。我整个程序没有分开写,导致后来我花了好多时间去修改整理。 我觉得这个程序最难的地方就是要用X代替已经被分配出去的位置,并且显示在屏幕上。这一点让我改了很多地方,最后通过令被选的座位号为0,输出的座位号为X才达到目的, 该程序设计用到了do-while语句,for循环语句以及case语句来实现该程序的功能,这些语句也是我们所学的最基础的东西,但是在编程的过程中非常有用.六、测试结果 程序输入完后运行成功,显示如图(1)下:第一次调试:选择1、电脑自动分配座位,得

8、到结果如图(2)所示:第二次调试:按任意键后得到如图(3),可以看到被选的座位已被x代替. 选择2、用户自己选择座位,得到结果如图(4)所示:输入4和5后,运行得到如图(5),可看到第4排第5列已被选择,并用x代替七、用户使用说明在正确运行程序后,屏幕上会显示出菜单,用户可以选择出自己要的座位分配方式。第一种方法:选择1后敲回车键,便可以得到分配的座位号如图(2),如果该座位号被分配出去了,程序会显示出,并让用户重新选择。第二种方法:选择2后敲回车键,屏幕上会显示:please input the seat'row and number,如图(4)此时,用户需要输入自己希望的座位的行号和列号,如果该位置已经被分配出去或者该位置不存在,屏幕上会显示出来,并让用户再次重新选择。八、课程设计总结通过这次对电影院座位分配的课程设计,我加深对C语言程序设计课程所学知识的理解,并且熟练掌握和巩固C语言的基本知识和语法规范,开始看到这个题目的时候,我觉得对我个人而言很困难,我们并不是学编程这个专业的。总认为这个和我们无关,现在我发现学会编程真的很重要,因为它能够解决我们日常生活中的很多问题。在编程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论