Exercice langage C: Programme qui gère une liste d'entiers grâce à un menu

Cet exercice a pour but de vérifier les points techniques suivants :

  • Utilisation simple de tableaux.
  • Gestion d'une liste triée grâce à un tableau statique.

Travail à Faire:

Ecrire un programme qui gère une liste d'entiers grâce au menu suivant :
1. Ajouter un entier
2. Afficher la liste des entiers
3. Supprimer le premier entier ayant une valeur donnée.
4. Supprimer tous les entiers ayant une valeur donnée
5. Quitter
Il y aura au maximum 10 entiers. La liste devra être en permanence triée : lorqu'on rajoute un entier, il sera inséré au bon endroit dans la liste pour que celle-ci reste triée.


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include
using namespace std;
 
const int N=10;
int main()
{
 
int t[N],nb=0,choix,e,V,i,j,trouve;
bool fini=false;
 
while(fini==false)
        {
        cout"1. Ajouter un entier"endl;
        cout"2. Afficher la liste des entier"endl;
        cout"3. Supprimer le premier entier ayant une valeur donnée"endl;
        cout"4. Supprimer tous les entiers ayant une valeur donnée"endl;
        cout"5. Quitter"endl;
        cout"Votre choix : ";cin>>choix;
        switch(choix)
                {
                case 1 : if(nbN)
                                        {
                                        cout"Tapez un entier : ";cin>>e;
                                        i=0;
                                        while(i!=nb && t[i]e)i++;
                                        for(j=nb;j>i;j--)t[j]=t[j-1];
                                        t[i]=e;
                                        nb++;
                                        }
                                else cout"IMPOSSIBLE LE TABLEAU EST PLEIN"endl;
                break;
 
                case 2 : if(nb==0)cout"LA LISTE EST VIDE"endl;
                                        else {
                                                cout"VOICI LA LISTE"endl;
                                                for(i=0;inb;i++)coutt[i]" ";
                                                 coutendl;
                                                }
                break;
 
                case 3 : cout"Tapez la valeur à supprimer :";cin>>V;
                                 trouve=false;
                                 i=0;
                                 while(!trouve && inb)if(t[i]==V)trouve=true; else i++;
                                 if(trouve)
                                        {
                                        for(j=i;jnb-1;j++)t[j]=t[j+1];
                                        nb--;
                                        }
                break;
 
                case 4 : cout"Tapez la valeur à supprimer :";cin>>V; 
                                 j=0;
                                 for(i=0;inb;i++)
                                         if(t[i]!=V){t[j]=t[i];j++;}
                                 nb=j;
                break;
 
                case 5 : fini=true;
                break;
                }
 
        }
return 0;
}