Ir ao conteúdo

Posts recomendados

Postado

Pessoal estou desenvolvendo um programa que faça a conversão de algumas letras por numeros, consigo imprimir apenas o 3,6,9 pois o char não aceita imprimi 2 caracteres em um, pensei em uma logica usando a tabela ASCII, (por exemplo o numero 15 fiz a seguinte conta 50 - 36 que na tabela é 50 = 2 e 36 = #, deu certo!) so que não consigo imprimir...

 

 

 

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>

char palavra [150];
char palavraConvertida [150];
int armazenaInt[150];
char converte (char letra){
    
    switch(letra){
        case 'c' :
        letra = '3';
        break;
        
        case 'f':
        letra = '6';
        break;
        
        case 'i': 
        letra = '9';
        break;
        
        case 'l': 
        letra = '\f';   //12
        break;
        
        case 'o': 
        letra = '2'-'#';   //15      do 12 pra baixo foi uma logica que pensei usando a tabela ASCII pois o char não tava aceitando imprimir 2 numeros em um caractere
        break;
        
        case 'r': 
        letra = '2'-' ';   //18
        break;
        
        case 'u': 
        letra = '='-'(';   //21
        break;
        
        case 'x': 
        letra = '<'-'$';  //24
        break;
    }
    return letra;
}
    
    char convertendo(){
        for( int i = 0; i < 50; i++){
        /*    if (converte(palavra[i]) < 'a' || converte(palavra[i]) > 'z'){
                armazenaInt[i] = converte(palavra[i]);
            }else{
            
        */
        
            palavraConvertida[i] = converte(palavra[i]);
            
        }    
    }
int main(){
    char var = '<' - '$';
    printf("Digite uma palavra para ser convertida  : ");
    gets(palavra);
    convertendo();
    printf("\nPalavra convertida para: %s ",palavraConvertida,armazenaInt);
    getch();
    return 0;
}

 

Postado
7 minutos atrás, KXSY disse:

@Marckya Não entendi muito bem, o seu intuito é passar os caracteres para números inteiros?

Sim, por exemplo o usuário digita "cloud" a saida vai ser "3121521d" se digitar "abcou" a saida vai ser "ab31521".

Postado
4 minutos atrás, KXSY disse:

Seria assim?


#include <stdio.h>
#include <ctype.h>

#define T_VETOR 10

int main(void) 
{
  char v[T_VETOR],d;
  printf("\nDigite uma palavra:\t");
  scanf("%s",v);
  printf("\n");
  for(d=0; v[d]; d++)
    printf("%i ",toupper(v[d])-64);
  printf("\n");
  getchar();
}

 

Não, não são todos os caracteres que são transformados em inteiros, apenas alguns especifico, tem uma tabela:

c = 3

f = 6

i = 9

l = 12

o = 15

r = 18

u = 21

x = 24

daí caso alguma letra que contenha nessa tabela for digitada, automaticamente a saida vai sair algum numero. Caso o usuario digite "abcde"  a saida vai ser "ab3dc", vai sair a letra e o numero junto...

 

 

 

 

 

Postado
28 minutos atrás, KXSY disse:

@Marckya O modo mais simples seria converter na saída.

 

exemplo


#include <stdio.h>
#include <ctype.h>

#define T_VETOR 10

int main(void) 
{
  char v[T_VETOR],d;
  printf("\nDigite uma palavra:\t");
  scanf("%s",v);
  printf("\n");
  for(d=0; v[d]; d++)
    switch(toupper(v[d]))
    {
      case 'C':
        printf("3");
      break;
      case 'F':
        printf("6");
      break;
      case 'I':
        printf("9");
      break;
      case 'L':
        printf("12");
      break;
      case 'O':
        printf("15");
      break;
      case 'R':
        printf("18");
      break;
      case 'U':
        printf("21");
      break;
      case 'X':
        printf("24");
      break;
      default:
        printf("%c",v[d]);
    }
  printf("\n");
  getchar();
}

Outra maneira seria criar um tipo especifico para armazenar letras e números.

Isso rodou perfeito! So precisou de um ajuste em vez de scanf usei gets assim caso o usuario digite duas palavras separadas converta todas. Muito Obrigado!!

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!