C语言课程设计电影院座位分配.docx
- 文档编号:4988681
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:9
- 大小:87.92KB
C语言课程设计电影院座位分配.docx
《C语言课程设计电影院座位分配.docx》由会员分享,可在线阅读,更多相关《C语言课程设计电影院座位分配.docx(9页珍藏版)》请在冰豆网上搜索。
C语言课程设计电影院座位分配
电影院座位分配
一、目的
通过课程设计,加深对《C语言程序设计》课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规,包括:
数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);库函数应用(时间函数、绘图函数以及文件的读写操作函数等);复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。
二、需求分析
(1)输入的形式和输入值的围:
以数字字符的形式输入0~2,选择是电脑自动分配还是用户输入希望的座位号。
若是用户自己选择,则还需要输入座位号1~12。
(2)输出形式:
首先要输出座位的排列形式,其次是所分配的座位号或者自己希望的座位号。
(3)程序所能达到的功能:
程序应该显示可用座位的分配图,并用‘x’来标记一个已分配的座位。
程序提示用户运用两种方式来选择座位号,一是电脑自动分配,那么就产生一个随机数(要保证该位置未被订出去);二是用户输入希望的座位号,当用户输入自己选中的座位号后,程序对可用座位分布图进行更新。
程序应该一直执行下去,直到所有座位都被预订,或者用户表示程序应该终止。
如果用户指定的一个座位被预订,程序应该指出该座位不可用,要求用户重新选择。
(4)列出初步的测试计划:
按照程序的输出形式分别测试两种方法分配座位的正确性,并多次测试,考虑多种可能出现的结果。
三、概要设计
1.本程序包含五个模块:
(1)主程序模块:
main()
{
定义字符类型的变量choose和整型变量i,j及数组Seat[8][12]
并初始化用switch语句实现以那种方式进行座位分配;
对要用到的下面四个函数进行函数声明:
voidmenu();
voidassign(intseat[8][12]);
intmyfree(intseat[8][12]);
voidposition(intseat[8][12]);}
(2)座位显示模块:
用循环语句控制座位的输出方式,并按照要求显示在屏幕上达到一目了然的效果.
(3)菜单界面模块:
输出图形菜单界面,可以选择分配座位的方式.
(4)电脑自动分配座位的模块:
达到电脑自动分配的功能.
(5)用户自选座位的模块:
达到用户自己选择自己希望座位的功能.
主程序调用其他四个模块
2、模块图
四、详细设计
依照座位的分布方式定义一个二维数组并初始化:
intseat[8][12]={
{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},
};
用下面语句实现分配座位的方式:
switch(choose)
{case'1':
assign(seat);break;
case'2':
myfree(seat);break;
}
座位显示函数:
以数组的形式输出。
voidposition(intseat[8][12])
菜单显示函数:
voidmenu()
电脑自动分配座位函数:
voidassign(intseat[8][12])
randomize();/*随机初始化种子数,确保产生的随机数不同;*/
x=random(8);/*产生[0,7]间的整型随机数,赋值给x;*/
y=random(12);/*产生[0,11]间的整型随机数,赋值给y;*/
用户自己选座位的函数
intmyfree(intseat[8][12])
printf("\npleaseinputtheseat'rowandnumber:
\n\n");
printf("row:
");/*输入座位的行号*/
scanf("%d",&x);
printf("\n\nnumber:
");/*输入座位的列号*/
scanf("%d",&y);
整个程序的流程图如下:
main()函数
position()函数
assign()函数
myfree()函数
五、调试分析
该程序的关键是弄清楚各种选择座位的方法,原理。
首先要保证机选和人选的正确性,这样一来也就不会浪费许多时间去修改程序的错误。
我整个程序没有分开写,导致后来我花了好多时间去修改整理。
我觉得这个程序最难的地方就是要用X代替已经被分配出去的位置,并且显示在屏幕上。
这一点让我改了很多地方,最后通过令被选的座位号为0,输出的座位号为X才达到目的,
该程序设计用到了do-while语句,for循环语句以及case语句来实现该程序的功能,这些语句也是我们所学的最基础的东西,但是在编程的过程中非常有用.
六、测试结果
程序输入完后运行成功,显示如图
(1)下:
第一次调试:
选择1、电脑自动分配座位,得到结果如图
(2)所示:
第二次调试:
按任意键后得到如图(3),可以看到被选的座位已被x代替.
选择2、用户自己选择座位,得到结果如图(4)所示:
输入4和5后,运行得到如图(5),可看到第4排第5列已被选择,并用x代替
七、用户使用说明
在正确运行程序后,屏幕上会显示出菜单,用户可以选择出自己要的座位分配方式。
第一种方法:
选择1后敲回车键,便可以得到分配的座位号如图
(2),如果该座位号被分配出去了,程序会显示出,并让用户重新选择。
第二种方法:
选择2后敲回车键,屏幕上会显示:
pleaseinputtheseat'rowandnumber,如图(4)此时,用户需要输入自己希望的座位的行号和列号,如果该位置已经被分配出去或者该位置不存在,屏幕上会显示出来,并让用户再次重新选择。
八、课程设计总结
通过这次对电影院座位分配的课程设计,我加深对《C语言程序设计》课程所学知识的理解,并且熟练掌握和巩固C语言的基本知识和语法规,开始看到这个题目的时候,我觉得对我个人而言很困难,我们并不是学编程这个专业的。
总认为这个和我们无关,现在我发现学会编程真的很重要,因为它能够解决我们日常生活中的很多问题。
在编程的过程中我遇到了很多困难,每次我都花了很长时间才解决,并且在解决的过程中学会了更多知识,对我个人而言是在很大程度上提高了编程的能力,虽然以后我可能不再会有关于这方面知识的课程了,但我还是会利用自己的课余时间去学习这方面的知识,让自己能够更加熟练的运用编程来解决实际中的问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 电影院 座位 分配
![提示](https://static.bdocx.com/images/bang_tan.gif)