/home/toolbox/public_html/solutions/109/10921/a.c
1 #include <stdio.h>
2 #include <string.h>
3 #include <sys/types.h>
4 #include <sys/stat.h>
5 #include <fcntl.h>
6 #include <stdint.h>
7 #include <math.h>
8 #include <stdlib.h>
9
10 #define TRUE (1 == 1)
11 #define FALSE (1 != 1)
12
13 #define DEBUG if (FALSE)
14
15
16 /*
17 * Author: Isaac Traxler
18 * Date: 2015-03-15
19 * Purpose:
20 * Problem: 10921
21 */
22
23 /*
24 * This template reads lines of data at a time until end of file.
25 */
26
27 #define MAX_LINE 257
28
29 char line[MAX_LINE];
30
31 void init()
32 {
33 /* FUNCTION init */
34 } /* FUNCTION init */
35
36 void dump()
37 {
38 /* FUNCTION dump */
39 } /* FUNCTION dump */
40
41 int getInput()
42 {
43 /* FUNCTION getInput */
44 int dataReadFlag;
45
46 fgets(line, MAX_LINE, stdin);
47 if (feof(stdin))
48 dataReadFlag = FALSE;
49 else
50 {
51 /* something to read */
52 dataReadFlag = TRUE;
53 line[strlen(line)-1] = 0;
54 } /* something to read */
55 return (dataReadFlag);
56 } /* FUNCTION getInput */
57
58 void process()
59 {
60 /* FUNCTION process */
61 int i;
62
63 for (i=0; i<strlen(line); i++)
64 {
65 /* for */
66 switch (line[i])
67 {
68 /* switch */
69 case 'A':
70 case 'B':
71 case 'C':
72 line[i] = '2';
73 break;
74 case 'D':
75 case 'E':
76 case 'F':
77 line[i] = '3';
78 break;
79 case 'G':
80 case 'H':
81 case 'I':
82 line[i] = '4';
83 break;
84 case 'J':
85 case 'K':
86 case 'L':
87 line[i] = '5';
88 break;
89 case 'M':
90 case 'N':
91 case 'O':
92 line[i] = '6';
93 break;
94 case 'P':
95 case 'Q':
96 case 'R':
97 case 'S':
98 line[i] = '7';
99 break;
100 case 'T':
101 case 'U':
102 case 'V':
103 line[i] = '8';
104 break;
105 case 'W':
106 case 'X':
107 case 'Y':
108 case 'Z':
109 line[i] = '9';
110 break;
111 } /* switch */
112 } /* for */
113 printf("%s\n", line);
114 } /* FUNCTION process */
115
116 int main()
117 {
118 /* main */
119 int moreToDo;
120
121 init();
122 moreToDo = getInput();
123 while (moreToDo)
124 {
125 /* while */
126 process();
127 moreToDo = getInput();
128 } /* while */
129
130 return EXIT_SUCCESS;
131 } /* main */
132