论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

一个模拟lc 的数字显示控制台程序

文章类别:C语言程序设计 | 发表日期:2008-9-24 14:43:55

这是一个模拟类似电子表之类的东西,显示数字,你可以输入要显示数字的大小(1~10) 和要显示的数字或者数字串(0-9),可以同时输入多行,输入0 0结束输入,回车显示。参数格式 size string。

// homework.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdio.h"
#include "string.h"
#include <conio.h>
#include <stdlib.h>


void draw(int number,int size,int line);
void display(int s, char *n);

int main(int argc, char* argv[])
{

 int para1[12];//参数1
 char para2[12][12];//参数2
 int flag = 1;//接受参数标记
 int count = 0;//计数
 
 do {
  scanf("%d %s",¶1[count],para2[count]);
  

  if(para1[count] == 0  && para2[count][0] == '0' && para2[count][1] == NULL)
   flag = 0;
  //printf("%d,%s\n",para1[count],para2[count]);
  //getchar();
  count++;
 }while(flag&&count<9);

 //scanf(st1,st2,"%s %s");
 for (int j = 0;j<count-1; j++)
 {
  //printf("%s\n",para2[j]);
  if(para1[j]<=0||para1[j]>10)//
  {
   printf("the %d number's size is wrong\n",j);

      //exit(0);
  }
  else
   display(para1[j],para2[j]);

 }
  

 //printf("disply\n");
 return 0;
}

