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 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
#include <stdio.h>
#include <stdlib.h>
typedef int bool;
#define true 1
#define false 0
// definir la structure AdresseIp
typedef struct AdresseIp Ip;
struct AdresseIp
{
int val1;
int val2;
int val3;
int val4;
};
typedef struct Machine pc;
struct Machine
{
Ip A_Ip;
char Nom [10];
pc *nxt;
};
typedef struct Liste Liste;
struct Liste
{
pc *premier;
};
//ajouter la premiere machine dans la liste
Liste *initialisation()
{
Liste *liste = malloc(sizeof(*liste));
pc *machine = malloc(sizeof(*machine));
if (liste == NULL || machine == NULL)
{
exit(EXIT_FAILURE);
}
machine->A_Ip.val1 = 0;
machine->A_Ip.val2 = 0;
machine->A_Ip.val3 = 0;
machine->A_Ip.val4 = 0;
for (int i = 0; i < 10; ++i){
machine->Nom[i]="";
}
machine->nxt = NULL;
liste->premier = machine;
return liste;
}
Ip remplir_ip(Ip ip ,int *nbr1,int *nbr2,int *nbr3,int *nbr4){
ip.val1=*nbr1;
ip.val2=*nbr2;
ip.val3=*nbr3;
ip.val4=*nbr4;
return ip;
}
void Ajouter_Machine(Liste *liste )
{
/* Création du nouvel élément */
pc *nouveau = malloc(sizeof(*nouveau));
if (liste == NULL || nouveau == NULL)
{
exit(EXIT_FAILURE);
}
bool ok=true;
char dec='o';
int nombre=0;
int ip_int [4];
while(ok==true){
printf("Nouvel adresse Ip\n");
for (int i = 0; i < 4; ++i)
{
printf("enter le %d entier de cette adresse :\n",i+1);
scanf("%d ",&nombre);
ip_int[i]=nombre;
}
//afficher l'adresse
for (int j = 0; j < 4; ++j)
{
printf("%d",ip_int[j]);
printf(".");
}
//affecter l'adresse
remplir_ip(nouveau->A_Ip,&ip_int[0],&ip_int[1],&ip_int[2],&ip_int[3]);
/* Insertion de l'élément au début de la liste */
nouveau->nxt = liste->premier;
liste->premier = nouveau;
printf("vouliez vous ajouter une autre : o? oui ,n?non\n");
scanf("%c",&dec);
if (dec!='o')
{
printf(" ok ok \n");
ok=false;
}
}
}
int main(int argc, char **argv)
{
printf("Initialisation \n");
Liste *Liste=initialisation();;
printf("Debut :\n");
//printf("entrer le nom de cette machine \n");
//scanf("%c",chaine );
Ajouter_Machine(Liste);
printf("affichage des machine ");
while(Liste!=NULL){
char o[]="t tout le ";
printf("%s la machine \n",&(Liste->premier->A_Ip)) ;
Liste=Liste->premier->nxt;
}
} |
Partager