1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
7 janv. 2014 à 22:41
7 janv. 2014 à 22:41
Bonjour,
justificatif => justificatif();
scanf("%c", &reponse)
rajoute un getchar(); après le scanf(). Cela aura pour effet de vider le '\n' résidant dans le buffer clavier.
char j1[13]="Cause Départ\0";
Pour info, pas besoin de mettre le \0, il sera rajouté tout seul. De plus, tu n'as pas besoin non plus d'indiquer la taille. Ainsi : char j1[]="Cause Depart"; fonctionne. Fais attention aux accents. Tu risques d'avoir un problème en fonction de l'encodage. Si tu veux impérativement un accent, utilise les wide char.
Sinon, je n'ai pas bien compris ta question.
Si tu veux du hasard :
Tu initialises la graine avec : srand(time(NULL));
Tu tires un nombre pseudo aléatoire : rand() % 5; pour avoir un nombre entre 0 et 5 (non compris).
Ensuite, en fonction du nombre tu appelles la fonction que tu veux. Tu peux même utiliser un tableau de pointeurs sur fonctions.
Cdlt,
justificatif => justificatif();
scanf("%c", &reponse)
rajoute un getchar(); après le scanf(). Cela aura pour effet de vider le '\n' résidant dans le buffer clavier.
char j1[13]="Cause Départ\0";
Pour info, pas besoin de mettre le \0, il sera rajouté tout seul. De plus, tu n'as pas besoin non plus d'indiquer la taille. Ainsi : char j1[]="Cause Depart"; fonctionne. Fais attention aux accents. Tu risques d'avoir un problème en fonction de l'encodage. Si tu veux impérativement un accent, utilise les wide char.
Sinon, je n'ai pas bien compris ta question.
Si tu veux du hasard :
Tu initialises la graine avec : srand(time(NULL));
Tu tires un nombre pseudo aléatoire : rand() % 5; pour avoir un nombre entre 0 et 5 (non compris).
Ensuite, en fonction du nombre tu appelles la fonction que tu veux. Tu peux même utiliser un tableau de pointeurs sur fonctions.
Cdlt,
7 janv. 2014 à 23:03
Ce que je veux faire, c'est générer aléatoirement des petites annonces, avec un justificatif, un qualificatif, etc., en fonction du choix de l'utilisateur, d'où le (O/N).
Par exemple :
L'utilisateur répond oui à toutes les questions, à l'affichage il aura donc :
Cause départ - Ingénieur - Son - N° de téléphone : xxxxxxxxxxx
Et donc le problème, c'est cette aléatoire là, comment l'utilisé et ou le placé.
Je ne comprends pas très bien quand tu dis :
"Tu initialises la graine avec : srand(time(NULL));
Tu tires un nombre pseudo aléatoire : rand() % 5; pour avoir un nombre entre 0 et 5 (non compris)."
Pourrais-tu me l'expliquer en l'ajoutant dans le code, pour que je sache où le mettre et comprendre son fonctionnement (je débute seulement en C).
Modifié par fiddy le 7/01/2014 à 23:18
Ensuite justif[0] te retourne "Case depart", justif[1] te retourne "double emploi".
De même avec qualif[0], ...
L'idée est donc de tirer 4 nombres aléatoires : nb1, nb2, nb3, nb4;
La phrase à afficher sera donc :
Pour avoir les nombres aléatoires :
S'il y a des choses que ne comprends pas, je te conseille plutôt de lire un tuto et de commencer progressivement : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
Cdlt,
Modifié par Mendoza le 7/01/2014 à 23:40
J'ai intégrer tes bouts de codes au mien et ça donne ça :
Est-ce que c'est correct ?
8 janv. 2014 à 00:02
8 janv. 2014 à 09:55
scanf("%c", &reponse);
Pourquoi tu mets plusieurs scanf("%c", &reponse); ? Tu as oublié le getchar() comme je t'ai dit.
La solution que je te proposais était encore plus simple.