#include #include #include #include #define CASY2 /* const jedna= {" +", " |", " |", " +", " |", " |", " +"}, dva = {"+---+", " |", " |", "+---+", "| ", "| ", "+---+"}, tri = {"+---+", " |", " |", "+---+", " |", " |", "+---+"}, sty = {"+ +", "| ", "| ", "+---+", " |", " |", " +"}, pat = {"+---+", "| ", "| ", "+---+", " |", " |", "+---+"}, ses = {"+ ", "| ", "| ", "+---+", "| |", "| |", "+---+"}, sed = {"+---+", " |", " |", " +", " |", " |", " +"}, ose = {"+---+", "| |", "| |", "+---+", "| |", "| |", "+---+"}, dev = {"+---+", "| |", "| |", "+---+", " |", " |", " +"}, nul = {"+---+", "| |", "| |", "+ +", "| |", "| |", "+---+"}, dvo = {" ", " ", "o", " ", "o", " ", " "}; */ int zrusPrazdne(FILE *input) { int c; while( ! isprint(c =getc(input))) if (c ==EOF) return 1; ungetc(c, input); return 0; } int zrusNewline(FILE *input) { int c; while ( isspace(c =getc(input)) ) { if (c ==EOF) return 1; if (c =='\n') return 0; } ungetc(c, input); return 0; } int main() { #ifdef CASY clock_t start =clock(); #endif char a[100], *b, znaky[10][40]; int i,j, off; gets(a); while (*a !='e') { //do we need to repeat cyklus b=a; off =0; for(i=0; i<10; i++) for(j=0; j<40; j++) znaky[i][j] =' '; //vycistime vystup; for(i=0; i<10; i++) znaky[i][29]='\n'; //eoln for(i=0; i<10; i++) znaky[i][30]=0; //eos znaky[7][0] =znaky[8][0] ='\n'; znaky[7][1] =znaky[8][1] ='\0'; while (*b) { //dokym nie sme na konci... switch (*b) { case '0': //OK for (i=0; i<5; i++) znaky[0][off+i]='-'; for (i=0; i<5; i++) znaky[6][off+i]='-'; for (i=0; i<7; i++) znaky[i][off]='|'; for (i=0; i<7; i++) znaky[i][off+4]='|'; znaky[0][off] = znaky[3][off]= znaky[6][off]= znaky[0][off+4]= znaky[3][off+4]= znaky[6][off+4]= '+'; break; case '1': //OK for (i=0; i<7; i++) znaky[i][off+4]='|'; znaky[0][off+4]= znaky[3][off+4]= znaky[6][off+4]= '+'; break; case '2': //OK for (i=0; i<5; i++) znaky[0][off+i]='-'; for (i=0; i<5; i++) znaky[6][off+i]='-'; for (i=0; i<5; i++) znaky[3][off+i]='-'; for (i=4; i<7; i++) znaky[i][off]='|'; for (i=0; i<3; i++) znaky[i][off+4]='|'; znaky[0][off] = znaky[3][off]= znaky[6][off]= znaky[0][off+4]= znaky[3][off+4]= znaky[6][off+4]= '+'; break; case '3': //OK for (i=0; i<5; i++) znaky[0][off+i]='-'; for (i=0; i<5; i++) znaky[6][off+i]='-'; for (i=0; i<5; i++) znaky[3][off+i]='-'; for (i=0; i<7; i++) znaky[i][off+4]='|'; znaky[0][off] = znaky[3][off]= znaky[6][off]= znaky[0][off+4]= znaky[3][off+4]= znaky[6][off+4]= '+'; break; case '4': //OK for (i=0; i<5; i++) znaky[3][off+i]='-'; for (i=0; i<3; i++) znaky[i][off]='|'; for (i=0; i<7; i++) znaky[i][off+4]='|'; znaky[0][off] = znaky[3][off]= znaky[0][off+4]= znaky[3][off+4]= znaky[6][off+4]= '+'; break; case '5': //OK for (i=0; i<5; i++) znaky[0][off+i]='-'; for (i=0; i<5; i++) znaky[6][off+i]='-'; for (i=0; i<5; i++) znaky[3][off+i]='-'; for (i=0; i<3; i++) znaky[i][off]='|'; for (i=4; i<7; i++) znaky[i][off+4]='|'; znaky[0][off] = znaky[3][off]= znaky[6][off]= znaky[0][off+4]= znaky[3][off+4]= znaky[6][off+4]= '+'; break; case '6': //OK for (i=0; i<5; i++) znaky[0][off+i]='-'; for (i=0; i<5; i++) znaky[6][off+i]='-'; for (i=0; i<5; i++) znaky[3][off+i]='-'; for (i=0; i<7; i++) znaky[i][off]='|'; for (i=4; i<7; i++) znaky[i][off+4]='|'; znaky[0][off] = znaky[3][off]= znaky[6][off]= znaky[0][off+4]= znaky[3][off+4]= znaky[6][off+4]= '+'; break; case '7': for (i=0; i<5; i++) znaky[0][off+i]='-'; for (i=0; i<7; i++) znaky[i][off+4]='|'; znaky[0][off] =znaky[0][off+4]= znaky[3][off+4]= znaky[6][off+4]= '+'; break; case '8': //OK for (i=0; i<5; i++) znaky[0][off+i]='-'; for (i=0; i<5; i++) znaky[6][off+i]='-'; for (i=0; i<5; i++) znaky[3][off+i]='-'; for (i=0; i<7; i++) znaky[i][off]='|'; for (i=0; i<7; i++) znaky[i][off+4]='|'; znaky[0][off] = znaky[3][off]= znaky[6][off]= znaky[0][off+4]= znaky[3][off+4]= znaky[6][off+4]= '+'; break; case '9': //OK for (i=0; i<5; i++) znaky[0][off+i]='-'; for (i=0; i<5; i++) znaky[6][off+i]='-'; for (i=0; i<5; i++) znaky[3][off+i]='-'; for (i=0; i<3; i++) znaky[i][off]='|'; for (i=0; i<7; i++) znaky[i][off+4]='|'; znaky[0][off] = znaky[3][off]= znaky[6][off]= znaky[0][off+4]= znaky[3][off+4]= znaky[6][off+4]= '+'; break; } if (*b ==':') { znaky[2][off] = znaky[4][off] ='o'; off +=3; } else off +=7; b++; //posunieme sa na dalsi znak } for (i=0; i<9; i++) printf("%s",znaky[i]); //vypiseme co treba gets(a); } printf("end"); // ALL's OK.. Good work #ifdef CASY printf("\n CAS: %10ld\n", (long) clock() -start); #endif return 0; }