Problème en C ; Expected expression

Résolu
siniko44 Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   -  
siniko44 Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Voilà je débute en C depuis peu, et je rencontre mes premiers problèmes.
J'ai créer un petit script pour un jeu, que voici :

#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("Voici le jet a copier : %s#0#0#0#0d0+%d",typeHex,val1); }
	else { printf("Voici le jet a copier : %s#0#0#0#1d0+%d",typeHex,val2-1,val1-1); }
}

int main(int argc, char *argv[])
{

printf("\tLogiciel création de Jet by Psycko\n\n");
printf("==============================================\n\n");
printf("1. Vitalite\t2. Sagesse\n3. Force\t4. Intelligence\n5. Agilite\t6. Chance\n\n");
printf("Entrez le numero du type de jet : ");
scanf("%d",&type);
printf("Jet fixe(1) ou jet non-fixe(0) ?");
scanf("%d",&isFixe);
if(isFixe == 1)
{
printf("Valeur : ");
scanf("%d",&val);
jet(type,1,val,0);
}
else
{
printf("Valeur 1 : ");
scanf("%d",&val1);
printf("Valeur 2 : ");
scanf("%d",&val2);
jet(type,0,val1,val2);
}


printf("\n\n");
system("pause");
}

Seul la partie en gras est concernée.
Seulement voilà, lors de la compilation, la bien connue console Windows me renvoie :

test.c: In function 'jet':
test.c:12:23: error: expected expression before '{' token
test.c:13:23: error: expected expression before '{' token
test.c:14:23: error: expected expression before '{' token
test.c:15:23: error: expected expression before '{' token
test.c:16:23: error: expected expression before '{' token
test.c:17:23: error: expected expression before '{' token

Donc je me tourne maintenant vers vous dans l'espoir de trouver une solution.

Bonne nuit ! :p
A voir également:

2 réponses

nicocorico Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   138
 
Hé bien, je connais pas le C, mais si je ne m'abuse tu mets 2 chars dans un seul et l'erreur est là;
De plus tu peux remplacer le Switch par un tableau indexé par la valeur Type, et il me semble que tu redéclares les variables type, val1 et val2...

Le chêne aussi était un gland, avant d'être un chêne
1
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
tu fais de la chaine de caractère, donc utilise simplement le égale avec les guillemets.
case 5:typeHex="77";
Ce que tu veux faire avec ton pointeur typeHex n'est pas clair. La méthode que je te donne fait pointer typeHex sur une chaine constante, ce qui me parait la meilleur solution car typeHex est une variable globale.
0
siniko44 Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   17
 
Merci beaucoups ! :)
0