QCM (5 pt)
1. Que renvoie la fonction strcmp (comparaison de chaînes) si les 2 chaînes comparées sont
identiques ?
a. 1
b. 0
c. -1
2. Ce programme a un défaut. Mais lequel ?
main(){
char ville[100];
printf("Dans quelle ville habitez-vous ? ");
scanf("%s", &ville);
printf("Vous habitez %s, je connais bien cette ville !", ville);
}
a. Il manque un & devant la variable "ville" dans le printf
b. Il manque une * devant la variable "ville" dans la déclaration de la variable.
c. Il y a un & en trop devant "ville" dans le scanf.
3. De quel type doit être le pointeur de fichier ?
a. FILE
b. FILE*
c. File
d. File*
4. Laquelle de ces affirmations est fausse ?
a. Une fonction en C peut ne pas renvoyer une valeur
b. Une fonction en C peut renvoyer une valeur de n’importe quel type
c. Une fonction peut renvoyer plusieurs valeurs
5. Dans quel cas l'instruction return n'est pas obligatoire ?
a. Quand la fonction ne prend aucun paramètre en entrée
b. Quand la fonction est de type void
c. Quand la fonction doit renvoyer 0
Exercice
On veut créer un programme pour gérer les filières et les modules enseignés au sein de notre établissement. Chaque module est défini par son numéro (entier) et son intitulé (Chaîne de caractères). Toute filière de notre établissement est définie par son code (Chaîne de caractères), son intitulé (Chaine de caractères), nombre de modules (entier) et l’ensemble des modules liés à cette filière (tableau d’entiers –maximum 20 modules-).
1. Créer une fonction creerListeModules qui permet de :
• Créer un fichier listeModules.txt.
• Enregistrer, sur ce fichier, les informations saisies par l’utilisateur sur un module.
N.B : la saisie se termine si l’utilisateur tape 0. (4 pt)
2. Créer une fonction chercherModule qui permet de vérifier si le numéro de module passé en
paramètre existe sur le fichier. Cette fonction retourne 1 si on trouve le module sinon elle retourne -1.
3. Créer une structure Filiere. (1 pt)
4. Créer une fonction creerListeFiliere qui permet de :
Remplir un tableau de filières passé en paramètre. Le nombre de filières est aussi passé en
paramètre.
Avant de lier un numéro de module à une filière il faut vérifier s’il existe sur le fichier
listeModules.txt en utilisant la fonction chercherModule. Si le numéro ne correspond à aucun
module afficher un message d’erreur et redemander la saisie d’un autre numéro.
(6 pt)
1. Que renvoie la fonction strcmp (comparaison de chaînes) si les 2 chaînes comparées sont
identiques ?
a. 1
b. 0
c. -1
2. Ce programme a un défaut. Mais lequel ?
main(){
char ville[100];
printf("Dans quelle ville habitez-vous ? ");
scanf("%s", &ville);
printf("Vous habitez %s, je connais bien cette ville !", ville);
}
a. Il manque un & devant la variable "ville" dans le printf
b. Il manque une * devant la variable "ville" dans la déclaration de la variable.
c. Il y a un & en trop devant "ville" dans le scanf.
3. De quel type doit être le pointeur de fichier ?
a. FILE
b. FILE*
c. File
d. File*
4. Laquelle de ces affirmations est fausse ?
a. Une fonction en C peut ne pas renvoyer une valeur
b. Une fonction en C peut renvoyer une valeur de n’importe quel type
c. Une fonction peut renvoyer plusieurs valeurs
5. Dans quel cas l'instruction return n'est pas obligatoire ?
a. Quand la fonction ne prend aucun paramètre en entrée
b. Quand la fonction est de type void
c. Quand la fonction doit renvoyer 0
Exercice
On veut créer un programme pour gérer les filières et les modules enseignés au sein de notre établissement. Chaque module est défini par son numéro (entier) et son intitulé (Chaîne de caractères). Toute filière de notre établissement est définie par son code (Chaîne de caractères), son intitulé (Chaine de caractères), nombre de modules (entier) et l’ensemble des modules liés à cette filière (tableau d’entiers –maximum 20 modules-).
1. Créer une fonction creerListeModules qui permet de :
• Créer un fichier listeModules.txt.
• Enregistrer, sur ce fichier, les informations saisies par l’utilisateur sur un module.
N.B : la saisie se termine si l’utilisateur tape 0. (4 pt)
2. Créer une fonction chercherModule qui permet de vérifier si le numéro de module passé en
paramètre existe sur le fichier. Cette fonction retourne 1 si on trouve le module sinon elle retourne -1.
3. Créer une structure Filiere. (1 pt)
4. Créer une fonction creerListeFiliere qui permet de :
Remplir un tableau de filières passé en paramètre. Le nombre de filières est aussi passé en
paramètre.
Avant de lier un numéro de module à une filière il faut vérifier s’il existe sur le fichier
listeModules.txt en utilisant la fonction chercherModule. Si le numéro ne correspond à aucun
module afficher un message d’erreur et redemander la saisie d’un autre numéro.
(6 pt)