标题:大佬帮帮忙这个怎么做?
只看楼主
mac9955
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-1-4
 问题点数:0 回复次数:1 
大佬帮帮忙这个怎么做?
编写一个控制台程序,完成以下功能:输入若干个职工的年终考核成绩,以负数为结束标志,如果成绩大于100则要求重新输入,直到正确为止;计算一共输入了多少个职工成绩,平均成绩是多少,最高成绩是多少
搜索更多相关主题的帖子: 输入 成绩 重新 计算 多少 
2019-01-04 22:42
ZJYTY
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:92
专家分:700
注 册:2018-12-20
得分:0 
程序代码:
#if 1

#include <stdio.h>

typedef struct worker 
{
    float score;
}WK;

WK wks[100];

void getMes(int &wkNum)
{
    int wkCount = 0;
    printf("职工考核成绩录入:\n");
    do
    {
        printf("num %d score : ",wkCount+1);
        scanf("%f", &(wks[wkCount].score));
        while (!getchar());
        if (wks[wkCount].score > 100.0)
        {
            printf("请输入有效成绩(0-100)\n");
            continue;
        }
        else if (wks[wkCount].score < 0.0)
        {
            wkNum = wkCount;
            printf("共计录入%d人\t", wkNum);
            break;
        }
        else
        {
            ++wkCount;
        }
    } while (1);
}

void get_ave_max(int wknum)
{
    float max = wks[0].score;
    float ave = 0.0;
    float total = 0.0;
    for (int i = 0; i < wknum;++i)
    {
        total += wks[i].score;
        if (max < wks[i].score)
        {
            max = wks[i].score;
        }
    }
    ave = total / wknum;
    printf("ave score : %.3f\tmax score : %.3f\n", ave, max);
}

int main()
{
    int wkNum;
    getMes(wkNum);
    get_ave_max(wkNum);

    getchar();
}
#endif


-------------------------------若有不当之处,敬请谅解-------------------------------
2019-01-09 16:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492511-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.408766 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved