。。。

导航

第一个c语言小程序。

本来是在网上百度怎么实现运行程序变颜色,然后一位大佬给了一段他写的程序代码,我敲了敲,发现挺容易理解的,就写为博客记录一下吧。

改天用文件指针实现心理测试,而不是用数组存,老师说用数组显得不专业。。。。。但是真的很方便啊!

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define N 10
#define M 2.5//控制记忆幻灯片的闪动时间:单位/s 

int menu1()//自定义主菜单函数 
{
    int n;
    printf("\n\t\t\t\t测试主题\n\n\n");
    printf("\t\t\t【注:本测试纯属娱乐】\n");
    printf("\n\n\t\t\t\t主菜单\n\n");
    printf("\t\t\t\t1.记忆测试\n");
    printf("\t\t\t\t2.心理测试\n");
    printf("\t\t\t\t0.退出测试\n");
    printf("\n\n\t\t请选择:_"); 
    scanf("%d",&n);
    return n;
}

int da()
{
    int m;
    printf("\t0:没有,1:偶尔有,2:有时有,3:经常有,4:总是有\t请选择:_");
    scanf("%d",&m);
    if( m==1||m==0||m==2||m==3||m==4)
        return m;
    else
    {
        printf("\n\t您的输入有误,请重新输入\n");
        da(); 
    } 
}

void jycs()
{
    int k,a[10],b[10],s=0,n;
    srand(time(NULL));
    printf("\n\n\n\t\t\t\t子菜单<记忆测试>\n\n");
    printf("\t\t\t\t1.开始测试\n");
    printf("\t\t\t\t0.回主菜单\n");
    printf("\n\n\t\t请选择:_");
    scanf("%d",&n);
    while( n> 1)
    {
        printf("\n\t您的输入有误,请重新输入");
        scanf("%d",&n);
    }
    system("cls");
    while(n!=0)
    {
        for(k = 0;k < 10; k ++)
            a[k] = rand()%10;
        printf("\n\t\t\t【请牢记您看到颜色的顺序】\n\n");
        printf("\n\t\t\t【一共有十个颜色变化】\n\n");
        long time;
        for( k = 0; k <10; k ++)
        {
            switch (a[k])
            {
                case 0:system("color 90");break;
                case 1:system("color f0");break;
                case 2:system("color c0");break;
                case 3:system("color d0");break;
                case 4:system("color 80");break;
                case 5:system("color e0");break;
                case 6:system("color 10");break;
                case 7:system("color 20");break;
                case 8:system("color 30");break;
                case 9:system("color 40");break;
            }
            for(time = 0; time <M*33e+7;time++);
            system("color b0");
            for(time = 0; time < 0.01*33e+7;time++);
        }
        system("cls");
        printf("0:淡蓝色,1:白色,2:淡红色,3:淡紫色,4:灰色,5:黄色,6:蓝色,7:绿色,8:淡绿色,9:红色\n");
        for( k = 0; k < 10; k ++)
            scanf("%d",&b[k]);
        printf("\n【测试结果】");
        for( k = 0; k < 10; k ++)
        {
            if(a[k] == b[k])
                s = s+10;
        }
        if( s < 40)
            printf("\n\t亲!你的记忆力相当差哦!\n\n\n\n"); 
        if( s >= 40&&s < 80)
            printf("\n\t恭喜你!你的记忆力正常哦!\n\n\n\n");
        if( s >= 80)
            printf("\n\t恭喜你!你的记忆力已经超于常人了!\n\n\n\n");
        printf("\t\t\t\t1.重新测试\n");
        printf("\t\t\t\t0.回主菜单\n");
        printf("\n\n\t\t请选择:_");
        scanf("%d",&n);
        system("cls");
     }
}


