आप निम्न की तरह कुछ कोशिश कर सकते हैं जाहिर है, निम्नलिखित स्मृति de-आवंटन, त्रुटि जाँच, अधूरा कोड, आदि जैसी चीजों का एक बहुत कुछ विचार आप एक संकेत दे रहा है का अभाव !
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#define ROW 4
#define COL 8
#define CHAR_INDEX_MAX 26
enum alph_enum {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z};
typedef struct _alphabets {
char *line[ROW];
}alphabet;
alphabet chars[26];
init_a(enum alph_enum letter)
{
int i;
for (i=0 ; i<ROW ; i++) {
chars[letter].line[i] = (char *) malloc(COL);
if (chars[letter].line[i] == NULL) {
printf("memory allocation failed \n");
return;
}
}
switch (letter) {
/**/
case H:
strcpy(chars[letter].line[0], "| |");
strcpy(chars[letter].line[1], "|_______|");
strcpy(chars[letter].line[2], "| |");
strcpy(chars[letter].line[3], "| |");
break;
case E:
strcpy(chars[letter].line[0], "|-------");
strcpy(chars[letter].line[1], "|_______");
strcpy(chars[letter].line[2], "| ");
strcpy(chars[letter].line[3], "|_______");
break;
case L:
strcpy(chars[letter].line[0], "| ");
strcpy(chars[letter].line[1], "| ");
strcpy(chars[letter].line[2], "| ");
strcpy(chars[letter].line[3], "|_______");
break;
/* for all the other alphabets */
}
return;
}
print_str(char word[])
{
int i, j;
printf("\n");
for (i=0; i<ROW; i++) {
for (j=0 ; j<strlen(word) ; j++) {
printf("%s", chars[word[j] % 'A'].line[i]);
}
printf("\n");
}
printf("\n");
return;
}
int main(void)
{
init_a(H);
init_a(E);
init_a(L);
/* print_str("HELLO"); */
print_str("HELL");
return 0;
/* free the memory for HEL here */
}
उत्पादन इस प्रकार होगी:
> gcc test.c -o print
> print
| ||-------| |
|_______||_______| |
| || | |
| ||_______|_______|_______
>
कार्यसूची:
- आप नंबर, विशेष वर्ण (जैसे, @ # $, आदि!), खाली शामिल कर सकते हैं अंतरिक्ष, सभी ASCII वर्णों को समझ में आता है।
- आप बोल्ड समर्थन कर सकते हैं इटैलिक्स, रेखांकन और वर्ण
- आप अग्रभूमि और पृष्ठभूमि रंग का समर्थन कर सकते हैं
- आप एनीमेशन
आशा इस मदद करता है समर्थन कर सकते हैं के लिए प्रकाश डाला!
(एक तरफ, उपरोक्त का उपयोग आधार के रूप में करते हुए, आप असल में एएससीआई-कला फ़ॉन्ट फ़ाइलों का निर्माण कर सकते हैं और उन्हें आवश्यकतानुसार सरणी में लोड कर सकते हैं।) –
धन्यवाद, मुझे लगता है कि मुझे यह विचार मिला है ... मुझे इसे आज़माएं ... – utsabiem
क्या यह 2 डी सरणी का उपयोग कर रहा था ... लेकिन अंतरिक्ष-पैडिंग में कुछ समस्या का सामना करना .. उम्मीद है कि मैं इसे जल्द ही हल कर दूंगा .. – utsabiem