Amélioration de mon jeu
Bonjour,
j'ai créé un programme de jeu questionnaires, je souhaite que si la reponse est juste l'ordinateur affiche vrai mais je n'y arrive pas. voici le programme:
j'ai créé un programme de jeu questionnaires, je souhaite que si la reponse est juste l'ordinateur affiche vrai mais je n'y arrive pas. voici le programme:
#include <stdio.h>
void saute_ligne(long n);
main()
{
int AnneeNaiss, x,Vrai;
char nom[75];
printf(" UNE QUESTION, UNE REPONSE!!!");
saute_ligne(2);
printf(" Donnez votre annee de naissance : ");
scanf("%d",&AnneeNaiss);
saute_ligne(1);
printf(" Votre age est %d ans",2016-AnneeNaiss);
saute_ligne(2);
x=2016-AnneeNaiss;
saute_ligne(1);
if(x<45)
{
printf (" Inserez un prenom pour continuez ce jeu : ");
scanf ("%s",&nom);
saute_ligne(1);
printf(" Bienvenue %s",&nom);
saute_ligne(2);
printf(" Comment allez vous? : ");
scanf ("%s",&nom);
saute_ligne(1);
printf (" Vs serez soumis a des questionnaires pour gagner 500.000 fcfa ");
saute_ligne(2);
printf (" Etes vous pret ? (Tapez 1 pour pret ou 0 pour arreter le jeu) : ");
scanf("%d",&x);
saute_ligne(1);
printf (" Connaissez vous bien le Tchad? (Tapez 1 pour oui ou 0 pour arreter le jeu) : ");
scanf("%d",&x);
saute_ligne(2);
if(x!=0)
{
printf (" Question 1: Quelle est la superficie du Tchad ?: ");
scanf ("%s",&nom);
if(nom=="1.284.000km2")
printf("vrai");
saute_ligne(1);
}
else
{
printf("faux");
saute_ligne(1);
}
printf(" Question 2: Comment appelle ton l'hymne du Tchad?: ");
scanf ("%s",&nom);
saute_ligne(1);
printf(" Question 3: Quel rang occupe le Tchad des pays les plus vastes d'Afrique: ");
scanf ("%s",&nom);
saute_ligne(1);
printf (" Question 4: Qui est le Directeur General de MKGT CONSULT?:");
scanf ("%s",&nom);
saute_ligne(1);
printf (" Question 5: Quels sont les pays dont le Tchad partage des frontieres communes ?:");
scanf ("%s",&nom);
saute_ligne(1);
printf (" Question 6: En quelle date le Tchad a t-il accede a l'independance?:");
scanf ("%s",&nom);
saute_ligne(2);
printf (" Voici en fin la 7e et derniere question qui fera de vous le fameux gagnant ou perdant de 500.000 fcfa ");
saute_ligne(2);
printf (" Top c'est parti!!! ");
saute_ligne(2);
printf (" Question 7: Quelle est la situation geographie du Tchad?:");
scanf ("%s",&nom);
saute_ligne(2);
printf(" JEU TERMINE");
saute_ligne(2);
printf(" Desole vous avez perdu");
printf(" 500.000 fcfa!!!");
saute_ligne(2);
printf(" Mais vous savez bien que c'est pas la fin du monde!!!");
saute_ligne(2);
printf(" Programme realise par DINGAMONDJI CHRISTIAN ");
saute_ligne(1);
}
else
{
printf(" Desole votre age ne correspond pas aux criteres pour ce jeu");
saute_ligne(2);
}
return 0;
}
void saute_ligne(long n)
{
int i;
for(i=1; i<=n; i++)
printf("\n");
}
1 réponse
-
ModérateurQuelques remarques:
- utilise des tableaux de structures et une boucle (à adapter bien entendu)
- la comparaison des chaînes s'effectue avec <ital>strcmp</ital : voir man strcmp.
- ne sépare pas le code de saute_ligne de sa définition, sauf si tu te crées une bibliothèque ou un module séparé et utilise dans ce cas un fichier d'en-tête <ital>#include</ital séparé.
- en règle générale structure mieux ton code, utilise des boucles / structures etc
exemple à amélorer:#include <stdlib.h> #include <stdio.h> #include <string.h> void my_flush() { int c; while((c = getchar()) != '\n' && c != EOF); } void saute_ligne(long n) { int i; for(i=1; i<=n; i++) printf("\n"); } #define MAX 25 typedef struct QA { char* q, *a; } item; item questions[] ={ {"Quel est l'âge du capitaine?", "37"}, {"Quelle est la surface de la Belgique en km²?", "30000"}, {"Quelle est votr couleur préférée?", "vert...rouge"} }; int main(int argc, char *argv[] ) { int nq = sizeof(questions)/sizeof(item); int current; char answer[MAX]; for( current=0; current < nq; current++) { answer[0] = 0; printf("%s\n", questions[current].q ); saute_ligne(1); scanf("%24s", answer); my_flush(); if ( 0 == strcmp(answer, questions[current].a) ) { printf("Correct!"); } else { printf("Incorrect!"); } /* printf("\n\nnext ITERATION :Your answer %s\n", answer) */ saute_ligne(1); } return EXIT_SUCCESS; }
gcc -Wall -o tchad02 tchad02.c