Générer un caractère contenu dans un tableau aléatoirement en C
Bonsoir j'aimerais générer aléatoirement un caractère contenu dans un tableau en appuyant sur des touches du clavier et limiter le nombre de saisie à 9 mais mon code marche pas vraiment.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| #include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define LV 1
#define LC 1
//Fonction pour afficher un voyelle aléatoirement
void ranVoyelle(){
int i;
char voyelle[LV]={0};
char voy[7]="AEIOUY";
srand(time(NULL));
for ( i=0; i<LV; i++){
voyelle[i]=voy[rand()%6];
}
printf("%s", voyelle);
}
//Fonction pour afficher une consonne aléatoirement
void ranConsonne(){
int j;
char consonne[LC]={0};
char con[21]="BCDFGHJKLMNPQRSTVWXZ";
srand(time(NULL));
for ( j=0; j<LV; j++){
consonne[j]=con[rand()%20];
}
printf("%s", consonne);
}
int main(void)
{
char caractere;
int k;
printf("-Appuiyez sur O pour quitter \n-Appuiyer sur C pour une consonne\n-Appuiyer sur V pour un voyelle\n");
while(caractere!='O'){
caractere=getch();
for (k=0;k<1;k++){
if(caractere == 'V' || caractere == 'v'){
ranVoyelle();
}
else if(caractere == 'C' || caractere == 'c'){
ranConsonne();
}
}
}
return 0;
} |
Le résultat que j'obtiens :
Citation:
-Appuiyez sur O pour quitter
-Appuiyer sur C pour une consonne
-Appuiyer sur V pour un voyelle
G☺K☺K☺E☺E☺U☺U☺S☺W☺E☺W☺Y☺C☺F☺
Quelqu'un pourrait m'aider svp ?
Merci beaucoup j'arrive à générer un seul caractère mais j'arrive pas à limiter le nombre de saisie avec k
Citation:
Envoyé par
dalfab
Bonjour,
Ici tu veux que voyelle soit un mot de 1 caractère (car LV=1) mais une chaine doit aussi avoir, en plus de ses caractères, un caractère spécial pour indiquer la fin. Il faut donc modifier la ligne n°??? en écrivant:
Code:
char voyelle[LV+1]={0}; // réserver un caractère de plus
Et pareil pour les consonnes.