-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.c
executable file
·57 lines (50 loc) · 1.81 KB
/
main.c
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
#include "structure.h"
#include "fonction.h"
int main(void)
{
int B;
char nb[NbChiffre];
seau Tab_aux=NULL;
int total;
int k=0;
BOOL base=TRUE;
int longueur;
int lo=0;
char continu='o';
printf("Dans quelle base travaille-t-on (entre 2 et 16) ? \n");
scanf("%d", &B);
while(B>16 || B<2)/*Si la base saisie par l'utilisateur est incorrecte*/{
printf("Dans quelle base travaille-t-on (entre 2 et 16) ? \n");
scanf("%d", &B);
}
while (continu=='o'){
printf("Quelle est la valeur ? \n");
scanf("%s", nb);
longueur= strlen(nb);
while( base && lo<longueur) /*Nous vérifions que le nombre donné par l'utilisateur soit dans la bonne base et qu'il ne dépasse pas les 10 caratères*/{
if (correspondence(nb[lo])>B-1)/*Si un des caratères n'est pas un caractère conforme à la base*/{
base=FALSE;
}
lo=lo+1;
}
if (base) /*S'il répond à toutes les conditions nous l'ajoutons dans la liste des nombres à trier*/ {
Tab_aux = ajout_queue(Tab_aux, nb);
printf("Avez-vous d'autre nombre à trier ? (o/n)\n");
scanf("%s",&continu);
}
else /*Nous informons l'utilisateur que le nombre saisi ne convient pas*/ {
base=TRUE;
printf("Le nombre saisi n'est pas de la bonne base !! \n");
printf("Avez-vous d'autre nombre à trier ? (o/n)\n");
scanf("%s",&continu);
}
}
Tab_aux=ajoute_manquant(Tab_aux); /*Nous créons un seau ou tous les nombres ont la même quantité de caractères*/
seau p[B];
int i;
tri_seau(Tab_aux,B, p); /*Nous trions le seau*/
for ( i = 0; i < B; i++ ) /*Nous affichons les nombres triés*/ {
afficher (p[i] );
}
return 0;
}