• Aucun résultat trouvé

Université de Xidian – Polytech’Sophia 2019–2020

N/A
N/A
Protected

Academic year: 2022

Partager "Université de Xidian – Polytech’Sophia 2019–2020"

Copied!
4
0
0

Texte intégral

(1)

Université de Xidian – Polytech’Sophia 2019–2020

Langage C

(V. Granet)

Durée : 1h30 Aucun document autorisé - Téléphones interdits

Nom chinois : Nom Pinyin :

Numéro étudiant : Classe :

I 1. Écrivez la structure compteurs qui contient deux champs de type int appelés nbLettres et nbChiffres.

I 2. En utilisant uniquement la notation de pointeur, écrivez la fonction compter qui renvoie une structure de typecompteursqui contient le nombre de lettres et de chiffres contenus dans la chaîne de caractères passée en paramètres. Vous pourrez utiliser les fonctionsisalpha etisdigit.

1

(2)

I 3. En utilisant la fonctioncompter précédente, écrivez en C le programme myprog qui affiche sur la sortie standard le nombre de lettres et de chiffres d’une chaîne de caractères passée en para- mètre au programme par l’intermédiaire deargcetargv. Vous ferez les vérification nécessaires des paramètres. Par exemple, les exécutions du programme myprog suivantes donneront :

./myprog toto123+-xx9 6 4

./myprog

Error! Usage : myprog string

2

(3)

I 4. Un fichier contient une suite de réelsdouble (attention ce n’est pas un fichier de caractères).

À partir de ce fichier, on veut fabriquer une liste chaînée de double. La liste est définie par la déclaration de type suivante :

t y p e d e f s t r u c t n o e u d { d o u b l e elt ;

s t r u c t n o e u d * s u i v a n t ; } * l i s t e D ;

Écrivez la procédure creerListeD qui crée une liste de réels double à partir d’un fichier de double. Le nom du fichier est passé en paramètre. Vous vérifierez la validité de l’ouverture du fichier. Pensez à insérer chaque nouveau réeldoublelu en tête de liste. L’en-tête de cette procédure (que vous devez respecter) est le suivant :

/*

* R ô l e : c r é e la l i s t e de d o u b l e l à p a r t i r du f i c h i e r

* de d o u b l e de nom f

*

*/

v o i d c r e e r L i s t e D (c o n s t c h a r * f , l i s t e D * l ) {

3

(4)

I 5. Écrivez la procédure printListeDqui affiche sur la sortie standard tous les réels doublede la liste. Cette procédure possède l’en-tête suivant :

/*

* R ô l e : é c r i t sur la s o r t i e s t a n d a r d les r é e l s d o u b l e

* c o n t e n u s d a n s la l i s t e l

*/

v o i d p r i n t L i s t e D ( l i s t e D l ) {

4

Références

Documents relatifs

Écrivez la fonction lireReel qui lit sur l’entrée standard caractère à caractère (à l’aide de la fonction getchar() , à l’exclusion de toute autre fonction), un réel (positif

Avec la notation de pointeur, écrivez en C la fonction somme qui prend en paramètre une chaîne de caractères qui représente un entier naturel et qui renvoie la somme de ses

Écrivez de façon itérative la fonction itos qui renvoie la conversion d’un entier positif ou nul passé en paramètre, en sa représentation sous forme d’une chaîne de

Écrivez un programme qui lit sur l’entrée standard une opération arithmétique formée de 2 entiers et d’un caractère ( ’+’ , ’-’ , ’*’ ou ’/’ ) et qui écrit sur

Au lieu de retirer, à chaque itération, 1 diviseur au dividende et d’incrémenter de 1 le quotient, le diviseur est multiplié successivement par 2 pour trouver son plus grand

qui prend en paramètre une chaîne de caractères, et qui remplace chaque chiffre par le caractère ’_’ dans celle-ci.. La fonction renvoie un pointeur sur le 1er caractère de

Il est nécessaire d’écrire un destructeur pour libérer explicitement la mémoire occupée par le tableau et les 3 points du triangle

En utilisant, la classe std::ifstream et ses méthodes is_open , get , eof et close , écrivez la classe FileInputStream qui permet de lire un fichier d’octets (et uniquement