Solução Telefone - Semana 2

Solução por Rogério Júnior

A imagem no problema já nos mostra a que numero cada letra se refere. Assim vamos ler toda a linha e, para cada caractere lido, basta identificar a que número ele se refere, checando em que tecla ele está. Se o caractere for um hífen, o imprimimos. Vamos ao código:


#include <cstdio>
char letra;
int main(){
while(true){ // inicie um loop infinito
scanf("%c", &letra); // leia a letra da vez
if(letra=='\n') break; // se for uma quebra de linha, a entrada acabou
// caso contrário, cheque a que tecla a letra pertence
if(letra=='A' || letra=='B' || letra=='C') printf("2");
if(letra=='D' || letra=='E' || letra=='F') printf("3");
if(letra=='G' || letra=='H' || letra=='I') printf("4");
if(letra=='J' || letra=='K' || letra=='L') printf("5");
if(letra=='M' || letra=='N' || letra=='O') printf("6");
if(letra=='P' || letra=='Q' || letra=='R' || letra=='S') printf("7");
if(letra=='T' || letra=='U' || letra=='V') printf("8");
if(letra=='W' || letra=='X' || letra=='Y' || letra=='Z') printf("9");
if(letra=='-') printf("-"); // se for um hífen, imprima hífen
}
printf("\n"); // imprima um \n após o fim da entrada para evitar presentation error
return 0;
}

view raw

gistfile1.cpp

hosted with ❤ by GitHub