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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
| #include <stdio.h>
#include <stdlib.h>
int menu() {
int choix;
char *liste[]={
"1- ajouter une valeur.",
"2- modifier une valeur.",
"3- supprimer une valeur.",
"4- lister.",
"0- quitter.",
NULL,
};
char **pt;
printf("\nMenu\n");
for (pt=liste; *pt != NULL; pt++)
printf("%s\n", *pt);
printf("donner votre choix: ");
scanf("%d", &choix);
return choix;
}
int chercheVal(int *t, int taille, int val) {
for (int i=0; i < taille; i++) {
if (t[i] == val) return i;
}
return -1;
}
int *ajouterval(int *t, int *taille) {
int val;
printf("donner une valeur: ");
scanf("%d", &val);
t=realloc(t, sizeof(int)*((*taille)+1));
t[*taille]=val;
(*taille)++;
return t;
}
void modifier(int *t, int taille) {
if (taille == 0) {
printf("tableau est vide!\n");
return;
}
int val;
printf("donner la valeur a modifier: ");
scanf("%d", &val);
int pos;
pos=chercheVal(t, taille, val);
if (pos == -1) {
printf("valeur n'existe pas!\n");
return;
}
printf("donner la nouvelle valeur: ");
scanf("%d", &t[pos]);
}
int *supprimer(int *t, int *taille) {
if (*taille == 0) {
printf("le tableau est vide!\n");
return t;
}
int val;
printf("donner la valeur a supprimer: ");
scanf("%d", &val);
int pos;
pos=chercheVal(t, *taille, val);
if (pos == -1) {
printf("l'element n'existe pas!\n ");
return t;
}
for (int i=pos+1; i < (*taille); i++)
t[i-1]=t[i];
(*taille)--;
return realloc(t, sizeof(int)*(*taille));
}
void lister(int *t, int taille) {
if (taille == 0) {
printf("le tableau est vide!\n");
return;
}
for (int i=0; i < taille; i++)
printf("t[%d]=%d ", i, t[i]);
printf("\n");
}
int main() {
int *t=NULL; int taille=0; int choix;
do {
system("cls");
choix=menu();
switch(choix) {
case 0:
printf("fin du programme!\n");
break;
case 1:
t=ajouterval(t, &taille);
break;
case 2:
modifier(t, taille);
break;
case 3:
t=supprimer(t, &taille);
break;
case 4:
lister(t, taille);
break;
}
system("pause");
} while (choix != 0);
return 0;
} |
Partager