Algorithme et Programmation
IUP 1 - Année 2002/2003
TP n°7
Introduction
Les points abordés dans ce TP sont :
stringprintf et scanf et le descripteur %sCe qui est à faire :
stringtypedef et en précisant le nombre maximum de caractères dans la chaine.#define NB_MAX_CHAR 255 typedef char string[NB_MAX_CHAR];
string qui
fournit une multitude de fonctions
pratiques pour le traitement des chaînes de caractères.strlen(s) fournit la longueur de la chaîne s (sans compter le '\0' final)
strcpy(s,t) copie t vers s
strcat(s,t) ajoute t à la fin de s
strcmp(s,t) compare s et t
lexicographiquement et fournit un résultat :
s précède t
s est égal à t
s suit t
man string pour avoir la liste complète des fonctions.s de type chaine de caractères dans la définition de ces fonctions, on note char *s.char s[].
printf (resp. scanf) permet d'écrire (resp. lire) directement une chaine de caractères%s.
Par exemple, on écrira :
printf("%s",ch); pour écrire sur la sortie standard
la valeur courante d'une variable ch de type chaine de caractères et
scanf("%s",&ch); pour lire sur l'entrée standard une chaine de caractères
et affecter cette valeur à la variable ch de type chaine de caractères.
Attention ! lors de la lecture d'une chaine avec scanf :
la lecture s'arrête au premier caractère blanc
rencontré
(espace, retour à la ligne ou EOF)
et les caractères blancs au début de la chaine sont ignorés.
strlen,
strcpy, strcat et
strcmp
strdemo.c et expliquer ce que réalise ce programme.strdemo.c, les appels à strcpy sont-ils utiles ? Si oui, à quoi servent-ils ?
"marie" est l'anagramme du mot "aimer"
"Eric à ciré" et "élu par cette crapule" sont deux palindromes"pru-den-ce est mè-re de sû-re-té" est
"ce-den-pru est re-mè de té-sû-re"
"travailler", la fonction affiche :
je travaille tu travailles il travaille nous travaillons vous travaillez ils travaillent
Le but du jeu est de deviner un mot de 5 lettres choisi par l'ordinateur
dans un dictionnaire des mots de 5 lettres.
Après chaque proposition du joueur, l'ordinateur indique
quelles sont les lettres bien placées,
ainsi que les lettres
mal placées mais faisant partie du mot à trouver.
Le joueur a droit à au plus 6 propositions.
Une proposition du joueur doit être un mot du dictionnaire en majuscules,
sinon un beep retentit et l'ordinateur passe à la proposition suivante.
Exemple de déroulement du jeu :
----- [ ] AIDER A---- [ I] BATON A---- [ IA] AVION A-I-- [ A] ARIDE A-I-- [ A] ESSAI A-IA- [ S] ADIEU Perdu, le mot à trouver était ALIAS !(apparaîssent à l'écran, de gauche à droite :
Un autre exemple :
----- [ ] AIDER A---- [ E] BANAL A---- [ EN] ANNEE AN--E [ ] ANCHE Gagné !