yigenbaicai0316 2022-12-19 19:25 采纳率: 100%
浏览 38
已结题

c语言写一个简单的点餐系统,for循环里的break无效

c语言写一个简单的点餐系统,为什么我写出来的代码第一个for循环里的break不起作用啊,然后输出的fee也没反应,在循环里又可以输出,出了for循环就输出不了了
1

#include<stdio.h>

#define max 30     //最多点30个菜 

struct price
{
    int price[8];     //定义一个数组结构体存放价格 
};

int main()
{
    struct price p1={40,65,45,72,42,10,15,15};     //存放每个菜的价格 
    int i,j,a[30];
    int fee=0;
    char b[8][1000]={"1    Curry beef with rice(咖喱牛肉饭)    ¥40.00\n",
    "2    Sushi set meal(寿司套餐)            ¥65.00\n",
    "3    YangZhou fired rice(扬州炒饭)            ¥45.00\n",
    "4    Sirloin Steak(西冷牛排)                    ¥72.00\n",
    "5    Chicken vegetable roll(鸡肉蔬菜卷)    ¥42.00\n",
    "6    Soft drink(软饮料)                    ¥10.00\n",
    "7    Red wine(红葡萄酒)                    ¥15.00\n",
    "8    Beer(啤酒)                            ¥15.00\n"};
    struct price *p;     //引入结构体指针 
    p=&p1;     //初始化 
    printf("欢迎来到本店,本店菜单如下:\n\n"
    "                        Menu\n"
    "                        Food:\n"
    "ID    Name                                      Cost\n"
    "1    Curry beef with rice(咖喱牛肉饭)    ¥40.00\n"
    "2    Sushi set meal(寿司套餐)            ¥65.00\n"
    "3    YangZhou fired rice(扬州炒饭)            ¥45.00\n"
    "4    Sirloin Steak(西冷牛排)                    ¥72.00\n"
    "5    Chicken vegetable roll(鸡肉蔬菜卷)    ¥42.00\n"
    "Drink:\n"
    "21    Soft drink(软饮料)                    ¥10.00\n"
    "22    Red wine(红葡萄酒)                    ¥15.00\n"
    "23    Beer(啤酒)                            ¥15.00\n"
    "More food/drink items are added to it.\n");
    printf("请输入您要点的菜的序号(用空格键间隔开):");
    for(i=0;i<max;i++)          
    {
        scanf("%d",&a[i]);     //存放客人点菜的数据 
        if(a[i]=='\n')    
            break;                      (就是这句无效)
    }
    printf("您的账单如下:\n");
    int len=sizeof(a)/sizeof(a[0]);
    for(i=0;i<len;i++)
    {
        fee+=*(p1.price+(a[i]-1));     //账单的总价格 
        printf("%s",b[a[i]-1]);     //账单里的菜名
    }    
    printf("总价格为:%d",fee);     //输出总价格         (打印不出来)
    return 0;
}

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-12-19 19:29
    关注

    %d输入,不可能接收换行符的,所以根本不会成立的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月3日
  • 已采纳回答 1月26日
  • 创建了问题 12月19日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度