Vieux rapport
Année Universitaire 2010-2011
D.S. de LANGAGE C
Année : 4ème année Electronique et informatique Industrielle Date du DS : 3 Novembre 2010 Durée : 2 heures Enseignant responsable : V. COAT, C. MENENDEZ Documents autorisés : polycopiés de cours, notes manuscrites de Cours et TP de 3 et 4EII Nombre de pages : 10 (dont 6 pages d’annexes à rendre avec votre copie de DS) ___________________________________________________________________________
EXERCICE N° 1 : Concaténation d'un nombre variable de chaînes de caractères
Il s'agit de concevoir une fonction concatChaines(), recevant en paramètre un nombre quelconque de chaînes de caractères et devant retourner la concaténation de toutes ces chaînes dans une zone mémoire allouée dynamiquement. Le pointeur prédéfini NULL devra être utilisé comme marqueur de fin de la liste de paramètres. Le prototype de la fonction est le suivant : char * concatChaines(char *ptrChaine1, ...);
Exemples des expressions d'appel à la fonction : concatChaines("Bonjour", NULL) concatChaines(ch1, ch2, NULL) concatChaines("Commande ", DEBUT, argv[0], FIN, NULL) concatChaines("(", s1, ", ", s2, ", ", s3, ")", NULL)
Travail à réaliser :
1) Expliquer le prototype de la fonction concatChaines(). 2) Compléter la définition de la fonction concatChaines(), fournie à l'annexe 1. 3) Proposer une fonction main() permettant de tester votre fonction concatChaines() avec tous les exemples donnés.
EXERCICE N° 2 :
On dispose de fichiers contenant des références de composants électroniques (cf . fichier exemple ci-après). Les renseignements sur un composant sont : le type du composant, sa valeur et la quantité dont on dispose.
1
Exemple de fichier : RESISTANCE 2000 100 CAPACITE 10 800 TRANSISTOR 100 1000 TRANSISTOR 200 500 DIODE 50 300 SELF 50 100 TRIAC 100 800 DIODE 25 1200 RESISTANCE 10000 2000 SELF 20 1000 CAPACITE 5 2500 CAPACITE 100 20010 RESISTANCE 2000 50 DIODE 50 100 RESISTANCE 20 200 . . .
La fonction