• C++
  • 信奥上午班--综合练习(自助点单系统)

  • @ 2024-4-27 9:48:07
模拟的快餐店商品包括主食、小吃、饮料共3个种类。
主食:
1.牛肉汉堡(13元) 2.鸡肉汉堡(12元) 3.香脆鸡排(11元)                    小吃:
4.薯条(5元)  5.鸡翅(6元)  6.色拉(4元)
饮料:
7.可乐(5元) 8.橙汁(6元) 9.咖啡(8元)

除了单点之外,快餐店还有套餐
套餐A:任意一种主食+小吃 +饮料,总共优惠3元。各个食物可选。              套餐B:任意一种汉堡+饮料,总共可以优惠2元。各个食物可选。

促销:消费满39元,就可以额外花1元购买色拉、薯条、可乐任意一个。


用户只用输入食物编号,就可添加购物车并最终进行结算,输出消费总价。
#include<iostream>
using namespace std;

int main()
{
	cout<<"                MENU"<<endl;
	cout<<"主食: 1.牛肉汉堡¥13  2.鸡肉汉堡¥12  3.香脆鸡排¥11"<<endl; 
	cout<<"小吃: 4.薯条¥5       5.鸡翅¥6       6.色拉¥4"<<endl;
	cout<<"饮料: 7.可乐¥5       8.橙汁¥6       9.咖啡¥8"<<endl;
	cout<<"套餐A: 1款主食+1款小吃+1款饮料(省¥3) "<<endl;           
	cout<<"套餐B: 1款汉堡+1款饮料(省¥2) "<<endl;
	cout<<"+1元换购    满39元+1元可换购一款色拉/薯条/可乐"<<endl;
	int sum=0;
	char choose;
	while(1){
		cout<<"请点餐:"<<endl;
		cin>>choose;
		if(choose=='N'){
			if(sum>=39){
				cout<<"请问是否参加+1元换购(Y/N):";
				cin>>choose;
				if(choose=='N'){
					break;
				}else if('Y'){
					cout<<"请选择换购商品(色拉-6/薯条-4/可乐-7):";
					cin>>choose;
				}
				sum++;
			}
			break;
		}
		switch (choose) {
		case '1':sum+=13;break;
		case '2':sum+=12;break;
		case '3':sum+=11;break;
		case '4':sum+=5;break;
		case '5':sum+=6;break;
		case '6':sum+=4;break;
		case '7':sum+=5;break;
		case '8':sum+=6;break;
		case '9':sum+=8;break;
		case 'A':{//A套餐
			for(int i=1;i<=3;i++){
				if(i==1){
					//主食
					cout<<"请输入一种主食:";
					cin>>choose;
					switch (choose) {
						case '1':sum+=13;break;
						case '2':sum+=12;break;
						case '3':sum+=11;break;
						default:{
							cout<<"输入错误,只能选择主食!!!请重新输入:";
							i--;
							break;
						}
					}
				}else if(i==2){
					//小吃
					cout<<"请输入一种小吃:";
					cin>>choose;
					switch (choose) {
						case '4':sum+=5;break;
						case '5':sum+=6;break;
						case '6':sum+=4;break;
						default:{
							cout<<"输入错误,只能选择小吃!!!请重新输入:";
							i--;
							break;
						}
					}
				}else{
					//饮料
					cout<<"请输入一种饮料:";
					cin>>choose;
					switch (choose) {
						case '7':sum+=5;break;
						case '8':sum+=6;break;
						case '9':sum+=8;break;
						default:{
							cout<<"输入错误,只能选择饮料!!!请重新输入:";
							i--;
							break;
						}
					}
				}
			}
			sum-=3;//优惠三元
			break;
		}
		case 'B':{
			//B套餐
			for(int i=1;i<=2;i++){
				if(i==1){
					//汉堡
					cout<<"请输入一种汉堡:";
					cin>>choose;
					switch (choose) {
						case '1':sum+=13;break;
						case '2':sum+=12;break;
						default:{
							cout<<"输入错误,只能选择汉堡!!!请重新输入:";
							i--;
							break;
						}
					}
				}else if(i==2){
					//饮料
					cout<<"请输入一种饮料:";
					cin>>choose;
					switch (choose) {
						case '7':sum+=5;break;
						case '8':sum+=6;break;
						case '9':sum+=8;break;
						default:{
							cout<<"输入错误,只能选择饮料!!!请重新输入:";
							i--;
							break;
						}
					}
				}
			}
			sum-=2;//优惠三元
			break;
		}
		}
	}
	cout<<"您应该付"<<sum<<"元"<<endl;
	return 0;
}		

