Vous allez faire un petit programme qui permet de calculer la moyenne d'un ensemble de notes. Pour cela, l'opérateur fixe le nombre de note à saisir et introduit ensuite l'ensemble des notes. Une fois que toutes les notes sont saisies, la moyenne est calculée et s'affiche directement à l'écran.
Nombre de notes ?
4
Note n°1
18
Note n°2
15
Note n°3
5
Note n°4
8
moyenne : 11.5
Il faut mettre en oeuvre ici un tableau de réel. Toutefois, à priori, nous ne savons pas la dimension du tableau. Du coup, vous devez mettre en oeuvre un tableau dynamique dont la taille est spécifiée par l'opérateur.
Attention : pensez à libérer la variable dynamique une fois que le calcul est effectué.
.
Nous allons reprendre le même type de programme que précédemment. Cette fois-ci, il s'agit de stocker des mots dans un tableau dynamique. Au lieu d'avoir un tableau de chaînes de caractères dont la taille est fixée une fois pour toute pour l'ensemble des mots, nous allons adapter dynamiquement, la taille de chacune des chaînes de caractères correspondant au mot saisie. Une fois que l'ensemble des mots a été saisie, le programme les affiche ensuite tout simplement dans l'ordre où ils ont été introduits.
Nombre de mots ?
3
Mot n°1
Bonjour
Mot n°2
Salut
Mot n°3
Bienvenue
Mots n°1 : Bonjour
Mots n°2 : Salut
Mots n°3 : Bienvenue
Ce TP est plus délicat à traiter puisque plusieurs éléments sont dynamiques. Je vous invite donc, pour vous aider, à suivre la pocédure suivante :
A chacun des new doit correspondre un delete.
.
Tapez ces lignes de code. Vous testerez chacune de ces lignes en utilisant le debugger en mode pas à pas F8. Pour chacune de variables utilisées, établissez systématiquement l'adresse de la variable ainsi que son contenu complet (Utilisez le mode Inspection). Si vous avez à faire à des pointeurs, donnez l'adresse de la variable, l'adresse de la variable pointée et le contenu complet de la variable pointée. Faites systématiquement une représentation schématique.

Expliquez ce qui se passe pour la ligne :
Vous allez reprendre la structure Eleve développée dans l'avant dernier TP. Je rappelle la composition de cette structure :
Cette structure doit être déclarée en dehors de la fonction main. Par contre, à l'intérieur de main vous allez déclarer la variable dynamique eleve issue de cette structure. Profitez-en pour l'initialiser correctement. Ensuite, proposez un menu tel qu'il vous ait montré sur la droite. Systématiquement, avant chaque menu, vous devez afficher l'intitulé complet de l'élève.
En fait, on désire exactement le même fonctionnement que pour l'avant dernier TP. La seule différence, c'est que eleve est une variable dynamique. Proposez donc les bonnes écritures en conséquence.
Dans cet exercice, vous allez mettre en œuvre un tableau dynamique classe qui doit représenter l'ensemble d'une classe avec un nombre quelconque d'élèves. Le choix s'est porté sur un tableau dynamique puisque, a priori, nous ne connaissons pas le nombre d'élèves d'une classe. Vous conserverez la même structure Eleve proposée dans l'exercice précédent.
La taille du tableau dynamique doit toujours correspondre au nombre d'élèves qui existent à un instant donné. Ce qui veut dire que lorsque nous rajoutons un élève, nous devons, créer un nouveau tableau dynamique, copier les élèves de l'ancien tableau vers le nouveau, détruire l'ancien tableau et, pour terminer, rajouter à ce nouveau tableau le dernier élève demandé.
Au tout départ, le tableau ne doit pas exister (classe ne pointe sur rien). Lorsque vous introduisez le premier élève, il suffit de créer une variable dynamique de type Eleve sans créer spécialement un tableau. Il est quand même possible de référencer la classe comme si c'était un tableau d'un élève à l'aide de la syntaxe classe[0] même si, a priori, nous ne sommes pas en présence d'un tableau. En effet, souvenez-vous, que pour le compilateur C++, les tableaux n'existent pas, pour lui :
classe[0] <=> *(classe+0) <=> *classe
Lorsque vous rajouter un deuxième élève, il faut bien, cette fois-ci, effectivement créer un tableau de deux cases, chacune de ces cases correspondant à la structure Eleve.
Lorsque vous enlever un élève, il faut utiliser la même philosophie, c'est-à-dire créer un nouveau tableau dynamique avec un élève de moins, en copiant vers le nouveau tableau les élèves qui restent. Une fois que cette copie est réalisée, nous devons également détruire l'ancien tableau.
Dans les vues d'écran ci-dessous, vous avez l'ensemble des scénarii proposés
