zoukankan      html  css  js  c++  java
  • TC中,音乐,正弦曲线,满天星,成绩柱状图

    必须在tc中运行

    1.#include <stdio.h>
    #include<dos.h>
    void mysound(unsigned int freq,int times)
    {
         int i;
    union{
    int n;
    char c[2];
    }count;
    char bits;
    count.n=1193180/freq;
    outportb(0x43,0xb6);
    outportb(0x42,count.c[0]);
    outportb(0x42,count.c[1]);
    bits=inportb(0x61);
    outportb(0x61,bits|3);
         for(i=0;i<times;i++)
            delay(250);
         outportb(0x61,bits&0xfc);
         outportb(0x61,bits);
    }
    int main()
    {
        int freq[8]={0,262,294,330,349,392,440,494};
    int song[]={1,1,5,5,6,6,5,4,4,3,3,2,2,1,0};
        int div[]={8,8,8,8,8,8,4,8,8,8,8,8,8,4,0};
        unsigned int f;
        int times,i;
        for(i=0;song[i];i++)
        {
            if(song[i]<0)
                f=freq[-song[i]]/2;
            else
                if(song[i]>7)
                   f=freq[song[i]%7]*2;
                else
                    f=freq[song[i]];
            times=16/div[i];
            mysound(f,times);
        }
        return 0;

    }

    2.正弦曲线

    #include <graphics.h>
    #include <stdio.h>
    #include <math.h>
    #define PI 3.14159
    int main()
    {
    int gmode,gdriver=DETECT,i;
        double x,y,originx,originy;
    initgraph(&gdriver,&gmode,"c:\tc20\BGI");
    line(20,250,600,250);
        line(600,250,590,240);
        line(600,250,590,260);
        line(320,450,320,20);
        line(320,20,310,30);
        line(320,20,330,30);
        setcolor(RED);
    for(i=0;i<180;i++)
        {
            line(320-i,250+150*sin(i*PI/180),320-(i+1),250+150*sin((i+1)*PI/180));
            line(320+i,250-150*sin(i*PI/180),320+(i+1),250-150*sin((i+1)*PI/180));
        }
        getch();
        closegraph();
        return 0;
    }

     3.这满天星有点LOW,有时间在改进^^

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <conio.h>
    #include <graphics.h>
    int main()
    {
        int driver=DETECT;    
        int mode,i,n,j,p;
        initgraph(&driver,&mode,"C:\TC20\BGI");
        srand(time(NULL));  
        for(i=1;i<640;i++)   
        {           
            for(j=1;j<=30;j++)        
            {            
                  if(j<=15)            
                  {                
                       n=rand()%699;                
                       putpixel(n+i,n+10*i,14);
                  }            
                  else            
                  {                               
                         n=rand()%666;                
                         putpixel(n+11*i,n+i,14);          
                   }
             } 
        }
        do
        {
            x=rand()%996;
            y=rand()%777;
            delay(10);
            putpixel(x,y,0);
            delay(10);
            putpixel(x,y,14);  
        } while(!kbhit());
        getch();    
        closegraph();    
        return 0;

        }

    4.模拟乒乓

    #include <graphics.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    #define MAXNUM 100
    int main()
    {
        char *buf;
        char sign,sign1[MAXNUM],sign2[MAXNUM];
        int i,size,a;
        int x[MAXNUM],y[MAXNUM],r[MAXNUM][MAXNUM];
        int gd=DETECT,gm;
        clrscr();
        scanf("%d",&a);
        initgraph(&gd,&gm,"c:\tc20\BGI");
        setcolor(YELLOW);
        setfillstyle(SOLID_FILL,9);
        rectangle(0,0,getmaxx(),getmaxy());
        rectangle(1,1,getmaxx()-1,getmaxy()-1);
        bar(2,2,getmaxx()-2,getmaxy()-2);
        for(i=8;i>=0;i--)
        {
            setcolor(i+7);
            circle(11,getmaxy()-11,i);
        }
        size=imagesize(2,getmaxy()-20,20,getmaxy()-2);
        buf=malloc(size);
        getimage(2,getmaxy()-20,20,getmaxy()-2,buf);
        for(i=8;i>=0;i--)
        {
            setcolor(9);
            circle(11,getmaxy()-11,i);
    }
    randomize();
    for(i=0;i<a;i++)
    {
        x[i]=random(600)+20;
        y[i]=random(400)+32;
        sign1[i]=random(2);
        sign2[i]=random(2);
    }
    while(1)
    {
        if(kbhit())
        {
            sign=getch();
            if(sign==0x1b)
            {
                free(buf);
                break;
            }
        }
        else
        {
            for(i=0;i<a;i++)
            {
                putimage((sign1[i]==1?x[i]++:x[i]--),
                         (sign2[i]==1?y[i]++:y[i]--),
                         buf,COPY_PUT);
                if(x[i]>getmaxx()-21)
                    sign1[i]=0;
                if(x[i]<3)
                    sign1[i]=1;
                if(y[i]>getmaxy()-21)
                    sign2[i]=0;
                if(y[i]<3)
                    sign2[i]=1;
            }}}
            free(buf);
            getch();
            closegraph();
            return 0;}
        5.成绩柱状图

    #include <graphics.h>
    #include <stdio.h>
    struct TU
    {
        int math;
        int eng;
        int comp;
    }s[100];
    int main()
    {
    int gmode,gdriver=DETECT,i,n=2;  
    initgraph(&gdriver,&gmode,"c:\tc20\BGI");
    for(i=0;i<n;i++)
        scanf("%d%d%d",&s[i].math,&s[i].eng,&s[i].comp);
    line(50,450,600,450);
    line(50,450,50,50);
    line(50,50,40,60);
    line(50,50,60,60);
    line(600,450,590,440);
    line(600,450,590,460);
    for(i=0;i<n;i++)
    {
        setfillstyle(2,9);
        bar3d(80+(500/n+5)*i,440-s[i].math*4-s[i].math%10,80+(500/n+5)*i+500/n/3,440,500/n/3,1);
        setfillstyle(3,8);
        bar3d(80+(500/n+5)*i+500/n/3,440-s[i].eng*4-s[i].eng%10,80+(500/n+5)*i+500/n/3+500/n/3,440,500/n/3,1);
        setfillstyle(4,6);
         bar3d(80+(500/n+5)*i+500/n/3*2,440-s[i].comp*4-s[i].comp%10,80+(500/n+5)*i+500/n/3+500/n/3*2,440,500/n/3,1);
    }
    getch();
    closegraph();
    return 0;
    }

  • 相关阅读:
    计算 HMAC-SHA1 阿里云消息队列RocketMQ版签名机制案例以及http调用接口案例
    按照参数名称的字典顺序对请求中所有的请求参数(包括公共请求参数和接口的自定义参数,但不包括公共请求参数中的Signature参数)进行排序
    Appium自动化(2)
    TERSUS笔记员工信息401-显示列表处理+序号+01共几条取值+08每页条数下拉菜单值设置+02共页数计算取值
    TERSUS笔记员工信息400-增加
    TERSUS笔记310-删除
    TERSUS笔记309-修改
    TERSUS笔记308-查询
    TERSUS笔记307-07GO
    TERSUS笔记306-03首页
  • 原文地址:https://www.cnblogs.com/zcy19990813/p/9702825.html
Copyright © 2011-2022 走看看