switch怎么输入英文

为什么我的代码直接运行出error呀


// 期中.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include
#include
#include
#include
int main()
{
    char service;
    float x=1, y=1, z=1, amount, m;
    printf("请分别输入三种果汁的千克数与服务类型");
    scanf_s("%f,%f,%f,%c", &x, &y, &z,&service);
    amount = 1.6 * x + 1.45 * y + 1.28 * z;
    
    switch (service)
    {
    case'f':printf("应付款:%f", amount); break;
    case'm':printf("应付款:%f", amount*0.95); break;
    case'e':printf("应付款:%f", amount*0.9); break;
    default:printf("error\n");
    }
    return 0;
}

这个逗号是中文的?要么都改成英文,输入数据要逗号隔开

img

scanf_s("%f,%f,%f,%c", &x, &y, &z,&service);

img

img


#include<iostream>
int main()
{
    char service;
    float x=1, y=1, z=1, amount, m;
    printf("请分别输入三种果汁的千克数与服务类型");
    scanf("%f,%f,%f,%c", &x, &y, &z,&service);

    amount = 1.6 * x + 1.45 * y + 1.28 * z;
    
    
    switch (service)
    {
    case 'f':
        printf("应付款:%f", amount); 
        break;
    case 'm':
        printf("应付款:%f", amount*0.95);
        break;
    case 'e':
        printf("应付款:%f", amount*0.9);
        break;
    default:printf("error\n");
    }
    return 0;
}

试试我的代码和输入格式

把逗号改成空格

int main()
{
    char service;
    float x = 1, y = 1, z = 1, amount, m;
    printf("请分别输入三种果汁的千克数与服务类型:>");
    scanf_s("%f %f %f %c", &x, &y, &z, &service);
    amount = 1.6 * x + 1.45 * y + 1.28 * z;

    switch (service)
    {
    case'f':printf("应付款:%f", amount); break;
    case'm':printf("应付款:%f", amount*0.95); break;
    case'e':printf("应付款:%f", amount*0.9); break;
    default:printf("error\n");
    }
    return 0;
}

你输入了什么呢

scanf_s("%f,%f,%f,%c", &x, &y, &z,&service);
这一行中%c前面你用了中文的逗号,把它改成英文的逗号就好了