Bonjour,

Je cherche à faire un petit menu en C pour permettre à un utilisateur de choisir par 3 choix, 2 de ces choix doivent amener l'utilisateur à entrer 2 autres informations.

1 Ajouter un numero de telephone -> Entrer la position ou le stocker (0-100) -> Entrer le numero de telephone
2 Supprimer un numero de telephone -> Entrer la position ou il se trouve (0-100)
3 Afficher la liste des numéros

L'utilisateur entre les informations par l'interface serie, un buffer appelé uart2_buffer contient ce qu'il tape dès qu'il termine par la touche [ENTREE]

J'ai fait ceci, mais je suis bloqué car je ne sais pas comment laisser le programmer tourner et permettre a l'utilisateur de rentrer les données via le menu :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
int choix;
unsigned char uart2_buffer[30];
 
choix = atoi(uart2_buffer);
 
 
  switch (choix)
{
case 1:     // Ajouter un numéro
  putrsUART2("Entrer la position du numero a ajouter-> ");
  uart2_buffer[0] = '\0';
  break;
 
case 2:     // Supprimer un numéro
  putrsUART2("Entrer la position du numero a supprimer-> ");
  uart2_buffer[0] = '\0';
  break;
 
case 3:     // Liste des numéros
  putrsUART2("Liste des numeros\r\n");
  uart2_buffer[0] = '\0';
  break;
 
 
default:    // ne fait rien dans les autres cas
//     putrsUART2("choix non disponible");
break;
}

Lorsque l'utilisateur tape sur 1 puis [entrée] , uart2_buffer contient "1 et le caractère de fin :\0"
Lorsque le programme tourne et que uart2_buffer ="1\0", on rentre dans le case 1 et on en sort aussitot, pour éviter de boucler et d'afficher sans cesse le message : "Entrer la position du numero a ajouter->", je vide uart2_buffer.

A partir de ce point je ne sais pas comment faire pour attendre que l'utilisateur rentre une position comprise entre 1 et 100 et ensuite le numéro de téléphone sur 10 chiffres.

Pourriez vous m'aider svp ?
Merci beaucoup,