您的位置:首页 > 其它

软件综合应用系统设计

2020-02-01 12:36 190 查看

C++系统设计

软件综合设计应用

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,

基于剧场售票系统设计

现在假设顾客每次总是购买r2张票,且要求r2张票的座位连续排列成一个正方形,即r*r。设计一个模拟买票程序:可以满足顾客要求时,显示出正方形座位左上角所在的位置并实时地显示剧场座位卖出情况。无法满足顾客的购票要求时报告错误信息。
程序如下:

#include<iostream>
using namespace std;

int wei[20][20]={0};

int main()
{
int l=20;   //座位边长
int r;   //购买相关票数
int wei[20][20]={0};
int t_flag;   //是否买票
int k_flag=0;   //判断标志位
cout<<"   ";
for(int i=0;i<10;i++)
{
cout<<i+1<<"   ";
}
for(int i=10;i<l;i++)
{
cout<<i+1<<"  ";
}
cout<<endl;

for(int i=0;i<9;i++)
{
cout<<i+1<<"  ";
for(int j=0;j<l;j++)
{
cout<<wei[i][j]<<"   ";
}
cout<<endl;
}
for(int i=9;i<l;i++)
{
cout<<i+1<<" ";
for(int j=0;j<l;j++)
{
cout<<wei[i][j]<<"   ";
}
cout<<endl;
}
while(1)
{
cout<<"是否买票? 1:是;0:否。"<<endl;
cin>>t_flag;
if(t_flag==1)
{
cout<<"输入买票张数:r*r"<<endl;
cin>>r;
for(int i=0;i<20;i++)
{
for(int j=0;j<20;j++)
{
if((20-j)>=r&&(20-i)>=r)    //判断剩余格数
{
if(wei[i][j]==0)
{
k_flag=0;
for(int m=i;m<i+r;m++)
{
for(int n=j;n<j+r;n++)
{
if(wei[m][n]==1)
{
k_flag=1;
}
}
}

if(k_flag==0)
{
cout<<"第"<<i+1<<"行,"<<"第"<<j+1<<"列:"<<endl;
for(int m=i;m<i+r;m++)
{
for(int n=j;n<j+r;n++)
{
wei[m][n]=1;
}
}
break;
}

}
}
else
{
k_flag=1;
}
}

if(k_flag==0)
{
break;
}

}
if(k_flag==1)
{
cout<<"无符合要求的座位!"<<endl;
}

//显示部分
cout<<"   ";
for(int i=0;i<10;i++)
{
cout<<i+1<<"   ";
}
for(int i=10;i<l;i++)
{
cout<<i+1<<"  ";
}
cout<<endl;

for(int i=0;i<9;i++)
{
cout<<i+1<<"  ";
for(int j=0;j<l;j++)
{
cout<<wei[i][j]<<"   ";
}
cout<<endl;
}
for(int i=9;i<l;i++)
{
cout<<i+1<<" ";
for(int j=0;j<l;j++)
{
cout<<wei[i][j]<<"   ";
}
cout<<endl;
}

}
else
{
cout<<"退出买票!"<<endl;
}
}
return 1;
}

邮票组合系统设计

邮政部门发行的邮票共有n种面值,存在整数r,使得用不超过m枚此种邮票可以组合出1-r的所有面值,但不能组合出面值r+1。例如,对于面值1、4、7、8,最多用3张邮票可以组合出1-24的面值,但不能组合出面值为25的邮票。对于给定的n、m及n枚邮票的面值,求r。
程序如下:

#include<iostream>
using namespace std;

int main()
{
int k_flag=0;
int sum=1;
int n;
int m;
int k=0;
int a=0;
int b=0;
int c=0;
int d=0;
int currency_value[1000]={0};
while(1)
{
cout<<"发行张数:";
cin>>n;
cout<<"使用张数:";
cin>>m;
cout<<"please input currency value:"<<endl;
for(int i=0;i<n;i++)
{
cout<<"第"<<i+1<<"种币值:";
cin>>currency_value[i];
}

k=n;
if(m==3)
{
for(a=0;a<n;a++)
{
for(b=a;b<n;b++)
{
currency_value[k]=currency_value[a]+currency_value[b];
k++;
}
}
for(a=0;a<n;a++)
{
for(b=0;b<n;b++)
{
for(c=0;c<n;c++)
{
currency_value[k]=currency_value[a]+currency_value[b]+currency_value[c];
k++;
}
}
}
}

else if(m==2)
{
for(a=0;a<n;a++)
{
for(b=a;b<n;b++)
{
currency_value[k]=currency_value[a]+currency_value[b];
k++;
}
}
}

else if(m==4)
{
for(a=0;a<n;a++)
{
for(b=a;b<n;b++)
{
currency_value[k]=currency_value[a]+currency_value[b];
k++;
}
}
for(a=0;a<n;a++)
{
for(b=0;b<n;b++)
{
for(c=0;c<n;c++)
{
currency_value[k]=currency_value[a]+currency_value[b]+currency_value[c];
k++;
}
}
}
for(a=0;a<n;a++)
{
for(b=0;b<n;b++)
{
for(c=0;c<n;c++)
{

for(d=0;d<n;d++)
{
currency_value[k]=currency_value[a]+currency_value[b]+currency_value[c]+currency_value[d];
k++;
}
}
}
}
}

for(sum=1;sum<100;sum++)
{
for(int i=0;i<k;i++)
{
if(sum==currency_value[i])
k_flag=1;
}
if(k_flag==0)
{
cout<<"所求的最大面值:"<<sum-1<<endl<< "............................."<<endl;
break;
}
k_flag=0;
}
}
return 0;
}
  • 点赞 2
  • 收藏
  • 分享
  • 文章举报
name_001 发布了1 篇原创文章 · 获赞 2 · 访问量 25 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: