首页 > 学院 > 开发设计 > 正文

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

2019-11-17 05:47:36
字体:
来源:转载
供稿:网友
这是一个模拟类似电子表之类的东西,显示数字,你可以输入要显示数字的大小(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;
}



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表