Problema en C; Expresión esperada

Resuelto
siniko44 Mensajes publicados 187 Estado Miembro -  
siniko44 Mensajes publicados 187 Estado Miembro -
Hola,
Aquí estoy comenzando en C desde hace poco, y me encuentro con mis primeros problemas.
He creado un pequeño script para un juego, el cual es el siguiente:

 #include <stdio.h> #include <stdlib.h> #include <string.h> int type, isFixe, val, val1, val2; char *typeHex; void jet(int type, int isFixe, int val1, int val2) { switch(type) { case 1: typeHex[2] = {'7','D'}; break; case 2: typeHex[2] = {'7','C'}; break; case 3: typeHex[2] = {'7','6'}; break; case 4: typeHex[2] = {'7','E'}; break; case 5: typeHex[2] = {'7','7'}; break; case 6: typeHex[2] = {'7','B'}; break; } if(isFixe == 1) { printf("Aquí está el jet a copiar: %s#0#0#0#0d0+%d",typeHex,val1); } else { printf("Aquí está el jet a copiar: %s#0#0#0#1d0+%d",typeHex,val2-1,val1-1); } } int main(int argc, char *argv[]) { printf("\tSoftware de creación de Jet by Psycko\n\n"); printf("==============================================\n\n"); printf("1. Vitalidad\t2. Sabiduría\n3. Fuerza\t4. Inteligencia\n5. Agilidad\t6. Suerte\n\n"); printf("Ingrese el número del tipo de jet: "); scanf("%d",&type); printf("Jet fijo(1) o jet no fijo(0) ?"); scanf("%d",&isFixe); if(isFixe == 1) { printf("Valor: "); scanf("%d",&val); jet(type,1,val,0); } else { printf("Valor 1: "); scanf("%d",&val1); printf("Valor 2: "); scanf("%d",&val2); jet(type,0,val1,val2); } printf("\n\n"); system("pause"); } 

Sólo la parte en negrita es la que nos concierne.
El problema es que, durante la compilación, la conocida consola de Windows me devuelve:

test.c: En la función 'jet':
test.c:12:23: error: se esperaba una expresión antes del token '{'
test.c:13:23: error: se esperaba una expresión antes del token '{'
test.c:14:23: error: se esperaba una expresión antes del token '{'
test.c:15:23: error: se esperaba una expresión antes del token '{'
test.c:16:23: error: se esperaba una expresión antes del token '{'
test.c:17:23: error: se esperaba una expresión antes del token '{'

Por lo tanto, ahora me dirijo a ustedes en la esperanza de encontrar una solución.

¡Buenas noches! :p

2 respuestas

  1. nicocorico Mensajes publicados 846 Estado Miembro 138
     
    Bueno, no conozco el C, pero si no me equivoco metes 2 caracteres en uno solo y el error está ahí;
    Además, puedes reemplazar el Switch por un array indexado por el valor Tipo, y me parece que estás redeclarando las variables tipo, val1 y val2...

    El roble también fue una bellota, antes de ser un roble
    1
  2. Char Snipeur Mensajes publicados 10112 Fecha de registro   Estado Colaborador Última intervención   1 331
     

    case 5:typeHex="77";
    Lo que quieras hacer con tu puntero typeHex no está claro. El método que te doy hace que typeHex apunte a una cadena constante, lo cual me parece la mejor solución porque typeHex es una variable global.
    --
    La verdadera sumisión es cuando los esclavos se preocupan por el precio del algodón.
    Char Snipeur
    0
    1. siniko44 Mensajes publicados 187 Estado Miembro 17
       
      ¡Muchas gracias! :)
      0