Auteur: Mohamed Messabihi
Matière: Programmation et structures de données Date08 Juin 2015
Durée1h30
Université Abou Bakr Belkaïd - Tlemcen Faculté des Sciences 1èreAnnée MI Semestre 2
Examen de rattrapage
Aucun document n'est autorisé Les solutions doivent être rédigées en C
Tout appareil électronique doit être éteint (téléphone, ordinateur, tablette,...)
1 Contenu d’un fichier 6 pts. U 15’
Montrer le contenu du fichier"resultat.txt"après l’exécution du programme suivant :
1 int main(){
2 FILE *f ; char s[10] = " 123456789 "; int i = 0, L;
3 f = fopen(" resultat . txt ", "w+");
4 L = strlen(s);
5 if (f != NULL){
6 while(i < L) {fputc(s[L-i-1] , f); i++; } 7 fseek(f, 0, SEEK_END); fputs(s, f);
8 }
2 Billets de train 14 pts. U 1h15
La société nationale du transport ferroviaire SNTF souhaite réaliser un programme permettant de gérer la réservation des billets de train.
Un billet de train est défini par un numéro, une date, une ville et une heure de départ ainsi qu’une ville et une heure d’arrivée, et enfin, un prix. Par exemple, le trainTlemcen-Orana le numéro1104, il part à09h55 de Tlemcen et arrive à12h22à Oran, son prix est de 455 DA.
1. Proposer une structure de données permettant de stocker un billet de train.
2. Écrire une fonctionestValidequi prend comme paramètre un billet de train et vérifie sa validité. Un billet de train est valide lorsque :
– la date de départ est ultérieur à la date courante (prenez ici la date de cet examen).
– et si c’est le même jour, alors l’heure de départ est également ultérieur à l’heure courante (prenez ici l’heure du début de cet examen).
3. Écrire une fonctioncalculerDureequi prend en entrée un billet de train et qui renvoie sa durée sous le format- -h- -. Par exemple, la durée du trajet du train ci-dessus est 2h27.
4. Écrire une fonctionrechercherqui prend en entrée un numéro de billet et qui envoie le billet cor- respondant. Cette fonction effectue sa recherche dans un ensemble de billets de train passé lui aussi comme paramètre d’entrée.
5. La SNTF offre une réduction de 25% à ses clients âgés de moins de 25 ans et une autre de 30% pour ceux qui ont plus de 65 ans. Écrire un programme permettant de demander le numéro du billet d’un client ainsi que sa date de naissance puis :
– recherche son billet à travers le numéro saisi.
– vérifie si son billet est valide ou non.
– affiche la durée de son trajet.
– et enfin, calculer le prix de son billet après remise.
ZRemarque.On ne demande ni la saisie ni l’affichage d’un billet, ni du tableau de billets non plus.
Bon Courage !