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日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分