#include<stdio.h>
#include<stdlib.h>
structcell
{
char*name;
inttime;
intseat;
intsaled;
}a,b,c,d;
intsel=0;
voidtitle();
voidsaleproc();
intsaleThread(structcell*ce,intdd);
voidtiupiaoproc();
inttiupiaoThread(structcell*ce);
voidcount();
intinit(structcell*ce,char*name,inttime,intseat)
{
ce->name=name;
ce->time=time;
ce->seat=seat;
ce->saled=0;
return1;
}
intsaleThread(structcell*ce,intdd)
{
if((ce->seat-ce->saled)>=dd)
{
->saled+=dd;
printf("售票成功!按ESC键返回主菜单 ");
fflush(stdin);
intcc=_getche();
return1;
}
else
{
printf("售票失败---余票不足!按ESC键返回主菜单 ");
fflush(stdin);
intcc=_getche();
return0;
}
}
voidsaleproc()
{
intf=1;
while(f)
{
system("cls");
printf("*********************************** ");
printf("** ");
printf("*厅影片时间余票* ");
printf("** ");
printf("*A%s%d:%d%3d* ",a.name,a.time/60,a.time%60,a.seat-a.saled);
printf("** ");
printf("*B%s%d:%d%3d* ",b.name,b.time/60,b.time%60,b.seat-b.saled);
printf("** ");
printf("*C%s%d:%d%3d* ",c.name,c.time/60,c.time%60,c.seat-c.saled);
printf("** ");
printf("*D%s%d:%d%3d* ",d.name,d.time/60,d.time%60,d.seat-d.saled);
printf("** ");
printf("*********************************** ");
printf("请选择放映厅(a,b,c,d)和要购的票数(按ESC键返回主菜单)(格式:a5): ");
fflush(stdin);
charcc;
intdd;
dd=_getche();
if(dd==27)
{
f=0;
break;
}
else
{
cc=(char)dd;
}
scanf("%d",&dd);
switch(cc)
{
case'a':
saleThread(&a,dd);
f=0;
break;
case'b':
saleThread(&b,dd);
f=0;
break;
case'c':
saleThread(&c,dd);
f=0;
break;
case'd':
saleThread(&d,dd);
f=0;
break;
default:
break;
}
}
title();
}
inttiupiaoThread(structcell*ce)
{
if(ce->saled==0)
{
printf("撞尼玛鬼了老子一张票都没卖,哪来的退票??? ");
fflush(stdin);
intcc=_getche();
return0;
}
ce->saled--;
printf("退票成功!按任意键返回主菜单 ");
fflush(stdin);
intcc=_getche();
return1;
}
voidtiupiaoproc()
{
intf=1;
while(f)
{
system("cls");
printf("*********************************** ");
printf("** ");
printf("*退票* ");
printf("** ");
printf("*A%-20s* ",a.name);
printf("** ");
printf("*B%-20s* ",b.name);
printf("** ");
printf("*C%-20s* ",c.name);
printf("** ");
printf("*D%-20s* ",d.name);
printf("** ");
printf("*********************************** ");
printf("请输入要退的厅(a,b,c,d): ");
charcc;
fflush(stdin);
scanf("%c",&cc);
if(cc=='')
{
f=0;
break;
}
switch(cc)
{
case'a':
tiupiaoThread(&a);
f=0;
break;
case'b':
tiupiaoThread(&b);
f=0;
break;
case'c':
tiupiaoThread(&c);
f=0;
break;
case'd':
tiupiaoThread(&d);
f=0;
break;
default:
break;
}
}
title();
}
voidcountproc()
{
intf=1;
while(f)
{
system("cls");
printf("*********************************** ");
printf("** ");
printf("*统计* ");
printf("** ");
printf("*A厅:余票%3d上座率%5.2f%%* ",a.seat-a.saled,(((float)a.saled/(float)a.seat)*100));
printf("** ");
printf("*B厅:余票%3d上座率%5.2f%%* ",b.seat-b.saled,(((float)b.saled/(float)b.seat)*100));
printf("** ");
printf("*C厅:余票%3d上座率%5.2f%%* ",c.seat-c.saled,(((float)c.saled/(float)c.seat)*100));
printf("** ");
printf("*D厅:余票%3d上座率%5.2f%%* ",d.seat-d.saled,(((float)d.saled/(float)d.seat)*100));
printf("** ");
printf("*********************************** ");
printf("按ESC键返回主菜单! ");
fflush(stdin);
intcc=_getche();
if(cc==27)
{
f=0;
break;
}
}
title();
}
voidtitle()
{
intf=1;
while(f)
{
system("cls");
printf("*********************************** ");
printf("** ");
printf("*欢迎光临牛B电影院* ");
printf("** ");
printf("*1.售票* ");
printf("** ");
printf("*2.退票* ");
printf("** ");
printf("*3.统计* ");
printf("** ");
printf("*4.退出* ");
printf("** ");
printf("*********************************** ");
printf("请选择:(1,2,3,4) ");
fflush(stdin);
scanf("%d",&sel);
getchar();
switch(sel)
{
case1:
saleproc();
f=0;
break;
case2:
tiupiaoproc();
f=0;
break;
case3:
countproc();
f=0;
break;
case4:
system("exit");
f=0;
break;
default:
break;
}
}
}
intmain(intargc,char*argv[])
{
init(&a,"钢铁侠3",18*60+30,150);
init(&b,"致青春",19*60+30,150);
init(&c,"姜戈",20*60+30,150);
init(&d,"生化危机4",20*60+20,100);
title();
return0;
}
⑵ 用C语言编写火车售票系统
如果谁能用C语言能把这么题目就这样顺利的编出来的话,他已经是编程高手了,这太高级了
⑶ C语言 电影院售票(坐位)系统
这是我自己做的, 是用C# 实现的,,如果你的其它语言,稍做修改,应该符合你的题目:
选题的根据:1) 本选题的理论、实际意义
2) 综述国内外有关本选题的研究动态和自己的见解
1) 本选题的理论、实际意义
影院售票系统是计算机技术与影院管理相结合的产物,通过影院售票系统实现了对影院的高效
管理。随着计算机技术的不断提高,计算机已经深入到社会生活的各个角落.而采用人工售票的方
法,不仅效率低,易出错,手续繁琐,而且耗费大量人力。为了满足售票人员对售票,订票,退
票等进行高效的管理,在工作人员的具备一定的计算机操作能力的前提下,特编此影院售票系统
软件以提高影院的管理效率。
2) 综述国内外有关本选题的研究动态和自己的见解
面对全球方兴未艾的影院观看热潮,国内外对影院观看的视觉需求,以及其规模的优势,其独有的互动效果和场内气氛赢得了越来越多的人心。
国外研究动态
1829年,比利时著名物理学家约瑟夫普拉多发现:当一个物体在人的眼前消失后,该物体的形象 还
会在人的视网膜上滞留一段时间,这一发现,被称之为“视象暂留原理”。普拉多根据此原理于1832
年发明了“诡盘”。“诡盘”能使被描画在锯齿形的硬纸盘上的画片因运动而活动起来,而且能使视
觉上产生的活动画面分解为各种不同的形象。“诡盘”的出现,标志着电影的发明进入到了科学实验
阶段。1834年,美国人霍尔纳的“活动视盘”试验成功;1853年,奥地利的冯乌却梯奥斯将军在上
述的发明基础上,运用幻灯,放映了原始的动画片。
国内研究动态
1979年10月电影事业获得发展,邓小平同志代表党中央肯定了文化大革命前17年的文艺路线基本
是正确的,总结了历史的经验教训,纠正了过去提出的“文艺服从政治 、文艺从属政治”的偏颇提法 ,
重申执行双百方针。1977年电影生产开始复苏,1980~1984年平均年产量达120部左右,每年观众
人次平均在250亿左右,中国电影进入一个蓬勃发展的新时期。中国美术片从形式到内容都极富有民族风格和特色。中华人民共和国建立以后,美术片是中国影片在国际上获奖最多的一个片种。新闻纪录片已向纵深发展,充分利用丰富的资料,系统地编辑一些重要的文献片,并对群众普遍关心的问题与重要事件进行综合报道、专题报道;还注意表现人物和人物的精神世界,抓住真人真事中丰富的细节,以情动人。
主要内容:
1) 项目规划
完成一个完整的影院售票系统,分为影院内部管理和网络服务2个系统,影院内部管理子系统主要实现影院售票员对影院的售票功能,网络服务实现网上查询浏览约定电影院功能。这些功能可以分为以下二部个部分:前台管理,,后台管理
前台现场售票:电影名称,票价,票价打折,售票,座位,打印票,结帐
后台管理模块: 管理员主要用于电影类型管理:添加电影种类,介绍,票价,放映场次,放映时间,放映大厅,近几日放映订划管理。具体的功能可以分为以下几个部分:
影院介绍
预订电影
2) 系统功能结构图
研究方法:
广泛查阅、收集论文资料和研究资源,了解以及参考国内外对影院售票系统的研究成果;研究已存在的影院售票系统,学习他人的设计思想和方法,并在导师的指导下,利用在大学所学的一些软件开发知识完成该系统。本系统后台数据库采用目前最新的Microsoft SQL Server 2005,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大、效率高;前台采用Microsoft 公司的Visual Studio 2005 作为主要的开发工具,其可与 SQL Server 2005数据库无缝连接。
完成期限和采取的主要措施:
1) 完成期限
阶段 阶 段 内 容 起止时间
一 准备阶段:阅读搜集相关资料,搭建工作环境,制定设计方案,开题; 10.2.16—10.2.22
二 需求分析、系统设计阶段:各模块功能的设计,数据库的设计,系统文件夹的设计; 10.2.23—10.2.28
三 网站系统的开发与实现; 10.3.01—10.04.08
四 系统联调及测试阶段:完成各模块的集成测试,与管理子系统集成,进行联调和测试,编写论文。 10.4.10—10.04.30
五 编写并提交毕业设计论文、设计源文件、源代码,参加毕业设计答辩。 10.5.01—10.05.20
2) 采取的主要措施
在开发本系统时,系统的界面设计和内核设计使用Visual Studio 2005进行开发,主要措施如下:
使用母版页构建网站的整体风格
主题的应用
使用存储过程实现站内模糊查询
使用哈希表和Session对象实现购物功能
Free TextBox组件的配置使用
主要参考文献:
[1] 梅晓冬,颜烨青. Visual C#网络编程技术与实践 [M]. 北京: 清华大学出版社
[2] 刘瑞新 C#网络编程及应用 机械工业出版社
[3] 王平 柴晟 C#程序设计语言任务驱动式教程 北京航空航天大学出版社
[4] 武马群 SQL Server 2000 数据库基础与应用
[5] Christian Nagel. C#高级编程(第6版) [M]. 北京: 清华大学出版社
[6] [美]麦克金,赫特克. SQL Server 2005数据库服务器架构设计[M]. 北京: 清华大学出版社
[7] 张跃廷,顾彦玲. ASP.NET 从入门到精通[M]. 北京: 清华大学出版社
[8] 王宏编 C#程序设计案例教程 清华大学出版社
[9] 刘冰 软件工程实践教程 机械工程出版社
[10]马丁. 敏捷软件开发:原则、模式与实践(C#版)[M]. 北京: 人民邮电出版社
⑷ 用C语言来编写:商品销售统计程序
#include<iostream>
#include<cstring>
#include<fstream>
#include<stdlib.h>//system("cls")//清屏
#include<conio.h>//getche()
using namespace std;
//全局变量
int i=0;//已录入商品总个数
char ch;//cin>>ch
int n;//case(n)
char code[10];
char name[10];
char unit[10];
int amount;
float unitprice;
float total=0;//总价
ofstream f1("./test.txt");
ofstream f2("./sell.txt");//构建输出流,没有文件就建立
class Goods
{
private:
char code[10];//代码
char name[10];//名称
char unit[10];//单位
int amount;//总数
float unitprice;//单价
public:
Goods();
Goods(char co[10],char na[10],char un[10],int am,float unpr);//构造函数
void f_write();// 录入
void f_change();//改变
void f_delete();//删除
void display();//显示全部商品信息
void s_buy();//买入
};
//构造函数
Goods::Goods(){}
Goods::Goods(char co[10],char na[10],char un[10],int am,float unpr)
{
strcpy(code,co);
strcpy(name,na);
strcpy(unit,un);
amount=am;
unitprice=unpr;
}
Goods *g[50];
//商品信息录入
void Goods::f_write()
{
cout<<"请输入第"<<i+1<<"件商品代码:"<<endl;
cin>>code;
cout<<"请输入第"<<i+1<<"件商品名称:"<<endl;
cin>>name;
cout<<"请输入第"<<i+1<<"件商品计量单位:"<<endl;
cin>>unit;
cout<<"请输入第"<<i+1<<"件商品总数:"<<endl;
cin>>amount;
cout<<"请输入第"<<i+1<<"件商品单价:"<<endl;
cin>>unitprice;
g[i]=new Goods(code,name,unit,amount,unitprice);
i++;
cout<<"信息录入成功!(继续录入按y,返回上一层按n)"<<endl;
cin>>ch;
if(ch=='y')
{
f_write();
}
}
//改变商品信息
void Goods::f_change()
{
cout<<"请输入要改变的商品代码:";
cin>>code;
for(int h=0;h<i;h++)
{
if(0 == strcmp(g[h]->code,code))
{
cout<<"商品信息如下:"<<endl;
cout<<"代码 名称 单价 总数 单位"<<endl;
cout<<g[h]->code<<"\t"<<g[h]->name<<"\t"<<g[h]->unitprice
<<"\t"<<g[h]->amount<<"\t"<<g[h]->unit<<endl;
char newco,newna,newun;
int newam;
float newunpr;
cout<<"你想要修改:1、代码;2、名称;3、单价;4、总数;5、单位。"<<endl;
cin>>n;
switch(n)
{
case 1:
cout<<"请输入修改后的商品代码:";
cin>>newco;
g[h]->code[10]=newco;
cout<<"修改成功!"<<endl;
break;
case 2:
cout<<"请输入修改后的商品名称:";
cin>>newna;
g[h]->name[10]=newna;
cout<<"修改成功!"<<endl;
break;
case 3:
cout<<"请输入商品单价:";
cin>>newunpr;
g[h]->unitprice=newunpr;
cout<<"修改成功!"<<endl;
break;
case 4:
cout<<"请输入修改后的商品总数:";
cin>>newam;
g[h]->amount=newam;
cout<<"修改成功!"<<endl;
break;
case 5:
cout<<"请输入修改后的商品单位:";
cin>>newun;
g[h]->unit[10]=newun;
cout<<"修改成功!"<<endl;
break;
}
break;
}//if
}//for循环
cout<<"是否继续修改?(y/n)"<<endl;
cin>>ch;
if(ch=='y')
{
f_change();
}
}
//删除信息
void Goods::f_delete()
{
cout<<"请输入要删除的商品代码:";
cin>>code;
for(int h=0;h<i;h++)
{
if(0 == strcmp(g[h]->code,code))
{
for(int k=h;k<i;k++)
{
g[k]=g[k+1];
i--;
}
}
}
cout<<"删除成功!"<<endl;
cout<<"是否继续删除?(y/n)"<<endl;
cin>>ch;
if(ch=='y')
{
f_delete();
}
}
//打印信息
void Goods::display()
{
system("cls");
cout<<" "<<endl;
cout<<"-----------全部商品信息如下-------------------"<<endl;
cout<<" "<<endl;
cout<<"代码 名称 单价 总数 单位"<<endl;
f1<<" "<<endl;
f1<<"---------------全部商品信息如下--------------"<<endl;
f1<<" "<<endl;
f1<<"代码 名称 单价 总数 单位"<<endl;
if(i==0)
{
cout<<"系统未曾录入任何商品信息,或记录被删除!";
}
for(int k=0;k<i;k++)
{
cout<<g[k]->code<<"\t"<<g[k]->name<<"\t"<<g[k]->unitprice
<<"\t"<<g[k]->amount<<"\t"<<g[k]->unit<<endl;
f1<<g[k]->code<<"\t"<<g[k]->name<<"\t"<<g[k]->unitprice
<<"\t"<<g[k]->amount<<"\t"<<g[k]->unit<<endl;
}
cout<<endl;
}
//买入
void Goods::s_buy()
{
float price=0;//单个商品价格
cout<<"请输入想要买的商品代码:";
cin>>code;
for(int h=0;h<i;h++)
{
if(0 == strcmp(g[h]->code,code))
{
cout<<"请输入想要购买的商品数量:";
cin>>amount;//当前要购买的数量
price=amount*g[h]->unitprice;
g[h]->amount=g[h]->amount-amount;
cout<<endl;
cout<<"代码 名称 单价 数量 小计"<<endl;
cout<<g[h]->code<<"\t"<<g[h]->name<<"\t"<<g[h]->unitprice
<<"\t"<<g[h]->amount<<g[h]->unit<<"\t"<<price<<endl;
f2<<"代码 名称 单价 数量 小计"<<endl;
f2<<g[h]->code<<"\t"<<g[h]->name<<"\t"<<g[h]->unitprice
<<"\t"<<g[h]->amount<<g[h]->unit<<"\t"<<price<<endl;
total=total+price;
break;
}
}
cout<<"按1继续购买,按2结束。"<<endl;
cin>>n;
if(n==2)
{
cout<<endl;
cout<<"购买结束,总计:"<<total<<"元!"<<endl;
}
else
{
s_buy();
}
}
//类外函数
//第一部分操作显示
void f_screen()
{
system("cls");
Goods g;
cout<<"按相应键操作:"<<endl;
cout<<"0.录入信息 1.更改信息 2.删除信息 3.返回上一层"<<endl;
cin>>n;
switch(n)
{
case 0:
g.f_write();
if(ch=='n'||ch=='N')
f_screen();
break;
case 1:
g.f_change();
if(ch=='n'||ch=='N')
f_screen();
break;
case 2:
g.f_delete();
if(ch=='n'||ch=='N')
f_screen();
break;
}
}
//第二部分操作显示
void s_screen()
{
Goods g;
g.display();
cout<<endl;
g.s_buy();
}
//初始屏幕显示
void screen()
{
system("cls");
cout<<" "<<endl;
cout<<"-----------------商品销售统计系统---------------"<<endl;
cout<<" "<<endl;
f2<<" "<<endl;
f2<<"----------------商品销售统计系统--------------"<<endl;
f2<<" "<<endl;
cout<<"更改商品信息请按1,进行销售统计请按-1。"<<endl;
cin>>ch;
if(ch=='1')
{
f_screen();
if(n==3)
screen();
}
else if(ch=='-1')
{
s_screen();
}
else
{
cout<<"输入错误,系统重新启动!";
screen();
}
}
int main()
{
screen();
return 0;
}