1 条评论

  • @ 2024-5-18 9:37:50
    #include<iostream>
    using namespace std;
    
    int main()
    {
    	cout<<"                MENU"<<endl;
    	cout<<"主食: 1.牛肉汉堡¥13  2.鸡肉汉堡¥12  3.香脆鸡排¥11"<<endl; 
    	cout<<"小吃: 4.薯条¥5       5.鸡翅¥6       6.色拉¥4"<<endl;
    	cout<<"饮料: 7.可乐¥5       8.橙汁¥6       9.咖啡¥8"<<endl;
    	cout<<"套餐A: 1款主食+1款小吃+1款饮料(省¥3) "<<endl;           
    	cout<<"套餐B: 1款汉堡+1款饮料(省¥2) "<<endl;
    	cout<<"+1元换购    满39元+1元可换购一款色拉/薯条/可乐"<<endl;
    	int p[20]={0,13,12,11,5,6,4,5,6,8};
    	string name[20]={"商品名称","牛肉汉堡","鸡肉汉堡","香脆鸡排","薯条","鸡翅"
    		,"色拉","可乐","橙汁","咖啡"};
    	int sum=0,a[20]={0};
    	char choose;
    	while(1){
    		cout<<"请点餐:"<<endl;
    		cin>>choose;
    		if(choose=='N'){
    			if(sum>=39){
    				cout<<"请问是否参加+1元换购(Y/N):";
    				cin>>choose;
    				if(choose=='N'){
    					break;
    				}else if('Y'){
    					cout<<"请选择换购商品(色拉-6/薯条-4/可乐-7):";
    					cin>>choose;
    					a[12]=choose-'0';
    					a[a[12]]++;
    				}
    				sum++;
    			}
    			break;
    		}
    		switch (choose) {
    			case '1':sum+=13;a[1]++;break;
    			case '2':sum+=12;a[2]++;break;
    			case '3':sum+=11;a[3]++;break;
    			case '4':sum+=5;a[4]++;break;
    			case '5':sum+=6;a[5]++;break;
    			case '6':sum+=4;a[6]++;break;
    			case '7':sum+=5;a[7]++;break;
    			case '8':sum+=6;a[8]++;break;
    			case '9':sum+=8;a[9]++;break;
    			case 'A':{//A套餐
    				a[10]++;
    				for(int i=1;i<=3;i++){
    					if(i==1){
    						//主食
    						cout<<"请输入一种主食:";
    						cin>>choose;
    						switch (choose) {
    							case '1':sum+=13;a[1]++;break;
    							case '2':sum+=12;a[2]++;break;
    							case '3':sum+=11;a[3]++;break;
    							default:{
    								cout<<"输入错误,只能选择主食!!!请重新输入:";
    								i--;
    								break;
    							}
    						}
    					}else if(i==2){
    						//小吃
    						cout<<"请输入一种小吃:";
    						cin>>choose;
    						switch (choose) {
    							case '4':sum+=5;a[4]++;break;
    							case '5':sum+=6;a[5]++;break;
    							case '6':sum+=4;a[6]++;break;
    							default:{
    								cout<<"输入错误,只能选择小吃!!!请重新输入:";
    								i--;
    								break;
    							}
    						}
    					}else{
    						//饮料
    						cout<<"请输入一种饮料:";
    						cin>>choose;
    						switch (choose) {
    							case '7':sum+=5;a[7]++;break;
    							case '8':sum+=6;a[8]++;break;
    							case '9':sum+=8;a[9]++;break;
    							default:{
    								cout<<"输入错误,只能选择饮料!!!请重新输入:";
    								i--;
    								break;
    							}
    						}
    					}
    				}
    				sum-=3;//优惠三元
    				break;
    			}
    			case 'B':{
    				//B套餐
    				a[11]++;
    				for(int i=1;i<=2;i++){
    					if(i==1){
    						//汉堡
    						cout<<"请输入一种汉堡:";
    						cin>>choose;
    						switch (choose) {
    							case '1':sum+=13;a[1]++;break;
    							case '2':sum+=12;a[2]++;break;
    							default:{
    								cout<<"输入错误,只能选择汉堡!!!请重新输入:";
    								i--;
    								break;
    							}
    						}
    					}else if(i==2){
    						//饮料
    						cout<<"请输入一种饮料:";
    						cin>>choose;
    						switch (choose) {
    							case '7':sum+=5;a[7]++;break;
    							case '8':sum+=6;a[8]++;break;
    							case '9':sum+=8;a[9]++;break;
    							default:{
    								cout<<"输入错误,只能选择饮料!!!请重新输入:";
    								i--;
    								break;
    							}
    						}
    					}
    				}
    				sum-=2;//优惠2元
    				break;
    			}
    		}
    	}
    	cout<<"您应该付"<<sum<<"元"<<endl;
    	printf("商品小票\n");
    	printf("商品名称\t单价\t数量\t总价\n");
    	for(int i=1;i<=12;i++){
    		if(i<=9){
    			if(a[i]>0){
    				printf("%s\t%d\t%d\t%d\n",name[i].c_str(),p[i],a[i],p[i]*a[i]);
    			}	
    		}
    		if(i==10){
    			printf("A套餐 \t\t%d\t%d\n",a[10],-3*a[10]);
    		}
    		if(i==11){
    			printf("B套餐 \t\t%d\t%d\n",a[11],-2*a[11]);
    		}
    		if(i==12){
    			printf("一元换购\t%s\t1\t%d\n",name[a[12]].c_str(),1-p[a[12]]);
    		}
    	}
    	return 0;
    }		
    
    
    
    • 1