• Inicio
  • Buscar
  • Ingresar
  • Registrarse

    Seguridad en gadgets tecnológicos: todo lo que necesitas saber para protegerte

    • Hack x Crack - Comunidad de Seguridad informática »
    • Programación »
    • C / C++ »
    • Ayuda Por Favor!!
    • Imprimir
    Páginas: [1]   Ir Abajo

    Autor Tema: Ayuda Por Favor!!  (Leído 2798 veces)

    Desconectado Just Racso

    • { L0 } Ñuub
    • Mensajes: 2
      • Ver Perfil
    Ayuda Por Favor!!
    « en: Mayo 05, 2018, 12:03:12 am »
    Hola buenas, lo que pasa es que estoy realizando un programa que funcione como una calculadora que realice las operaciones básicas suma, resta, multiplicación y división
    de una operación que sera ingresada por teclado y a la vez, se debe de resolver siguiendo el orden de importancia matematico, es decir, mult y div > sum y res, mientras que
    mult = div y sum = res, donde también se pueden incluir parentesis (), [], {}, los cuales tienen la misma importancia y son de mayor importancia de la operación, y cuando la
    operación a realizar tiene la misma importancia que la otra en su categoria, esta se debe de resolver de izquierda a derecha.
    El inicio de mi codigo es el siguiente:


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

    #define max 100

    main()
    {
       char operacionPrincipal[max];
       int i,par1,par2;

       printf("Los simbolos permitidos son:\nPara las operaciones: Suma = '+';Resta = '-'; multiplicación = '*' y division = '/'\nPueden ser ordenados con los parentesis ();[],{} como le sea conveniete\n");
       printf("Ingrese la operacion a realizar, recuerde que debe de ser de la forma {a+[b*(c-(d/e))]}: ");
       scanf("%[^\n]",operacionPrincipal); //ingreso datos de entrada

       for (i = 0; i < max; ++i)
       {
          if (operacionPrincipal=='(')
          {
             par1++;
          }
       }
       printf("la operacion tiene %d",par1,"apertura de parentesis");
       return 0;
    }

    lo que pretendo hacer es contar cuantos "(" (apertura de parentesis) hay en la operación para luego contar los ")" y compararlos para ver un posible error de sintaxis
    pero al momento de imprimir la cantidad de "(" el resultado que me arroja no es el que deberia, por ejemplo, si ingreso Ho(la me muestra como resultado 2408449 en ves de
    1 que es lo que deberia mostrar; agradezco mucho de antemano a los que puedan aclararme esta duda y darme una ayuda para el programa que intento realizar.
    En línea

    Desconectado ravenheart

    • { L7 } Juanker
    • *******
    • Mensajes: 1359
    • Todos mis mensajes están bajo la licencia WTFPL v2
      • Ver Perfil
    Re:Ayuda Por Favor!!
    « Respuesta #1 en: Mayo 05, 2018, 03:54:08 pm »
    No estás inicializando la variable, y en C no se inicializa una variable automáticamente, así que coge el valor que tenga la dirección de memoria asignada.

    Tendrías que hacer:

    int i = 0,par1 = 0,par2 = 0;
    En línea
    You do not need hope if you have drama to back you up.

    Desconectado Just Racso

    • { L0 } Ñuub
    • Mensajes: 2
      • Ver Perfil
    Re:Ayuda Por Favor!!
    « Respuesta #2 en: Mayo 05, 2018, 09:31:38 pm »
    Muchas gracias por la ayuda!! me sirvio y me aclaraste bastante =D
    En línea

    • Imprimir
    Páginas: [1]   Ir Arriba
    • Hack x Crack - Comunidad de Seguridad informática »
    • Programación »
    • C / C++ »
    • Ayuda Por Favor!!
     

    • SMF | SMF © 2013, Simple Machines
    • XHTML
    • RSS
    • WAP2
    Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso... Learn more