- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
PAGE
.
电影院座位分配
一、目的
通过课程设计,加深对《C语言程序设计》课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,包括:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);库函数应用(时间函数、绘图函数以及文件的读写操作函数等);复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。
二、需求分析
(1)输入的形式和输入值的范围:以数字字符的形式输入0~2,选择是电脑自动分配还是用户输入希望的座位号。若是用户自己选择,则还需要输入座位号1~12。
(2)输出形式:首先要输出座位的排列形式,其次是所分配的座位号或者自己希望的座位号。
(3)程序所能达到的功能:程序应该显示可用座位的分配图,并用‘x’来标记一个已分配的座位。程序提示用户运用两种方式来选择座位号,一是电脑自动分配,那么就产生一个随机数(要保证该位置未被订出去);二是用户输入希望的座位号,当用户输入自己选中的座位号后,程序对可用座位分布图进行更新。程序应该一直执行下去,直到所有座位都被预订,或者用户表示程序应该终止。如果用户指定的一个座位被预订,程序应该指出该座位不可用,要求用户重新选择。
(4)列出初步的测试计划:按照程序的输出形式分别测试两种方法分配座位的正确性,并多次测试,考虑多种可能出现的结果。
三、概要设计
1.本程序包含五个模块:
(1)主程序模块:
main()
{
定义字符类型的变量choose和整型变量i,j及数组Seat[8][12]
并初始化用switch语句实现以那种方式进行座位分配;
对要用到的下面四个函数进行函数声明:
void menu();
void assign(int seat[8][12]);
int myfree(int seat[8][12]);
void position(int seat[8][12]);}
(2)座位显示模块:用循环语句控制座位的输出方式,并按照要求显示在屏幕上达到一目了然的效果.
(3)菜单界面模块:输出图形菜单界面,可以选择分配座位的方式.
(4)电脑自动分配座位的模块:达到电脑自动分配的功能.
(5)用户自选座位的模块:达到用户自己选择自己希望座位的功能.
主程序调用其他四个模块
2、模块图
四、详细设计
依照座位的分布方式定义一个二维数组并初始化:
int seat[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)
{case1:assign(seat);break;
case2:myfree(seat);break;
}
座位显示函数:以数组的形式输出。
void position(int seat[8][12])
菜单显示函数:
void menu()
电脑自动分配座位函数:
void assign(int seat[8][12])
randomize(); /* 随机初始化种子数,确保产生的随机数不同;*/
x=random(8); /* 产生[0, 7]间的整型随机数,赋值给x;*/
y=random(12); /* 产生[0, 11]间的整型随机数,赋值给y;*/
用户自己选座位的函数
int myfree(int seat[8][12])
printf(\nplease input the seatrow and number:\n\n);
printf(row:); /*输入座位的行号*/
scanf(%d,
文档评论(0)