Problème en C ; Expected expression [Résolu/Fermé]

Signaler
Messages postés
172
Date d'inscription
vendredi 30 juillet 2010
Statut
Membre
Dernière intervention
29 novembre 2013
-
siniko44
Messages postés
172
Date d'inscription
vendredi 30 juillet 2010
Statut
Membre
Dernière intervention
29 novembre 2013
-
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

2 réponses

Messages postés
815
Date d'inscription
dimanche 19 juin 2011
Statut
Membre
Dernière intervention
3 juillet 2018
123
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
Messages postés
9713
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
13 septembre 2019
1118
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.
siniko44
Messages postés
172
Date d'inscription
vendredi 30 juillet 2010
Statut
Membre
Dernière intervention
29 novembre 2013
14
Merci beaucoups ! :)