ในโปรแกรมนี้ เราจะมาดูวิธีการซูมตัวเลขของจำนวนเต็มใน C++ การซูมหมายถึงการพิมพ์ตัวเลขโดยใช้อักขระอื่นในรูปแบบที่ใหญ่กว่า ตรรกะง่ายๆ แต่เราต้องสร้างตัวเลขที่มากขึ้นทีละตัวจาก 0 ถึง 9
โค้ดตัวอย่าง
#include <bits/stdc++.h> using namespace std; void print_zero() { for (int i=0; i<5; i++) { for (int j=0; j<5; j++) { if (i==0 || i==4) cout << '#'; else if (j==0 || j==4) cout << '#'; else cout << " "; } cout << endl; } } void print_one() { for (int i=0; i<5; i++) { for (int j=0; j<5; j++) { if (j==2) cout << '#'; else if ((i==1 && j==1)) cout << '#'; else if (i==4) cout << '#'; else cout << " "; } cout << endl; } } void print_two() { for (int i=0; i<5; i++) { for (int j=0; j<4; j++) { if (i==0 && j==4) cout << " "; else if (i==0 || i==4) cout << '#'; else if (i==1 && j==0) cout << '#'; else if (i==(4-j)) cout << '#'; else cout << " "; } cout << endl; } } void print_three() { for (int i=0; i<5; i++) { for (int j=0; j<5; j++) { if (i==0 || i==2 || i==4) cout << '#'; else if (j==4) cout << '#'; else cout << " "; } cout << endl; } } void print_four() { for (int i=0; i<5; i++) { for (int j=0; j<5; j++) { if (j==4) cout << '#'; else if (i==2) cout << '#'; else if (j==0 && (i==0 || i==1)) cout << '#'; else cout << " "; } cout << endl; } } void print_five() { for (int i=0; i<5; i++) { for (int j=0; j<5; j++) { if (i==0 || i==2 || i==4) cout << '#'; else if ((j==0 && i==1) || (j==4 && i==3)) cout << '#'; else cout << " "; } cout << endl; } } void print_six() { for (int i=0; i<5; i++) { for (int j=0; j<5; j++) { if (i==0 || i==2 || i==4) cout << '#'; else if ((j==0 && (i==1 || i==3)) || (j==4 && i==3)) cout << '#'; else cout << " "; } cout << endl; } } void print_seven() { for (int i=0 ; i<5; i++) { for (int j=0 ; j<5; j++) { if (i==0 && (j!=4)) cout << '#'; else if (i==2 && (j==2 || j==4)) cout << '#'; else if (j==3) cout << '#'; else cout << " "; } cout << endl; } } void print_eight() { for (int i=0; i<5; i++) { for (int j=0; j<5; j++) { if (i==0 || i==2 || i==4) cout << '#'; else if ((j==0 && (i==1 || i==3) || (j==4 && (i==1 || i==3)))) cout << '#'; else cout << " "; } cout << endl; } } void print_nine() { for (int i=0; i<5; i++) { for (int j=0; j<5; j++) { if ( i==0 || i==2 || j==4) cout << '#'; else if (i==1 && j==0) cout << '#'; else cout << " "; } cout << endl; } } void zoom_digit(int number) { // Converting number to string stringstream ss; ss << number; string str = ss.str(); for (int k=0; k<str.length(); k++) { cout << endl; switch(str[k]-'0'){ case 0: print_zero(); continue; case 1: print_one(); continue; case 2: print_two(); continue; case 3: print_three(); continue; case 4: print_four(); continue; case 5: print_five(); continue; case 6: print_six(); continue; case 7: print_seven(); continue; case 8: print_eight(); continue; case 9: print_nine(); continue; } } } int main() { long long number = 125478539; zoom_digit(number); }
ผลลัพธ์