Write a program called asci.c that prints the ASCII codes of printable character
ID: 667023 • Letter: W
Question
Write a program called asci.c that prints the ASCII codes of printable characters, uppercase characters, lowercase characters, and of digits, depending on a command-line option. The options are:
-printable
-upper
-lower
-digit
If no option is set, then -printable is the default. It the option is incorrect, or there are too many arguments on the command line, then a usage message is output. The possible behaviours are:
prompt$ ./asci -printable
32 33 ! 34 " 35 # 36 $ 37 % 38 & 39 '
40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 /
48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7
56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ?
64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G
72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O
80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W
88 X 89 Y 90 Z 91 [ 92 93 ] 94 ^ 95 _
96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g
104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o
112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w
120 x 121 y 122 z 123 { 124 | 125 } 126 ~
With no option, it does printable:
prompt$ ./asci
32 33 ! 34 " 35 # 36 $ 37 % 38 & 39 '
40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 /
48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7
56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ?
64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G
72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O
80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W
88 X 89 Y 90 Z 91 [ 92 93 ] 94 ^ 95 _
96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g
104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o
112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w
120 x 121 y 122 z 123 { 124 | 125 } 126 ~
prompt$ ./asci -upper
65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H
73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P
81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X
89 Y 90 Z
prompt$ ./asci -lower
97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h
105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p
113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x
121 y 122 z
prompt$ ./asci -digit
48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7
56 8 57 9
If the option is spelt incorrectly:
prompt$ ./asci -up
Usage: ./asci [-printable,-upper,-lower,-digit]
or if there are too many options:
prompt$ ./asci -upper -lower
Usage: ./asci [-printable,-upper,-lower,-digit]
Explanation / Answer
I have written the program for Upper, lower and digits
#include<stdio.h>
int main()
{
char c;
int i;
printf("Enter u to display ascii for uppercase and l to display ascii for lowercase and d to display ascii for digits : ");
scanf("%c",&c);
if(c=='U' || c=='u')
{
for(c='A'; c<='Z'; ++c)
printf("ASCII value of character %e: %d ",c,c);
}
else if (c=='L' || c=='l')
{
for(c='a'; c<='z'; ++c)
printf("ASCII value of character %e: %d ",c,c);
}
else if (c==d)
{
for(i=0;i<=255;i++)
printf("ASCII value of character %e: %d ",i,i);
}
if (c!='U' || c!='L' || c=='u' || c=='l')
printf("Type u or l or d");
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.