Si el símbolo es -, al valor se le resta 1.
Si el símbolo es +, al valor se le agrega 1.
Si el símbolo es /, al valor se divide entre 2.
Si el símbolo es *, al valor se multiplica por 2.
Código:
(10)-(9)*(18)/(9)+(10)+(11) y así...
Tengo el siguiente código:
Código
#include <stdio.h>
int main()
{
int N1[50], d2=0, d=1, i=0, d3=0; char S1[50];
for (int i3=0; i3<50; i3++)
{
N1[i3]=0;
S1[i3]=' ';
}
printf("Inserta un numero entero: ");
scanf("%d", &N1[0]);
while (S1[d2] = '0')
{
printf("Inserta el simbolo + para que aumente su valor en 1.\n");
printf("Inserta el simbolo - para que reduzca su valor en 1. \n");
printf("Inserta el simbolo * para que multiplique su valor por 2.\n");
printf("Inserta el simbolo / para que divida su valor en 2.\n");
printf("Inserta la opcion (simbolo) deseada (0 para terminar): ");
scanf("%c", &S1[d2]);
if (S1[d2]=='0')
break;
switch (S1[d2])
{
case '+' : N1[d]=N1[i]+1; /*CH[d2]='+'*/; break;
case '-' : N1[d]=N1[i]-1; /*CH[d2]='-'*/; break;
case '*' : N1[d]=N1[i]*2; /*CH[d2]='*'*/; break;
case '/' : N1[d]=N1[i]/2; /*CH[d2]='/'*/; break;
default : break;
}
d++; i++; d2++;
}
for (int i2=0; i2<d2; i2++)
{
if (N1[i2]==0)
break;
else
printf("(%d)%c\n", N1[i2], S1[i2]);
}
}
Sin embargo, no logro descubir el error, además de que el primer bucle while se repite antes de que me deje escribir algo.
Muchas gracias de antemano.










Autor


En línea


