对这个程序做一下总的分析说明:这是一个饭店的自助服务系统程序,功能就是自助预定房间和退订房间。无论是预定还是退订,都需要先输入身份z来登陆系统,房间有4种:单人间、双人间、标准间、总统套房,选择需要的房间类型以及预定或退定的天数,就会计算花费。这个程序只是提供了这样一个查询的功能,至于其他比如收费或者退钱就不关这个程序的事了~~(把程序分块后再看就比较简单啦~~lz看下)
#include<stdioh>
#include<windowsh>
void search();
main() //这个是主程序
{
int f; //定义整型变量f
printf(" \n"); //输出(即屏幕显示,作提示用)“”并换行
Sleep(1000);
printf(" 欢迎来到新疆大饭店 \n" ); //输出“ 欢迎来到新疆大饭店 ”并换行
Sleep(1000);
printf(" \n");
Sleep(1000);
printf("1进入 2退出\n"); //输出1进入 2退出并换行
scanf("%d",&f); //输入一个整数赋值给f
if(f==1)
search(); //如果输入的f为1,运行程序void search(),也就是进入了系统,要预定或者退订房间
else
printf("输入错误"); //否则,输出“输入错误”
}
void search() //以下都是void search()程序内容
{
int d[15],g[3],a,b,c,x,y,h,l; //定义整型变量d[15],g[3],a,b,c,x,y,h,l(前两个为数组)
printf("请选择您需要的号码:\n1预定房间\n2退定房间\n"); //输出“请选择您需要的号码:”并换行,再输出“1预定房间”并换行,再输出“2退定房间”并换行
scanf("%d",&a); //输入一个整数并赋值给a
if(a>=3 || a<1)
printf("您输入有误请您重试!\n"); //如果a>=3或者a<1,输出“您输入有误请您重试!”并换行
else switch(a)
{
case 1: //如果输入的a=1(即选择了1预定房间),执行下列语句
{
printf("请您输入您的身份z号码\n"); //输出“请您输入您的身份z号码”并换行
scanf("%d",&d[15]); //输入15位整数赋值给d[15]
printf("您已登陆成功^-^\n"); //输出“您已登陆成功^-^”并换行
printf("请您选择退定种类:\n"); //输出“请您选择退定种类:”并换行
printf("1单人间/夜150元\n2双人间/夜200元\n3标准间/夜300元\n4总统套房/夜600元\n"); //输出“1单人间/夜150元”并换行,输出“2双人间/夜200元”并换行,输出“标准间/夜300元”并换行,输出“4总统套房/夜600元”并换行
scanf("%d",&b); //输入一个整数并赋值给b
switch(b)
{
case 1:printf("请输入预定天数\n"); //如果b=1(即选择了1单人间/夜150元),执行下列语句
scanf("%d",&x); //输入一个整数并赋值给x(这里x表示天数)
printf("请预交款为%d元\n",x150); //输出“请预交款为x150元”(输出时,x150是一个具体的数字)
printf("1确定 2返回"); //输出“1确定 2返回”
scanf("%d",&h); //输入一个整数并赋值给h
printf("您已预定成功 房间号码为202\n");break; //输出“您已预定成功 房间号码为202”并换行;跳出switch(b)语句,即选定好了房间类型和天数
case 2:printf("请输入预定天数\n"); //下面三种b=2、3、4同b=1时
scanf("%d",&x);
printf("请预交款为%d元\n",x200);
printf("1确定 2返回");
scanf("%d",&h);
printf("您已预定成功 房间号码为305\n");break;
case 3:printf("请输入预定天数\n");
scanf("%d",&x);
printf("请预交款为%d元\n",x300);
printf("1确定 2返回");
scanf("%d",&h);
printf("您已预定成功 房间号码为208\n");break;
case 4:printf("请输入预定天数\n");
scanf("%d",&x);
printf("请预交款为%d元\n",x600);
printf("1确定 2返回");
scanf("%d",&h);
printf("您已预定成功 房间号码为306\n");break;
default :printf("您的输入有错请您重试"); //如果b不是1、2、3、4的任何一个,输出“您的输入有错请您重试”
}
}break; //跳出switch(a)语句,即退出预定房间的程序
case 2: //如果输入的a=2(即选择了1退订房间),执行下列语句 (具体意义参见case 1的部分)
{
printf("请您输入您的身份z号码\n");
scanf("%d",&d[15]);
printf("您已登陆成功^-^\n");
printf("请您选择退订服务种类:\n");
printf("1单人间/夜150元\n2双人间/夜200元\n3标准间/夜300元\n4总统套房/夜600元\n");
scanf("%d",&c);
switch(c)
{
case 1:printf("请您输入要退定的房间号码\n");
scanf("%d",&g[3]);
printf("请您输入要退订的天数\n");
scanf("%d",&y);
printf("我们将退您%d元\n",y150);
printf("您退定成功: 谢谢您的光临 !\n");break;
case 2:printf("请您输入要退定的房间号码\n");
scanf("%d",&g[3]);
printf("请您输入要退订的天数\n");
scanf("%d",&y);
printf("我们将退您%d元\n",y200);
printf("您退定成功谢谢您的光临 !");break;
case 3:printf("请您输入要退定的房间号码\n");
scanf("%d",&g[3]);
printf("请您输入要退订的天数\n");
scanf("%d",&y);
printf("我们将退您%d元\n",y300);
printf("您退定成功:谢谢您的光临 !\n");break;
case 4:printf("请您输入要退定的房间号码\n");
scanf("%d",&g[3]);
printf("请您输入要退订的天数\n");
scanf("%d",&y);
printf("我们将退您%d元\n",y600);
printf("您退定成功:谢谢您的光临 !\n");break;
default:printf("您的输入有错请您重试");
}
}break; //跳出switch(a)语句,即退出预定退订房间的程序
}
{
int n; //定义整型变量n
printf("谢谢光顾\n是否要再预定 1是2否"); //输出“谢谢光顾”并换行,输出“是否要再预定 1是2否”
scanf("%d",&n); //输入一个整数并赋值给n
if(n==1)
search(); //如果n=1,运行程序void search()
else
printf("再见"); //如果n不是1,输出“再见”
} //这部分是最后给顾客做确认用的~保证顾客不再需要其他服务了
}
#include <stdioh>
#include <stdlibh>
int Ispriminit(int x)
{
int k,i;
k=sqrt(x);
for(i=2;i<=k;i++)
{
if(x%i==0)return 0;
}
if(i>=k+1)
{
return 1;//素数
}
}
void priminit(int e,int isprim)
{
int m,i,k,j=0;
for(m=1;m<=e;m++)
{
if((1 == Ispriminit(m))&&( 1 == isprim )) printf("%d ",m);
if((0 == Ispriminit(m))&&( 0 == isprim )) printf("%d ",m);
}
printf("\n");
}
void dismenu(void)
{
printf("\n");
printf("1判断该数是否为素数\n");
printf("2求该数中所有素数\n");
printf("3求该数中的因数\n");
printf("4退出\n");
printf("\n");
}
int main(int argc, char argv[])
{
int m,status;
int c=5;
printf("输入任意一个整型数:\n ");
scanf("%d",&m);
dismenu();
while(1)
{
scanf("%d",&c);
switch(c)
{
case 1:
printf(Ispriminit(m)>0"\nyes!\n":"\nno!\n");
break;
case 2:
priminit(m,1);
break;
case 3:
priminit(m,0);
break;
case 4:break;
default:printf("请输入1~4之间的数字!\n");
}
if(c==4) break;
dismenu();
}
return 0;
}
这样对吗?
Systemoutprint("Input a char:");这里应该是直接输出Input a char
char c=(char)Systeminread();
Systemoutprintln("c = " + c);这里是输出C=后面是你键盘输入的按键的Unicode码
以上就是关于分析该程序的每一个步骤 谢谢全部的内容,包括:分析该程序的每一个步骤 谢谢、完整该程序~、该程序的运行结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)