This is for C Programming: Complete the program by providing the additional if-e
ID: 3876605 • Letter: T
Question
This is for C Programming:
Complete the program by providing the additional if-else branches for decoding other letters in a phone number. Try incrementally writing the program by adding one "else if" branch at a time, testing that each added branch works as intended.
#include <stdio.h>
int main(void) {
char phoneChar; // Current char in phone number string
printf("Enter phone number: ");
scanf("%c", &phoneChar); // Reads first char of user input
printf("Numbers only: ");
while (phoneChar != ' ') {
if (((phoneChar >= '0') && (phoneChar <= '9')) || (phoneChar == '-')) {
printf("%c", phoneChar); // Print element as is
}
else if ( ((phoneChar >= 'a') && (phoneChar <= 'c')) ||
((phoneChar >= 'A') && (phoneChar <= 'C')) ) {
printf("2");
}
// FIXME: Add remaining else-if branches
else {
printf("?");
}
scanf("%c", &phoneChar); // Read next char of user input
}
printf(" ");
return 0;
Explanation / Answer
#include <stdio.h>
int main(void) {
char phoneChar; // Current char in phone number string
printf("Enter phone number: ");
scanf("%c", &phoneChar); // Reads first char of user input
printf("Numbers only: ");
while (phoneChar != ' ') {
if (((phoneChar >= '0') && (phoneChar <= '9')) || (phoneChar == '-')) {
printf("%c", phoneChar); // Print element as is
}
else if ( ((phoneChar >= 'a') && (phoneChar <= 'c')) ||
((phoneChar >= 'A') && (phoneChar <= 'C')) ) {
printf("2");
}
// FIXME: Add remaining else-if branches
else if ( ((phoneChar >= 'd') && (phoneChar <= '3')) ||
((phoneChar >= 'D') && (phoneChar <= 'F')) ) {
printf("3");
}
else if ( ((phoneChar >= 'g') && (phoneChar <= 'i')) ||
((phoneChar >= 'G') && (phoneChar <= 'I')) ) {
printf("4");
}
else if ( ((phoneChar >= 'j') && (phoneChar <= 'l')) ||
((phoneChar >= 'J') && (phoneChar <= 'L')) ) {
printf("5");
}
else if ( ((phoneChar >= 'm') && (phoneChar <= 'o')) ||
((phoneChar >= 'M') && (phoneChar <= 'O')) ) {
printf("6");
}
else if ( ((phoneChar >= 'p') && (phoneChar <= 's')) ||
((phoneChar >= 'P') && (phoneChar <= 'S')) ) {
printf("7");
}
else if ( ((phoneChar >= 't') && (phoneChar <= 'v')) ||
((phoneChar >= 'T') && (phoneChar <= 'V')) ) {
printf("8");
}
else if ( ((phoneChar >= 'w') && (phoneChar <= 'z')) ||
((phoneChar >= 'W') && (phoneChar <= 'Z')) ) {
printf("9");
}
else if ( (phoneChar == '+') ||(phoneChar == ' ') ) {
printf("0");
}
else {
printf("?");
}
scanf("%c", &phoneChar); // Read next char of user input
}
printf(" ");
return 0;
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.