m0_66650593 2022-01-24 22:26 采纳率: 100%
浏览 72
已结题

c语言身高预测后,是否进行下次预测的选择问题

img

img


想知道如何进行第二个问题如何增加对话功能,提示是否继续进行预测就行,不必回答第一个问题。

  • 写回答

1条回答 默认 最新

  • 5年helloword开发经验 2022-01-26 16:48
    关注
    /*********仅供参考***************/
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #define MAN_HEIGHT(faheight,moheight,k1,k2)     ((faheight+moheight)*0.54*(1+k1)*(1+k2))
    #define WONMAN_HEIGHT(faheight,moheight,k1,k2)  ((faheight*0.923+moheight)/2*(1+k1)*(1+k2))
    float good_movement()
    {
        printf("Do you like sports?(Y or N)\n");
        char ok=getchar();
        getchar();
        if(ok=='Y')
            return 0.02;
        else if(ok=='N')
            return 0.0;
        else 
            return -1;
    }
    float good_diet()
    {
        printf("Have a good diet?(Y or N)\n");
        char ok=getchar();
        getchar();
        if(ok=='Y')
            return 0.015;
        else if(ok=='N')
            return 0.0;
        else 
             return -1;
    }
    
    
    
    int user_height()
    {
        char gender[10]={0};
        float k1,k2;
        int faheight,moheight;
        printf("Enter the gender(MAN or WONMAN):\n");
        scanf("%s",gender);
        getchar();    
        if(!strcmp(gender,"MAN"))
        {
            printf("Enter the height of father and mother(father,mother):");
            scanf("%d,%d",&faheight,&moheight);
            getchar();
            k1=good_movement();
            k2=good_diet();
            if(k1==-1||k2==-1)
                return -1;
            return MAN_HEIGHT(faheight,moheight,k1,k2);
        }
        else if(!strcmp(gender,"WOMAN"))
        {
            printf("Enter the height of father and mother(father,mother):");
            scanf("%d,%d",&faheight,&moheight);
            getchar();
            k1=good_movement();
            k2=good_diet();
            if(k1==-1||k2==-1)
                return -1;
            return WONMAN_HEIGHT(faheight,moheight,k1,k2);
        }
        else
            return -1;
    }
    
    int main()
    {
        char ok;
        int predict_height;
    L:
        system("cls");
        do{
            predict_height=user_height();
            if(predict_height==-1)
            {
                printf("Invalid format\n");
                printf("Press enter to continue\n");
                getchar();
                goto L; 
            }    
            printf("predict_height:%d\n",predict_height);
            printf("Whether or not to continue(Y or y)?\n");
            printf("Other keys exit.\n");
            ok=getchar();
            getchar();
        }while(ok=='Y'||ok=='y');    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 1月24日

悬赏问题

  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动