zoukankan      html  css  js  c++  java
  • 将数字转化为液晶显示屏的样子

    发一个很蛋疼的程序,将一个数字转化为液晶显示屏显示的样子:第一个输入是尺寸,第二输入是要转化的数字,当两个参数都为0的时候结束输入:

    #include<iostream>
    using namespace std;
    
    struct Print{
    	int size;
    	int numPrint;
    };
    
    void printNum(Print print);
    
    int main(){
    	Print *prints = new Print[10];
    	int index = 0;
    
    	int size;
    	int numPrint;
    
    	cin>>size;
    	cin>>numPrint;
    
    	while(size != 0 && numPrint != 0){
    		Print *print = new Print();
    		print->size = size;
    		print->numPrint = numPrint;
    
    		prints[index] = *print;
    		index++;
    		cin>>size;
    		cin>>numPrint;
    	}
    
    	for(int i = 0; i < index; i++){
    		printNum(prints[i]);
    		cout<<endl<<endl;
    	}
    	system("pause");
    }
    
    void printNum(Print print){
    	int size = print.size;
    	int numPrint = print.numPrint;
    
    	int *nums = new int[8];
    	int index = 0;
    	while(numPrint !=  0){
    		int temp = numPrint - (numPrint / 10) * 10;
    		nums[index] = temp;
    		numPrint = numPrint / 10;
    		index++;
    	}
    
    	for(int row = 0; row < 2*size + 3; row++){
    		for(int i = index - 1; i >= 0; i--){
    			if(row == 0){
    				switch(nums[i]){
    				case 1:
    				case 4:
    					for(int length = 0; length < size + 2; length++){
    						cout<<" ";
    					}
    					break;
    				default:
    					cout<<" ";
    					for(int length = 1; length < size + 1; length++){
    						cout<<"-";
    					}
    					cout<<" ";
    					break;
    				}
    			}
    
    			if(row > 0 && row <size + 1){
    				switch(nums[i]){
    				case 1:
    				case 2:
    				case 3:
    				case 7:
    					for(int length = 0; length < size + 1; length++){
    						cout<<" ";
    					}
    					cout<<"|";
    					break;
    				case 5:
    				case 6:
    					cout<<"|";
    					for(int length = 0; length < size + 1; length++){
    						cout<<" ";
    					}
    					break;
    				case 4:
    				case 8:
    				case 9:
    				case 0:
    					cout<<"|";
    					for(int length = 1; length < size + 1; length++){
    						cout<<" ";
    					}
    					cout<<"|";
    					break;
    				}
    			}
    
    			if(row == size + 1){
    				switch(nums[i]){
    				case 2:
    				case 3:
    				case 4:
    				case 5:
    				case 6:
    				case 8:
    				case 9:
    					cout<<" ";
    					for(int length = 1; length < size + 1; length++){
    						cout<<"-";
    					}
    					cout<<" ";
    					break;
    				default:
    					for(int length = 0; length < size + 2; length++){
    						cout<<" ";
    					}
    					break;
    				}
    			}
    
    			if(row > size + 1 && row < 2*size+ 2){
    				switch(nums[i]){
    				case 1:
    				case 3:
    				case 5:
    				case 4:
    				case 7:
    				case 9:
    					for(int length = 1; length < size + 2; length++){
    						cout<<" ";
    					}
    					cout<<"|";
    					break;
    				case 2:
    					cout<<"|";
    					for(int length = 1; length < size + 2; length++){
    						cout<<" ";
    					}
    					break;
    				default:
    					cout<<"|";
    					for(int length = 1; length < size + 1; length++){
    						cout<<" ";
    					}
    					cout<<"|";
    					break;
    				}
    			}
    
    			if(row == 2*size+2){
    				switch(nums[i]){
    				case 1:
    				case 4:
    				case 7:
    					for(int length = 0; length < size + 2; length++){
    						cout<<" ";
    					}
    					break;
    				default:
    					cout<<" ";
    					for(int length = 1; length < size + 1; length++){
    						cout<<"-";
    					}
    					cout<<" ";
    					break;
    				}
    			}
    		}
    		cout<<endl;
    		}
    }
    

     

  • 相关阅读:
    新浪微博学习的知识点
    新浪项目笔记
    2015年10月20日整理知识
    版本管理工具 (git 或者 svn)
    Coding 代码push/commit/pull/git clone
    fileurlwithpath urlwithstring 这俩有啥区别吗
    正则表达式
    地图
    各种杂项
    实时通讯
  • 原文地址:https://www.cnblogs.com/lqminn/p/2675411.html
Copyright © 2011-2022 走看看