WEB开发网
开发学院软件开发C++ 一个模拟lc 的数字显示控制台程序 阅读

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

 2008-03-08 12:25:38 来源:WEB开发网   
核心提示:这是一个模拟类似电子表之类的东西,显示数字,一个模拟lc 的数字显示控制台程序,你可以输入要显示数字的大小(1~10) 和要显示的数字或者数字串(0-9),可以同时输入多行,输入0 0结束输入,回车显示
这是一个模拟类似电子表之类的东西,显示数字,你可以输入要显示数字的大小(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 ",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 ",para2[j]);
 if(para1[j]<=0para1[j]>10)//
 {
  printf("the %d number's size is wrong ",j);     //exit(0);
 }
 else
  display(para1[j],para2[j]);  }
   //printf("disply ");
 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 ");
 
 //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(" ");
 }
 
 
}
void draw(int number,int size,int line)
{
 int size1 = size;
 int line1 = line;
 int number1 = number;
 switch(number1)
 {  case 0: {
 if(line1 == 0line1 == 2*size1+2)//第一行
   {
   printf(" ");
     for(int i =0;i<size1;i++)
   
   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 == 0line1 == 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 == 0line1 == 2*size1+2line1 == size1+1)//第一行
   {
   printf(" ");
     for(int i =0;i<size1;i++)
   
   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 == 0line1 == 2*size1+2line1 == size1+1)//第一行
   {
   printf(" ");
     for(int i =0;i<size1;i++)
   
   printf(" ");
   }
  else
  {
   printf(" ");
   for(int i =0;i<size1;i++)
    {
    printf(" ");
    }
   printf("");   }
 }
 break;
 case 4:
  {
  if(line1 == 0line1 == 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(" ");   }
  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 == 0line1 == 2*size1+2line1 == size1+1)//第一行
  {
  printf(" ");
  for(int i =0;i<size1;i++)
  
  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 == 0line1 == 2*size1+2line1 == size1+1)//第一行
  {
  printf(" ");
  for(int i =0;i<size1;i++)
  
  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(" ");
  }
  else if(line1 == 2*size1+2line1 == 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 == 0line1 == 2*size1+2line1 == size1+1)//首行中间行和末尾行
  {
  printf(" ");
    for(int i =0;i<size1;i++)
  
  printf(" ");
  }
  else
  {
  printf("");
  for(int i =0;i<size1;i++)
  {
   printf(" ");
  }
    printf("");
  }
 }
 break;
 case 9:{
  if(line1 == 0line1 == 2*size1+2line1 == size1+1)//首行中间行和末尾行
  {
  printf(" ");
    for(int i =0;i<size1;i++)
  
  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;
}


Tags:一个 模拟 lc

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接