Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

[C/C++] Cambiar Cadena String A Entero

Participa en el tema [C/C++] Cambiar Cadena String A Entero en el foro Programación.
Hola chavos, tengo este programa: Tengo que evaluar la expresion ((9 + 12 – 8) ...

Buscar en este tema:
 
  •  
    #1 [C/C++] Cambiar Cadena String A Entero
    Hola chavos, tengo este programa:
    Tengo que evaluar la expresion
    ((9 + 12 – 8) * (15 / 3 + 34)) – (34 – 23 * 2)
    para que al final me de 485, primero la tengo que convertir de string a entero y luego ir evaluando la primera parte, la segunda, y luego la tercera y luego ya toda junta para que me de el resultado. Solo que aqui me trabe.

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    int main()
    {
    int i,j,k,res;
    char expresion[]="((9 + 12 - 8) * (15 / 3 + 34)) - (34 - 23 * 2)";
    char exp1=(9+12-8);
    char exp2=(15/3+34);
    char exp3=(34-23*2);
    i=atoi(exp1);
    j=atoi(exp2);
    k=atoi(exp3);
    res=(i*j)-k;
    clrscr();
    printf("\nLa expresion %s da como resultado:\n%d,%d,%d en total: \n%d",expresion,i,j,k,res);
    return 0;
    }
    +
     
    0
    Me gusta
     
    | Más
  • Usuario inexistente escribió hace 1 año ¿Mensaje inapropiado?

    #2 Re: Cambiar Cadena String A Entero

    De conclase (2 segundos en google)
    Originalmente publicado por conclase.net
    int atoi(const char *numPtr);
    Convierte la porción inicial de la cadena apuntada por numPtr a una representación de int.
    Valor de retorno:
    La función atoi retorna el valor convertido.
    O sea, convierte una cadena en entero. Por ende:
    Código:
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>  /* Para qué usar conio? */
    int main()
    {
        int i,j,k,res;
        char expresion[]="((9 + 12 - 8) * (15 / 3 + 34)) - (34 - 23 * 2)";
        char exp1=(9+12-8); /* Para qué  */
        char exp2=(15/3+34);  /*Para qué */
        char exp3=(34-23*2); /* Para qué */ 
    
        i=atoi(exp1); /* Estás haciendo sobre un char, no sobre char* */
        j=atoi(exp2);
        k=atoi(exp3);
    
        res=(i*j)-k;
        clrscr();   /* Más allá de que ésta función es el orígen de conio.h, no hace falta */ 
        printf("\nLa expresion %s da como resultado:\n%d,%d,%d en total: \n d",expresion,i,j,k,res);
        return 0;
    
    Me gusta este mensaje
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 1 RESPUESTA
  • 2109 VISTAS
  • 2 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB