显示数字

    程序设计在线导引中的6.3显示器

#include <iostream>
#include < string.h>
#include <stdio.h>
using namespace std;

/*
         11111
        2         3
  2         3
  2         3
         44444
        5         6
  5         6
  5         6
         77777

*/

char n1[11] = { "- -- -----"};
char n2[11] = { "|     ||| ||"};
char n3[11] = { "|||||    |||"};
char n4[11] = { "    ----- --"};
char n5[11] = { "| |     | | "};
char n6[11] = { "|| |||||||"};
char n7[11] = { "- -- -- --"};


int main( int argc, char *argv[])
{
   int s; // 显示宽度
   char szNumber[20]; // 存放要显示的数字
   int nDigit, nLength;
   while(1){
         scanf( "%d%s",&s,szNumber);
     if(s==0){
             break;
    }
    nLength = strlen(szNumber);
     // 每个数字的笔画1
     for( int i=0; i<nLength; i++){
            nDigit = szNumber[i] - '0';
      printf( " ");
       // 显示的宽度
       for( int j=0; j<s; j++){
            printf( "%c", n1[nDigit]);
      }
      printf( " ");
    }
    printf( "\n");
     // 每个数字的笔画2 和 3
     for( int i=0; i<s; i++){
             // 每个数字的宽度  
             for( int j=0; j<nLength; j++){
                    nDigit = szNumber[j] - '0';
                    printf( "%c",n2[nDigit]);
                     for( int k=0; k<s; k++){
                      printf( " "); // 笔画2和3之间的空格
                    }
                    printf( "%c",n3[nDigit]);
            }
            printf( "\n");
    }
     // 输出笔画4
                 for( int i=0; i<nLength; i++){
            nDigit = szNumber[i] - '0';
      printf( " ");
       // 显示的宽度
       for( int j=0; j<s; j++){
            printf( "%c", n4[nDigit]);
      }
      printf( " ");
    }
    printf( "\n");
     // 笔画5和6
     for( int i=0; i<s; i++){
             // 每个数字的宽度  
             for( int j=0; j<nLength; j++){
                    nDigit = szNumber[j] - '0';
                    printf( "%c",n5[nDigit]);
                     for( int k=0; k<s; k++){
                      printf( " "); // 笔画5和6之间的空格
                    }
                    printf( "%c",n6[nDigit]);
            }
            printf( "\n");
    }  
     // 笔画7
     for( int i=0; i<nLength; i++){
            nDigit = szNumber[i] - '0';
      printf( " ");
       // 显示的宽度
       for( int j=0; j<s; j++){
            printf( "%c", n7[nDigit]);
      }
      printf( " ");
    }
    printf( "\n");
    printf( "\n");  
  } // end while
  
   return 0;
}

你可能感兴趣的:(职场,休闲,Beginner)