[AIDE] gestion d'un tableau avec des fonction

Résolu
ribery_7_91 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   -  
ribery_7_91 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
Je suis en BTS IRIS premiére année et j'aurai besoin de votre aide pour un exercice devant faire appel à des fonctions.
Je vous expose l'enoncé de l'exercice:

Gestion d'un tableau de 10 entiers

Etablir les sous-programmes qui permettent :
- l'initialisation de toutes les cases du tableau avec une valeur passée en paramètre;
- l'affichage de toutes les cases du tableau;
- la modification de la valeur d'une case du tableau;
- l'affichage d'une case;

Voila j'ai commencé mais tout n'est pas bon donc voila je suis à l'écoute
Mon debut de programme :

#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#define cases 10
void initialisation (void);
void affiche_tableau (void);
void modif_case (void);
void affiche_case (void);
main ()
{
int a, var,tab[cases] ;
do
{
printf ("**********************************************\n");
printf ("* Gestion d'un tableau de 10 entiers *\n");
printf ("**********************************************\n\n");
printf (" MENU \n");
printf ("1 - Initialisation de toutes les cases du tableau\n");
printf ("2 - Affichage de toutes les cases du tableau\n");
printf ("3 - Modification d'une valeur du tableau\n");
printf ("4 - Affichage d'une case \n");
printf ("5 - Quitter\n\n");
printf ("Quel est votre choix?? ");
scanf ("%d",&a);
switch (a)
{
case 1 :
clrscr ();
printf ("Veuillez choisir la valeur à entrer dans les cases du tableau");
scanf ("%d",&b);
initialisation ();
break;
case 2 :
clrscr();
affiche_tableau ();
break;
case 3 :
clrscr ();
break;

case 4 :
clrscr ();
break;
case 5 :
printf ("Fin du programme");
break;
}
} while (var !=2);

}
void initialisation (int tab)
{
int i,tab[cases];
for (i=0; i<cases;i++)
{
printf(" valeur dans la case numéro %d : ",i+1);
scanf ("%d",&tab[i]);
}
printf ("Vous avez initialisé le tableau");
clrscr ();
}
void affiche_tableau (void)
{
int i, tab[cases];
for (i=0;i<cases;i++)
{
cout << tab[i] << " | ";
}
}
void modif_case (void)
{
}
void affiche_case (void)
{
}



Voila je vous remercie de votre aide et si vous avez besoin de plus d'information demandez le moi ici ou par MP
Merci a tous
A voir également:

4 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

à toi d'adapter (j'ai testé sous Linux et ça marche chez moi)
remplace system("clear"); avec clrsrc()
#include <stdio.h>
#include<stdlib.h>
#define TAILLE 10

void initialisation (int *tab);
void affiche_tableau (int *tab);
void modif_case (int *tab);
void affiche_case (int *tab);
int menu ();

int main ()
{
  int choix;
  int *tab;
  if ((tab = (int *) malloc (TAILLE * sizeof (int))) == NULL)
    return -1;

  do{
      choix = menu ();
      switch (choix){
        case 1:
	  system("clear"); 
          initialisation (tab);
          break;
        case 2:
	  system("clear"); 
          affiche_tableau (tab);
          break;
        case 3:
	  system("clear"); 
          modif_case (tab);
          break;
        case 4:
	  system("clear"); 
          affiche_case (tab);
          break;
      }
  }while (choix < 5);

  printf ("%d\n", choix);
  return 0;
}

int menu (){
  int choix;

  printf ("\n**********************************************\n");
  printf ("* Gestion d'un tableau de 10 entiers *\n");
  printf ("**********************************************\n\n");
  printf (" MENU \n");
  printf ("1 - Initialisation de toutes les cases du tableau\n");
  printf ("2 - Affichage de toutes les cases du tableau\n");
  printf ("3 - Modification d'une valeur du tableau\n");
  printf ("4 - Affichage d'une case \n");
  printf ("5 - Quitter\n\n");
  printf ("Quel est votre choix?? ");
  scanf ("%d", &choix);
  return choix;
}

void initialisation (int *tab){
  int i;
  for (i = 0; i < TAILLE; i++){
      printf (" valeur dans la case numéro %d : ", i + 1);
      scanf ("%d", &tab[i]);
  }
  printf ("Vous avez initialisé le tableau\n");
}

void affiche_tableau (int *tab){
  int i;
  for (i = 0; i < TAILLE; i++)
    printf ("%d ", tab[i]);
  printf ("\n");
}

void modif_case (int *tab){
  int i, nb;
  printf ("Modifier la case numéro : ");
  scanf ("%d", &i);
  printf ("Entrez la nouvelle valeur : ");
  scanf ("%d", &nb);
  tab[i - 1] = nb;
}

void affiche_case (int *tab){
  int i;
  printf ("Afficher la case numéro : ");
  scanf ("%d", &i);
  printf ("%d\n", tab[i - 1]);
}
0
ribery_7_91 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   16
 
Merci lami20j mais j'ai un dernier petit problème je voudrais faire sans les étoiles qui sont devant les noms de variables alors comment puis je faire???
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Les varaibles *var se sont des variables pointeurs)
Comme ça?
#include <stdio.h>
#include<stdlib.h>
#define TAILLE 10

void initialisation (int tab[]);
void affiche_tableau (int tab[]);
void modif_case (int tab[]);
void affiche_case (int tab[]);
int menu ();

int main ()
{
  int choix;
  int tab[TAILLE];
  
  do{
      choix = menu ();
      switch (choix){
        case 1:
	  system("clear"); 
          initialisation (tab);
          break;
        case 2:
	  system("clear"); 
          affiche_tableau (tab);
          break;
        case 3:
	  system("clear"); 
          modif_case (tab);
          break;
        case 4:
	  system("clear"); 
          affiche_case (tab);
          break;
      }
  }while (choix < 5);

  printf ("%d\n", choix);
  return 0;
}

int menu (){
  int choix;

  printf ("\n**********************************************\n");
  printf ("* Gestion d'un tableau de 10 entiers *\n");
  printf ("**********************************************\n\n");
  printf (" MENU \n");
  printf ("1 - Initialisation de toutes les cases du tableau\n");
  printf ("2 - Affichage de toutes les cases du tableau\n");
  printf ("3 - Modification d'une valeur du tableau\n");
  printf ("4 - Affichage d'une case \n");
  printf ("5 - Quitter\n\n");
  printf ("Quel est votre choix?? ");
  scanf ("%d", &choix);
  return choix;
}

void initialisation (int tab[]){
  int i;
  for (i = 0; i < TAILLE; i++){
      printf (" valeur dans la case numéro %d : ", i + 1);
      scanf ("%d", &tab[i]);
  }
  printf ("Vous avez initialisé le tableau\n");
}

void affiche_tableau (int tab[]){
  int i;
  for (i = 0; i < TAILLE; i++)
    printf ("%d ", tab[i]);
  printf ("\n");
}

void modif_case (int tab[]){
  int i, nb;
  printf ("Modifier la case numéro : ");
  scanf ("%d", &i);
  printf ("Entrez la nouvelle valeur : ");
  scanf ("%d", &nb);
  tab[i - 1] = nb;
}

void affiche_case (int tab[]){
  int i;
  printf ("Afficher la case numéro : ");
  scanf ("%d", &i);
  printf ("%d\n", tab[i - 1]);
}
0
ribery_7_91 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   16
 
Merci problème résolu tu es trop sympa lami20j
Viens sur msn on pourra discuter ça peut étre cool
0