Hola muy buenas a todo el mundo.
Tengo que hacer una practica que consiste en hacer una calculadora que recibe los argumentos por linea de comando. Entonces el programa debe hacer la suma, resta, producto , cuociente y potencia.
Mi problema está en encontrar el signo de operacion ya que este no siempre está en la misma posicion.
En el comando podemos introducir por ejemplo 5x6 , 5x 6 , 5 x 6 , -5x6 , -5 x -6 etc.
Yo pensé en usar strcat para unir las cadena y usar un bucle for para encontrar el signo. Si el primer elemento es un signo k empiece por 0 sino por 1. una vez encontrado , break.
Pero en el main del hay un test que pone argv[1]="5.0" , argv[2]="+" , argv[3]="6.0". Alli es donde me da violacion de segmento en la funcion strcat
Espero que algun experto me pueda ayudar😁😁😁
Tengo que hacer una practica que consiste en hacer una calculadora que recibe los argumentos por linea de comando. Entonces el programa debe hacer la suma, resta, producto , cuociente y potencia.
Mi problema está en encontrar el signo de operacion ya que este no siempre está en la misma posicion.
En el comando podemos introducir por ejemplo 5x6 , 5x 6 , 5 x 6 , -5x6 , -5 x -6 etc.
Yo pensé en usar strcat para unir las cadena y usar un bucle for para encontrar el signo. Si el primer elemento es un signo k empiece por 0 sino por 1. una vez encontrado , break.
Pero en el main del hay un test que pone argv[1]="5.0" , argv[2]="+" , argv[3]="6.0". Alli es donde me da violacion de segmento en la funcion strcat
Espero que algun experto me pueda ayudar😁😁😁
Código (c) [Seleccionar]
int main(argc,*argv[ ])
{.....
argv[1]="5.0" ;
argv[2]="+" ;
argv[3]="6.0";
strcat(argv[1],argv[2]); // Aqui da violacion de segmento
.....
}