void display(int s, char *n)
{
 //add your code for display the numbers
 int i =0;
 char str[10];
 strcpy(str,n);
 int len = strlen(n);
 //printf("len\n");
 
 //char number;
 for (i; i<2*s+3; i++)
 {
  
  for (int j= 0; j<len;j++)
  { 
   if(j>=len)
    j %= len;

   switch(*(str+j))
   {
    case '0': draw(0,s,i);printf(" ");break;
    case '1': draw(1,s,i);printf(" ");break;
    case '2': draw(2,s,i);printf(" ");break;
    case '3': draw(3,s,i);printf(" ");break;
    case '4': draw(4,s,i);printf(" ");break;
    case '5': draw(5,s,i);printf(" ");break;
    case '6': draw(6,s,i);printf(" ");break;
    case '7': draw(7,s,i);printf(" ");break;
    case '8': draw(8,s,i);printf(" ");break;
    case '9': draw(9,s,i);printf(" ");break;
    default:break;
   }
  }
  printf("\n");

 }
  
 
}
void draw(int number,int size,int line)
{
 int size1 = size;
 int line1 = line;
 int number1 = number;
 switch(number1)
 {

 case 0: {
  if(line1 == 0||line1 == 2*size1+2)//第一行
     {
      printf(" ");
         for(int i =0;i<size1;i++)
      {
       printf("-");
      }
      printf(" ");
     }
  if(line1 == size1+1)//中间行
  {
   for(int j =0 ;j< size1+2;j++)
    printf(" ");
  }
  if(line1>0&&line1<2*size1+2&&line1!=size1+1)
  {
      printf("|");
      for(int i =0;i<size1;i++)
      {
       printf(" ");
      }
      printf("|");

  }
  
  }
  break;
 case 1:
  {
   if(line1 == 0||line1 == 2*size1+2)//第一行
     {
      printf(" ");
         for(int i =0;i<size1;i++)
      {
       printf(" ");
      }
      printf(" ");
     };
     if(line1 == size1+1)//中间行
     {
      for(int j =0 ;j< size1+2;j++)
      printf(" ");
     }
     if(line1>0&&line1<2*size1+2&&line1!=size1+1)
     {
      //printf("|");
      for(int i =0;i<size1+1;i++)
       {
        printf(" ");
       }
      printf("|");

     }
  }
  break;
  case 2:
  {
   if(line1 == 0||line1 == 2*size1+2||line1 == size1+1)//第一行
     {
      printf(" ");
         for(int i =0;i<size1;i++)
      {
       printf("-");
      }
      printf(" ");
     };
     if(line1>0&&line1<size1+1)
     {
      //printf("|");
      for(int i =0;i<size1+1;i++)
       {
        printf(" ");
       }
      printf("|");

     }
     if(line1<2*size1+2&&line1>size1+1)
     {
      printf("|");
    
      for(int i =0;i<size1;i++)
       {
        printf(" ");
       }
      printf(" ");
      
     }
  }
  break;
  case 3:
   {
   if(line1 == 0||line1 == 2*size1+2||line1 == size1+1)//第一行
     {
      printf(" ");
         for(int i =0;i<size1;i++)
      {
       printf("-");
      }
      printf(" ");
     }
   else
   {
      printf(" ");
      for(int i =0;i<size1;i++)
       {
        printf(" ");
       }
      printf("|");

   }
  }
  break;
  case 4:
   {
   if(line1 == 0||line1 == 2*size1+2)//第一行
     {
      printf(" ");
         for(int i =0;i<size1;i++)
      {
       printf(" ");
      }
      printf(" ");
     }
   if(line1 == size1+1)
   {
    printf(" ");
    for(int i =0;i<size1;i++)
    {
     printf("-");
    }
    printf(" ");

   }
   if(line1<2*size1+2&&line1>size1+1)
   {
    printf(" ");
    
    for(int i =0;i<size1;i++)
    {
     printf(" ");
    }
    printf("|");
      
   }
   if(line1>0&&line1<size1+1)
   {
    printf("|");
    
    for(int i =0;i<size1;i++)
    {
     printf(" ");
    }
    printf("|");
      
   }
  }
  break;
  case 5:
   {
   if(line1 == 0||line1 == 2*size1+2||line1 == size1+1)//第一行
   {
    printf(" ");
    for(int i =0;i<size1;i++)
    {
     printf("-");
    }
    printf(" ");
   }
   if(line1>0&&line1<size1+1)
   {
    printf("|");
    for(int i =0;i<size1;i++)
    {
     printf(" ");
    }
    printf(" ");

   }
   if(line1<2*size1+2&&line1>size1+1)
   {
    printf(" ");
    
    for(int i =0;i<size1;i++)
    {
     printf(" ");
    }
    printf("|");
      
   }
  }
  break;
  case 6:
   {
   if(line1 == 0||line1 == 2*size1+2||line1 == size1+1)//第一行
   {
    printf(" ");
    for(int i =0;i<size1;i++)
    {
     printf("-");
    }
    printf(" ");
   }
   if(line1>0&&line1<size1+1)
   {
    printf("|");
    for(int i =0;i<size1;i++)
    {
     printf(" ");
    }
    printf(" ");

   }
   if(line1<2*size1+2&&line1>size1+1)
   {
    printf("|");
    
    for(int i =0;i<size1;i++)
    {
     printf(" ");
    }
    printf("|");
      
   }
  }
  break;
  case 7:
  {
   if(line1 == 0)//第一行
   {
    printf(" ");
    for(int i =0;i<size1;i++)
    {
     printf("-");
    }
    printf(" ");
   }
   else if(line1 == 2*size1+2||line1 == size1+1)//中间行和末尾行
   {
    printf(" ");
    for(int i =0;i<size1;i++)
    {
     printf(" ");
    }
    printf(" ");
   }
   else
   {
    printf(" ");
    for(int i =0;i<size1;i++)
    {
     printf(" ");
    }
    printf("|");

   }

  }
  break;
  case 8:
  {
   if(line1 == 0||line1 == 2*size1+2||line1 == size1+1)//首行中间行和末尾行
   {
    printf(" ");
       for(int i =0;i<size1;i++)
    {
     printf("-");
    }
    printf(" ");
   }
   else
   {
    printf("|");
    for(int i =0;i<size1;i++)
    {
     printf(" ");
    }
       printf("|");

   }
  }
  break;
  case 9:{
   if(line1 == 0||line1 == 2*size1+2||line1 == size1+1)//首行中间行和末尾行
   {
    printf(" ");
       for(int i =0;i<size1;i++)
    {
     printf("-");
    }
    printf(" ");
   }
   if(line1>0&&line1<size1+1)
   {
    printf("|");
    for(int i =0;i<size1;i++)
    {
     printf(" ");
    }
    printf("|");

   }
   if(line1<2*size1+2&&line1>size1+1)
   {
    
    printf(" ");
    for(int i =0;i<size1;i++)
    {
     printf(" ");
    }
    printf("|");
      
   }
  }
  break;
  default:;
 }
 return;
}

上一篇:{实例}一个日期推算的程序 人气:5519
下一篇:{实例}游戏封面欣赏 人气:7235
视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058