void xlcs()//自定义心理测试函数 
{
    int a[20],i,n,s= 0;
    printf("\n\n\n\t\t\t\t子菜单<心理测试>\n\n");
    printf("\t\t\t\t1.开始测试\n");
    printf("\t\t\t\t0.回主菜单\n");
    printf("\n\n\t\t请选择:_");
    scanf("%d",&n);
    while( n > 1)
    {
        printf("\n\t您的输入有误,请重新输入"); 
        scanf("%d",&n);
    }
    system("cls");
    while( n != 0)
    {
        printf("(1).我真希望自己哪那天突然死去。\n");
        a[0] = da();
        printf("(2).小事我也感到非常着急。\n");
        a[1] = da();
        printf("(3).遇到一点小事我就感到非常烦恼。\n");
        a[2] = da();
        printf("(4).我看到人活着没什么意义。\n");
        a[3] = da();
        printf("(5).我感到心慌。\n");
        a[4] = da();
        printf("(6).我对异性毫无兴趣。\n");
        a[5] = da();
        printf("(7).我觉得太笨,样样不如别人。\n");
        a[6] = da();
        printf("(8).我感到生活中自己是个弱者。\n");
        a[7] = da();
        printf("(9).我变得做什么事都拿不定主意。\n");
        a[8] = da();
        printf("(10).我想自己死去。\n");
        a[9] = da();
        printf("(11).我全身没有一点力气。\n");
        a[10] = da();
        printf("(12).我讲话的声音变得无法有力,闲话少多了。\n");
        a[11] = da();
        printf("(13).我晚上的睡眠时间总的说比往常少多了。\n");
        a[12] = da();
        printf("(14).我什么事情都不想干。\n");
        a[13] = da();
        printf("(15).我感到不高兴,不愉快,不痛快。\n");
        a[14] = da();
        printf("(16).我感到心里难受或心里不舒服。\n");
        a[15] = da();
        printf("(17).我对周围的一切都感到没意思。\n");
        a[16] = da();
        printf("(18).我感到紧张不安。\n");
        a[17] = da();
        printf("(19).我不想吃东西。\n");
        a[18] = da();
        printf("(20).我觉得比平时瘦多了。\n");
        a[19] = da();
        printf("\n【测试结果】");
        for( i = 0; i < 20; i ++)
            s = s+a[i];
        if( s < 16)
            printf("\n\t\t得分:_%d亲,你心里很正常哟!\n",s);
        if( s >= 16&&s<=35)
            printf("\n\t\t得分:_%d亲,你心里有轻度的问题了!\n",s);
        if( s >35&&s<=45)
            printf("\n\t\t得分:_%d亲,你心里已经有中度的问题了!\n",s);
        if( s > 45)
            printf("\n\t\t得分:_%d亲,你应该去看医生了!\n",s);
        printf("\t\t\t\t1.重新测试\n");
        printf("\t\t\t\t0.回主菜单\n");
        printf("\n\n\t\t请选择:_");
        scanf("%d",&n);
        system("cls");
    }
}


void Switch (int m)//自定义主菜单的选择函数 
{
    int n;
    switch(m)
    {
        case 1:jycs();break;
        case 2:xlcs();break;
    }
}


int main()
{
    int m,i;
    system("color b0");
    while((m=menu1())!=0)
    {
        system("cls");
        Switch(m);
    }
    long time;//退出测试倒计时 
    for( i = 5; i > 0; i --)
    {
        printf("\n\t\t%d秒后退出游戏",i);
        for( time = 0; time <= 1.2*33e+7;time++);
        system("cls");
        printf("\n\t\t\t\t测试主题\n\n\n");
        printf("\t\t\t【注:本测试纯属娱乐】\n");
        printf("\n\n\t\t\t\t主菜单\n\n"); 
        printf("\t\t\t\t1.记忆测试\n");
        printf("\t\t\t\t2.心理测试\n");
        printf("\t\t\t\t0.退出测试\n");
        printf("\n\n\t\t请选择:_0\n");
    }
    return 0;
}

运行效果:

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

posted on 2017-05-24 22:40  大学僧  阅读(160)  评论(0编辑  收藏  举报