魔方吧·中文魔方俱乐部

标题: 刚学了几个月编程,自己做了一个小程序,希望大家来捧捧场哈~ [打印本页]

作者: ZDH    时间: 2013-7-25 15:39:50     标题: 刚学了几个月编程,自己做了一个小程序,希望大家来捧捧场哈~

搜狗截图_2013-07-25_15-36-59.png               
                我学习的语言是C,学了一段时间之后觉得很想亲自编一个小程序,于是就有了这个叫做“成绩记录”
的东东.......

              顺便把源代码放在这里:
#include "stdafx.h"
#define SIZE 300
int get_int (void);
float get_float (void);


int _tmain(int argc, _TCHAR* argv[])
{
    float grades[SIZE],avg,sum,max,min,oldavg=0,oldmin=0,oldfc=0;
    float fangcha;//原谅我吧...我真不知道方差的英文是什么....
        float cha_nume;//方差的分子
    int n ,index,num=1;

        printf("请输入要训练的次数(输入不是数字将退出):");
        while(scanf("%d",&n))
        {
                while(n<1||n>SIZE)
                {
                        printf("输入的次数应当在1~%d之间。\n"
                                "请重新输入次数:",SIZE);
                        n=get_int();
                }

                while(getchar()!='\n')
                        ;
        
                for(index=0;index<n;++index)
                {
                        printf("    请输入第%d次的训练成绩:",index+1);
            grades[index]=get_float();
                        while(grades[index]<=0)
                        {
                                printf("您输入的成绩应当为正数。\n"
                                        "    请再次输入第%d次的成绩:",index+1);
                grades[index]=get_float();
                        }
                }

                for(index=0,sum=0;index<n;index++)
                        sum+=grades[index];

                avg=sum/(float)n;

                for(index=0,cha_nume=0;index<(int)n;index++)
                        cha_nume=(avg-grades[index])*(avg-grades[index]);
                fangcha=cha_nume/(float)n;

                max=min=grades[0];
                for(index=1;index<(float)n;index++)
                {
                        if(max<grades[index])
                                max=grades[index];
                        if(min>grades[index])
                                min=grades[index];
                }

                printf("单次最快:%.2f\n"
                        "单次最慢:%.2f\n"
                        "平均:%.2f\n"
                        "方差:%.4f\n",
                        min,max,avg,fangcha);

                if(oldavg!=0&&avg<oldavg)
                        printf("不错哦!平均成绩进步了%1.2f秒!\n",oldavg-avg);
                else if(oldavg!=0&&avg>oldavg)
                        printf("要加油了哦!平均成绩退步了%1.2f秒。\n",avg-oldavg);
                if(oldmin!=0&&min<oldmin)
                        printf("不错哦!刷新了最好记录!\n");
                if(oldfc!=0&&oldfc<fangcha)
                        printf("不错哦!成绩更加稳定了一些!\n");
                oldavg=avg;
                oldmin=min;
        oldfc=fangcha;
         
                printf("\n请输入第%d次要训练的次数(输入不是数字将退出):",(num++)+1);
        }

    printf("谢谢使用!\n"
                "制作:ZDH\n"
                "版权没有,盗版不究^_^\n"
                "\n按下回车退出\n"
                );


    getchar();
    getchar();
        getchar();
        return 0;
}

int get_int (void)
{
        int input;
        while(!scanf("%d",&input))
        {
                while(getchar()!='\n')
                        continue;
                printf("输入不正确。请输入一个整数:");
        }

        return input;
}


float get_float (void)
{
        float input;
        while(!scanf("%f",&input))
        {
                while(getchar()!='\n')
                        continue;
                printf("输入不正确。请输入一个小数:");
        }

        return input;
}

如果有什么不好的地方或者可以改进之处,还请大家一定指出来,不要欺负我这个编程菜鸟哦~

成绩记录.rar (8.14 KB, 下载次数: 21)

附件: 成绩记录.rar (2013-7-25 15:39:08, 8.14 KB) / 下载次数 21
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjE3OTg4fDhjOTkyYmNjfDE3Mzk3ODc5OTJ8MHww

附件: 搜狗截图_2013-07-25_15-36-59.png (2013-7-25 15:37:27, 19.68 KB) / 下载次数 122
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MjE3OTg3fGRhMzg2YTVhfDE3Mzk3ODc5OTJ8MHww
作者: 200806zz    时间: 2013-7-25 15:44:36

支持一下!!!
作者: 洛阳狼王    时间: 2013-7-25 16:43:43

不会的路过                                          
作者: a648654729    时间: 2013-7-25 17:01:10

vc++2005的运行库?
作者: 晕晕、、    时间: 2013-7-25 17:37:22

啊哈!我也刚学C++
作者: 时代,青春    时间: 2013-7-25 17:53:10

支持支持。。
作者: 4766530    时间: 2013-7-25 19:20:46

好高深的样子,只会basic路过
作者: 夜雨听风    时间: 2013-7-25 19:47:49

是不错,就是没有好看的外观。。
作者: 支点    时间: 2013-7-25 20:19:50

楼主大几呢  什么专业
作者: TOETOE55    时间: 2013-7-25 20:48:10

额,我是pascal
作者: 1987。    时间: 2013-7-25 22:06:41

表示文科出生的看到这些符号瞬间蛋疼
作者: hellooooo    时间: 2013-7-25 22:12:07

几个月就能编?大神啊!我学pascal现在连搜索都不一定会呢
作者: 魔曾    时间: 2013-7-25 22:15:24

看不懂!!!!好厉害
作者: L08    时间: 2013-7-26 08:50:39

羡慕会编程的人。编个象棋玩玩?!上魔方吧的计时器用浏览器看看源代码
作者: meigen    时间: 2013-7-26 11:00:51

= = 统计这一块其实还是不简单的……比如去尾平均,最快滚动平均等
作者: 502当润滑油    时间: 2013-7-26 11:18:10

初中党只会cmd和html的撸过
作者: ZDH    时间: 2013-7-26 11:52:34

a648654729 发表于 2013-7-25 17:01
vc++2005的运行库?

没错,但我用的是C
作者: ZDH    时间: 2013-7-26 12:00:19

meigen 发表于 2013-7-26 11:00
= = 统计这一块其实还是不简单的……比如去尾平均,最快滚动平均等

呃,最快滚动平均是什么?
作者: a648654729    时间: 2013-7-26 20:39:03

ZDH 发表于 2013-7-26 11:52
没错,但我用的是C

我会说我有vc++2005 2008  2010 但不能运行
作者: !!!!!    时间: 2013-7-26 21:13:36

不明真相的围观群众也来支持一下~
作者: 2490715998    时间: 2013-7-26 21:24:24

头痛                                      
作者: 2490715998    时间: 2013-7-26 21:31:55

你太低调了
作者: meigen    时间: 2013-7-26 23:44:03

ZDH 发表于 2013-7-26 12:00
呃,最快滚动平均是什么?

- - 我也说不好,CCT总用过吧?rolling average
作者: 939317021    时间: 2013-8-14 12:13:22

啊啊啊不懂,顶一下




欢迎光临 魔方吧·中文魔方俱乐部 (http://bbs.mf8-china.com/) Powered by Discuz! X2