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;
    		}
    }
    

     

  • 相关阅读:
    day_2:re
    day_1:Requests
    CTF-PHP漏洞总结(持续更新)
    BugkuCTF-Web- flag在index里 80
    中缀表达式转换为后缀表达式(C语言实现)
    逆波兰计算器1.0 (c语言 栈实现)支持小数计算
    二进制数转化为十进制数(栈的学习练习)
    数据结构:统计学生信息(c++动态链表完成)
    数据结构:删除数组中的元素(c++)链表形式
    约瑟夫环 (c++循环链表方法书写)
  • 原文地址:https://www.cnblogs.com/lqminn/p/2675411.html
Copyright © 2011-2022 走看看