Accueil > > > CARNET D'ADRESSE
CARNET D'ADRESSE
Information sur la source
Description
c'est mon premier code qui depasse 900 lignes, c'est un carnet d'adresse ecrit en langage C, outil de developpement Turbo c2.01 de Borland, sur une plate-form: windows 98 SE.
Source
- #include <stdio.h>
- #include <conio.h>
- #include <string.h>
-
- #define max_nom 30
- #define max_adresse 50
- #define max_autre 20
- struct adresse
- {
- char nom [max_nom];
- char prn [max_nom];
- char adr1 [max_adresse];
- char adr2 [max_adresse];
- char tele [max_autre];
- char teleb [max_autre];
- char mob [max_autre];
- char email [max_nom];
- };
- struct adresse var_adresse[100], var_adresse_trier[1];
- FILE * fichier;
- void cadre (int x1, int y1, int x2, int y2);
- void cadre_prime (int x1, int y1, int x2, int y2);
- void position_ecriture (int x, int y, char mot [30]);
- void affiche_menu_general ();
- void affiche_sous_menu_general ();
- void interface_application ();
- void ajout_enregistrement_champ ();
- void ajout_enregistrement_champ_moin ();
- void affichages_des_tableaux ();
- void saisie ();
- void consulter ();
- void consulter_effacement_cadres ();
- void consulter_D_F_Bidirection (int x);
- void consulter_Rechercher ();
- void supprimer (int s);
- void liste ();
- void modifier ();
- void trier ();
- void effacement ();
- int global_i = 1, j;
- char nom [30];
- main()
- {
- fichier = fopen ("adresse.dat", "a");
- fclose (fichier);
- fichier = fopen ("adresse.dat", "r");
- while (! feof (fichier))
- {
- fscanf (fichier, "\t\n%s %s %s %s %s %s %s %s",
- var_adresse[global_i].nom,
- var_adresse[global_i].prn,
- var_adresse[global_i].adr1,
- var_adresse[global_i].adr2,
- var_adresse[global_i].tele,
- var_adresse[global_i].teleb,
- var_adresse[global_i].mob,
- var_adresse[global_i].email);
- global_i++;
- }
- fclose (fichier);
- textbackground (1);
- textcolor (7);
- interface_application ();
- affiche_menu_general ();
- return 0;
- }
- void cadre (int x1, int y1, int x2, int y2)
- {
- int i;
- for (i=x1; i<x2; i++)
- {
- gotoxy (i, y1);
- printf ("%c", 205);
- gotoxy (i, y2);
- printf ("%c", 205);
- }
- for (i=y1; i<y2; i++)
- {
- gotoxy (x1, i);
- printf ("%c", 186);
- gotoxy (x2, i);
- printf ("%c", 186);
- }
- gotoxy (x1, y1);
- printf ("%c", 201);
- gotoxy (x1, y2);
- printf ("%c", 200);
- gotoxy (x2, y1);
- printf ("%c", 187);
- gotoxy (x2, y2);
- printf ("%c", 188);
- }
-
- void cadre_prime (int x1, int y1, int x2, int y2)
- {
- int i;
- for (i=x1; i<x2; i++)
- {
- gotoxy (i, y1);
- printf ("%c", 196);
- gotoxy (i, y2);
- printf ("%c", 196);
- }
- for (i=y1; i<y2; i++)
- {
- gotoxy (x1, i);
- printf ("%c", 179);
- gotoxy (x2, i);
- printf ("%c", 179);
- }
- gotoxy (x1, y1);
- printf ("%c", 218);
- gotoxy (x1, y2);
- printf ("%c", 192);
- gotoxy (x2, y1);
- printf ("%c", 191);
- gotoxy (x2, y2);
- printf ("%c", 217);
- }
-
- void position_ecriture (int x, int y, char mot [30])
- {
- gotoxy (x, y);
- printf ("%s", mot);
- }
-
- void affiche_menu_general ()
- {
- char c = ' ';
- int i=1;
-
- affiche_sous_menu_general ();
- while (1)
- {
- if (i == 1)
- {
- cadre (2, 21, 8, 23); /* ajout */
- cadre_prime (57, 21, 65, 23);
- cadre_prime (9, 21, 18, 23);
- }
- if (i == 2)
- {
- cadre (9, 21, 18, 23); /* modifier */
- cadre_prime (2, 21, 8, 23);
- cadre_prime (19, 21, 29, 23);
- }
- if (i == 3)
- {
- cadre (19, 21, 29, 23); /* consulter */
- cadre_prime (9, 21, 18, 23);
- cadre_prime (30, 21, 36, 23);
- }
- if (i == 4)
- {
- cadre (30, 21, 36, 23); /* trier */
- cadre_prime (19, 21, 29, 23);
- cadre_prime (37, 21, 46, 23);
- }
- if (i == 5)
- {
- cadre (37, 21, 46, 23); /* imprimer */
- cadre_prime (30, 21, 36, 23);
- cadre_prime (47, 21, 56, 23);
- }
- if (i == 6)
- {
- cadre (47, 21, 56, 23); /* a propos */
- cadre_prime (37, 21, 46, 23);
- cadre_prime (57, 21, 65, 23);
- }
- if (i == 7)
- {
-
- cadre (57, 21, 65, 23); /* quitter */
- cadre_prime (47, 21, 56, 23);
- cadre_prime (2, 21, 8, 23);
- }
- c = getch();
- if ( i == 1 && c == 13 ) { saisie (); }
- if ( i == 2 && c == 13 ) { modifier (); }
- if ( i == 3 && c == 13 ) { consulter_effacement_cadres (); }
- if ( i == 4 && c == 13 ) { trier (); }
- if ( i == 5 && c == 13 )
- {
- effacement ();
- gotoxy (strlen ("E-mail: ") + 8, 18);
- printf ("vide !");
- }
- if ( i == 6 && c == 13 )
- {
- gotoxy (20, 10);
- gotoxy (strlen ("E-mail: "), 18);
- printf ("Serrat lyes, serrat_lyes@hotmail.com, www.geocities.com/amine808");
- }
- if ( i == 7 && c == 13 )
- {
-
- fichier = fopen ("adresse.dat", "w");
- for (j=1; j<global_i; j++)
- {
- if ((var_adresse[j].nom[0]=='.') ||
- (var_adresse[j].prn[0]=='.') ||
- (var_adresse[j].adr1[0]=='.') ||
- (var_adresse[j].adr2[0]=='.') ||
- (var_adresse[j].tele[0]=='.') ||
- (var_adresse[j].teleb[0]=='.') ||
- (var_adresse[j].mob[0]=='.') ||
- (var_adresse[j].email[0]=='.')) continue;
- fprintf (fichier, "\t\n%s %s %s %s %s %s %s %s",
- var_adresse[j].nom,
- var_adresse[j].prn,
- var_adresse[j].adr1,
- var_adresse[j].adr2,
- var_adresse[j].tele,
- var_adresse[j].teleb,
- var_adresse[j].mob,
- var_adresse[j].email);
- }
-
- fclose (fichier);
- exit (1);
- }
- if ( c == 0 + 77 ) i++;
- if ( c == 0 + 75 ) i--;
- if ( i > 7 ) i = 1;
- if ( i < 1 ) i = 7;
- }
-
- }
- /* menu principal a afficher: */
- void interface_application ()
- {
- clrscr();
- cadre (1, 2, 80, 25); /* premier cadre */
- position_ecriture (3, 2, "Carnet d'adresses");
- cadre (3, 3, 78, 20); /* deuxième cadre */
- cadre (2, 21, 7, 23);
- /* donnees du carnet d'adresse a manipulés */
- /*position_ecriture (8, 7, "Numero: ");*/
- position_ecriture (8, 8, "Nom: ");
- position_ecriture (8, 9, "Prenom: ");
- position_ecriture (8, 10, "Adresse: ");
- position_ecriture (8, 12, "Tele: ");
- position_ecriture (8, 13, "Tele bureau: ");
- position_ecriture (8, 14, "Mobile: ");
- position_ecriture (8, 15, "E-mail: ");
- ajout_enregistrement_champ ();
- /* fin donnees du carnet d'adresse a manipulés */
- }
- void affiche_sous_menu_general ()
- {
- /* menu principal a afficher:
- **AJOUT MODIFIER SUPPREMER CONSULTER TRIER IMPRIMER A PROPOS QUITTER** */
- position_ecriture (3, 22, "AJOUT");
- position_ecriture (10, 22, "MODIFIER");
- position_ecriture (20, 22, "CONSULTER");
- position_ecriture (31, 22, "TRIER");
- position_ecriture (38, 22, " ");
- position_ecriture (48, 22, "A PROPOS");
- position_ecriture (58, 22, "QUITTER");
- cadre_prime (2, 21, 8, 23);
- cadre_prime (9, 21, 18, 23);
- cadre_prime (19, 21, 29, 23);
- cadre_prime (30, 21, 36, 23);
- cadre_prime (37, 21, 46, 23);
- cadre_prime (47, 21, 56, 23);
- cadre_prime (57, 21, 65, 23);
- }
- void ajout_enregistrement_champ ()
- {
- /* effacement des enciennes rubriques */
- gotoxy (strlen ("Nom: ") + 8, 8);
- printf ("..............................");
- gotoxy (strlen ("Prenom: ") + 8, 9);
- printf ("..............................");
- gotoxy (strlen ("Adresse: ") + 8, 10);
- printf ("..................................................");
- gotoxy (strlen ("Adresse: ") + 8, 11);
- printf ("..................................................");
- gotoxy (strlen ("Tele: ") + 8, 12);
- printf ("....................");
- gotoxy (strlen ("Tele bureau: ") + 8, 13);
- printf (".....................");
- gotoxy (strlen ("Mobile: ") + 8, 14);
- printf (".....................");
- gotoxy (strlen ("E-mail: ") + 8, 15);
- printf ("..............................");
- }
- void ajout_enregistrement_champ_moin ()
- {
- /* effacement des enciennes rubriques */
- gotoxy (strlen ("Nom: ") + 8, 8);
- printf (" ");
- gotoxy (strlen ("Prenom: ") + 8, 9);
- printf (" ");
- gotoxy (strlen ("Adresse: ") + 8, 10);
- printf (" ");
- gotoxy (strlen ("Adresse: ") + 8, 11);
- printf (" ");
- gotoxy (strlen ("Tele: ") + 8, 12);
- printf (" ");
- gotoxy (strlen ("Tele bureau: ") + 8, 13);
- printf (" ");
- gotoxy (strlen ("Mobile: ") + 8, 14);
- printf (" ");
- gotoxy (strlen ("E-mail: ") + 8, 15);
- printf (" ");
- }
-
- void saisie ()
- {
- int i;
- if ( global_i > 100 ) printf (" ");
- else
- {
- ajout_enregistrement_champ ();
- cadre_prime (2, 21, 8, 23);
- gotoxy (strlen ("Nom: ") + 8, 8);
- gets (var_adresse[global_i].nom);
- for (i=0; i<=strlen (var_adresse[global_i].nom); i++)
- {
- if (var_adresse[global_i].nom[i]==' ') var_adresse[global_i].nom[i]= '.';
- }
- if (strlen (var_adresse[global_i].nom) == 0)
- { var_adresse[global_i].nom[0]='/'; var_adresse[global_i].nom[1]='\0'; }
- gotoxy (strlen ("Prenom: ") + 8, 9);
- gets (var_adresse[global_i].prn);
- for (i=0; i<=strlen (var_adresse[global_i].prn); i++)
- {
- if (var_adresse[global_i].prn[i]==' ') var_adresse[global_i].prn[i]= '.';
- }
- if (strlen (var_adresse[global_i].prn) == 0)
- { var_adresse[global_i].prn[0]='/'; var_adresse[global_i].prn[1]='\0'; }
- gotoxy (strlen ("Adresse: ") + 8, 10);
- gets (var_adresse[global_i].adr1);
- for (i=0; i<=strlen (var_adresse[global_i].adr1); i++)
- {
- if (var_adresse[global_i].adr1[i]==' ') var_adresse[global_i].adr1[i]= '.';
- }
- if (strlen (var_adresse[global_i].adr1) == 0)
- { var_adresse[global_i].adr1[0]='/'; var_adresse[global_i].adr1[1]='\0'; }
- gotoxy (strlen ("Adresse: ") + 8, 11);
- gets (var_adresse[global_i].adr2);
- for (i=0; i<=strlen (var_adresse[global_i].adr2); i++)
- {
- if (var_adresse[global_i].adr2[i]==' ') var_adresse[global_i].adr2[i]= '.';
- }
- if (strlen (var_adresse[global_i].adr2) == 0)
- { var_adresse[global_i].adr2[0]='/'; var_adresse[global_i].adr2[1]='\0'; }
- gotoxy (strlen ("Tele: ") + 8, 12);
- gets (var_adresse[global_i].tele);
- for (i=0; i<=strlen (var_adresse[global_i].tele); i++)
- {
- if (var_adresse[global_i].tele[i]==' ') var_adresse[global_i].tele[i]= '.';
- }
- if (strlen (var_adresse[global_i].tele) == 0)
- { var_adresse[global_i].tele[0]='/'; var_adresse[global_i].tele[1]='\0'; }
- gotoxy (strlen ("Tele bureau: ") + 8, 13);
- gets (var_adresse[global_i].teleb);
- for (i=0; i<=strlen (var_adresse[global_i].teleb); i++)
- {
- if (var_adresse[global_i].teleb[i]==' ') var_adresse[global_i].teleb[i]= '.';
- }
- if (strlen (var_adresse[global_i].teleb) == 0)
- { var_adresse[global_i].teleb[0]='/'; var_adresse[global_i].teleb[1]='\0'; }
- gotoxy (strlen ("Mobile: ") + 8, 14);
- gets (var_adresse[global_i].mob);
- for (i=0; i<=strlen (var_adresse[global_i].mob); i++)
- {
- if (var_adresse[global_i].mob[i]==' ') var_adresse[global_i].mob[i]= '.';
- }
- if (strlen (var_adresse[global_i].mob) == 0)
- { var_adresse[global_i].mob[0]='/'; var_adresse[global_i].mob[1]='\0'; }
- gotoxy (strlen ("E-mail: ") + 8, 15);
- gets (var_adresse[global_i].email);
- for (i=0; i<=strlen (var_adresse[global_i].email); i++)
- {
- if (var_adresse[global_i].email[i]==' ') var_adresse[global_i].email[i]= '.';
- }
- if (strlen (var_adresse[global_i].email) == 0)
- { var_adresse[global_i].email[0]='/'; var_adresse[global_i].email[1]='\0'; }
- global_i++;
- }
- }
- void consulter_effacement_cadres ()
- {
- int i, j,k;
- char cmp, licte;
- for (i=21; i<=23; i++)
- for (j=2; j<=65; j++)
- {
- gotoxy (j,i);
- printf (" ");
- }
- position_ecriture (4, 21, "D");
- position_ecriture (4, 22, "-");
- position_ecriture (8, 21, "<-");
- position_ecriture (12, 21, "->");
- position_ecriture (16, 21, "F");
- position_ecriture (16, 22, "-");
- position_ecriture (20, 21, "Rechercher");
- position_ecriture (20, 22, "-");
- position_ecriture (33, 21, "Supprimer");
- position_ecriture (33, 22, "-");
- position_ecriture (45, 21, "Liste");
- position_ecriture (45, 22, "-");
-
- /*menu boucler ;*/
- i=1;
- consulter_D_F_Bidirection (1);
- while (1)
- {
- cmp = getch();
- if ( i < 1 )
- { i = 1;
- consulter_D_F_Bidirection (i);
- }
- if ( i > global_i - 1 )
- { i = global_i - 1;
- consulter_D_F_Bidirection (i);
- }
- if ( cmp == 27 ) break;
- if (( cmp == 68 ) || ( cmp == 100)) consulter_D_F_Bidirection (1);
- if (( cmp == 70 ) || ( cmp == 102)) consulter_D_F_Bidirection (global_i-1);
- if (( cmp == 82 ) || ( cmp == 114)) consulter_Rechercher ();
- if (( cmp == 83 ) || ( cmp == 115)) supprimer (i);
- if (( cmp == 76 ) || ( cmp == 108))
- {
- while (1)
- {
- position_ecriture (45, 21, " ");
- position_ecriture (45, 22, " ");
- liste ();
- licte = getch();
- if ( licte == 27 ) break;
- }
- position_ecriture (45, 21, "Liste");
- position_ecriture (45, 22, "-");
- for (k=5; k<=19; k++)
- for (j=5; j<=77; j++)
- {
- gotoxy (j,k);
- printf (" ");
- }
- position_ecriture (8, 8, "Nom: ");
- position_ecriture (8, 9, "Prenom: ");
- position_ecriture (8, 10, "Adresse: ");
- position_ecriture (8, 12, "Tele: ");
- position_ecriture (8, 13, "Tele bureau: ");
- position_ecriture (8, 14, "Mobile: ");
- position_ecriture (8, 15, "E-mail: ");
- ajout_enregistrement_champ ();
- consulter_D_F_Bidirection (1);
- }
- if ( cmp == 0 + 77 )
- { i++;
- if ((var_adresse[i].nom[0]== '.') &&
- (var_adresse[i].prn[0]== '.') &&
- (var_adresse[i].adr1[0]== '.') &&
- (var_adresse[i].adr2[0]== '.') &&
- (var_adresse[i].tele[0]== '.') &&
- (var_adresse[i].teleb[0]== '.') &&
- (var_adresse[i].mob[0]== '.') &&
- (var_adresse[i].email[0]= '.')) continue;
- consulter_D_F_Bidirection (i);
- }
- if ( cmp == 0 + 75 )
- { i--;
- if ((var_adresse[i].nom[0]== '.') &&
- (var_adresse[i].prn[0]== '.') &&
- (var_adresse[i].adr1[0]== '.') &&
- (var_adresse[i].adr2[0]== '.') &&
- (var_adresse[i].tele[0]== '.') &&
- (var_adresse[i].teleb[0]== '.') &&
- (var_adresse[i].mob[0]== '.') &&
- (var_adresse[i].email[0]= '.')) continue;
-
- consulter_D_F_Bidirection (i);
- }
- }
- affiche_sous_menu_general ();
- }
- void consulter_D_F_Bidirection (int i)
- {
- ajout_enregistrement_champ_moin ();
- gotoxy (strlen ("Nom: ") + 8, 8);
- puts (var_adresse[i].nom);
- gotoxy (strlen ("Prenom: ") + 8, 9);
- puts (var_adresse[i].prn);
- gotoxy (strlen ("Adresse: ") + 8, 10);
- puts (var_adresse[i].adr1);
- gotoxy (strlen ("Adresse: ") + 8, 11);
- puts (var_adresse[i].adr2);
- gotoxy (strlen ("Tele: ") + 8, 12);
- puts (var_adresse[i].tele);
- gotoxy (strlen ("Tele bureau: ") + 8, 13);
- puts (var_adresse[i].teleb);
- gotoxy (strlen ("Mobile: ") + 8, 14);
- puts (var_adresse[i].mob);
- gotoxy (strlen ("E-mail: ") + 8, 15);
- puts (var_adresse[i].email);
- }
-
-
-
- void consulter_Rechercher ()
- {
- int i;
- effacement ();
- ajout_enregistrement_champ ();
- gotoxy (strlen ("Nom: ") + 8, 8);
- gets (nom);
- if (strlen (nom) == 0) { nom[0]='/'; nom[1]='\0'; }
- i=1;
- while (i<global_i)
- {
- if (strcmp (nom, var_adresse[i].nom) == NULL )
- { consulter_D_F_Bidirection (i);
- gotoxy (strlen ("E-mail: ") + 8, 18);
- printf ("Appyer sur une touche pour continuer...");
- getch(); }
- i++;
- }
- gotoxy (strlen ("E-mail: ") + 8, 18);
- printf ("Recherche terminer ");
- }
- void supprimer (int s)
- {
- effacement ();
- var_adresse[s].nom[0]= '.';
- var_adresse[s].nom[1]= '\0';
- var_adresse[s].prn[0]= '.';
- var_adresse[s].prn[1]= '\0';
- var_adresse[s].adr1[0]= '.';
- var_adresse[s].adr1[1]= '\0';
- var_adresse[s].adr2[0]= '.';
- var_adresse[s].adr2[1]= '\0';
- var_adresse[s].tele[0]= '.';
- var_adresse[s].tele[1]= '\0';
- var_adresse[s].teleb[0]= '.';
- var_adresse[s].teleb[1]= '\0';
- var_adresse[s].mob[0]= '.';
- var_adresse[s].mob[1]= '\0';
- var_adresse[s].email[0]= '.';
- var_adresse[s].email[1]= '\0';
- }
-
- void liste ()
- { int i, j, k;
- char cmp = ' ';
- for (k=6; k<=19; k++)
- for (j=5; j<=77; j++)
- {
- gotoxy (j,k);
- printf (" ");
- }
- position_ecriture (5, 5, "NOM");
- position_ecriture (30, 5, "PRENOM");
- position_ecriture (51, 5, "E-MAIL");
- j=1;
- for (i=1; i<global_i; i++)
- {
- gotoxy (5, 5+j);
- printf ("%s", var_adresse[i].nom);
- gotoxy (30, 5+j);
- printf ("%s", var_adresse[i].prn);
- gotoxy (51, 5+j);
- printf ("%s", var_adresse[i].email);
- j++;
- if (j > 14 )
- { cmp = getch();
- if ( cmp == 27 ) break;
- for (k=6; k<=19; k++)
- for (j=5; j<=77; j++)
- {
- gotoxy (j,k);
- printf (" ");
- }
- j=1;
- }
- }
- }
- void modifier ()
- {
- int i, k;
- char c=' ';
- ajout_enregistrement_champ ();
- effacement ();
- gotoxy (strlen ("Nom: ") + 8, 8);
- gets (nom);
- if (strlen (nom) == 0) { nom[0]='/'; nom[1]='\0'; }
- i=1;
- while (i<global_i)
- {
- if (strcmp (nom, var_adresse[i].nom) == NULL )
- { consulter_D_F_Bidirection (i);
- gotoxy (strlen ("E-mail: ") + 8, 18);
- printf ("Appuyer sur une touche pour modifier...ESC pour annuler");
- if ((c = getch()) != 27 )
- {
- effacement ();
- ajout_enregistrement_champ ();
- cadre_prime (2, 21, 8, 23);
- gotoxy (strlen ("Nom: ") + 8, 8);
- gets (var_adresse[i].nom);
- for (k=0; k<=strlen (var_adresse[i].nom); k++)
- {
- if (var_adresse[i].nom[k]==' ') var_adresse[i].nom[k]= '.';
- }
- if (strlen (var_adresse[i].nom) == 0)
- { var_adresse[i].nom[0]='/'; var_adresse[i].nom[1]='\0'; }
- gotoxy (strlen ("Prenom: ") + 8, 9);
- gets (var_adresse[i].prn);
- for (k=0; k<=strlen (var_adresse[i].prn); k++)
- {
- if (var_adresse[i].prn[k]==' ') var_adresse[i].prn[k]= '.';
- }
- if (strlen (var_adresse[i].prn) == 0)
- { var_adresse[i].prn[0]='/'; var_adresse[i].prn[1]='\0'; }
- gotoxy (strlen ("Adresse: ") + 8, 10);
- gets (var_adresse[i].adr1);
- for (k=0; k<=strlen (var_adresse[i].adr1); k++)
- {
- if (var_adresse[i].adr1[k]==' ') var_adresse[i].adr1[k]= '.';
- }
- if (strlen (var_adresse[i].adr1) == 0)
- { var_adresse[i].adr1[0]='/'; var_adresse[i].adr1[1]='\0'; }
- gotoxy (strlen ("Adresse: ") + 8, 11);
- gets (var_adresse[i].adr2);
- for (k=0; k<=strlen (var_adresse[i].adr2); k++)
- {
- if (var_adresse[i].adr2[k]==' ') var_adresse[i].adr2[k]= '.';
- }
- if (strlen (var_adresse[i].adr2) == 0)
- { var_adresse[i].adr2[0]='/'; var_adresse[i].adr2[1]='\0'; }
- gotoxy (strlen ("Tele: ") + 8, 12);
- gets (var_adresse[i].tele);
- for (k=0; k<=strlen (var_adresse[i].tele); k++)
- {
- if (var_adresse[i].tele[k]==' ') var_adresse[i].tele[k]= '.';
- }
- if (strlen (var_adresse[i].tele) == 0)
- { var_adresse[i].tele[0]='/'; var_adresse[i].tele[1]='\0'; }
- gotoxy (strlen ("Tele bureau: ") + 8, 13);
- gets (var_adresse[i].teleb);
- for (k=0; k<=strlen (var_adresse[i].teleb); k++)
- {
- if (var_adresse[i].teleb[k]==' ') var_adresse[i].teleb[k]= '.';
- }
- if (strlen (var_adresse[i].teleb) == 0)
- { var_adresse[i].teleb[0]='/'; var_adresse[i].teleb[1]='\0'; }
- gotoxy (strlen ("Mobile: ") + 8, 14);
- gets (var_adresse[i].mob);
- for (k=0; k<=strlen (var_adresse[i].mob); k++)
- {
- if (var_adresse[i].mob[k]==' ') var_adresse[i].mob[k]= '.';
- }
- if (strlen (var_adresse[i].mob) == 0)
- { var_adresse[i].mob[0]='/'; var_adresse[i].mob[1]='\0'; }
- gotoxy (strlen ("E-mail: ") + 8, 15);
- gets (var_adresse[i].email);
- for (k=0; k<=strlen (var_adresse[i].email); k++)
- {
- if (var_adresse[i].email[k]==' ') var_adresse[i].email[k]= '.';
- }
- if (strlen (var_adresse[i].email) == 0)
- { var_adresse[i].email[0]='/'; var_adresse[i].email[1]='\0'; }
- }
- effacement ();
- gotoxy (strlen ("E-mail: ") + 8, 18);
- printf ("Appyer sur une touche pour continuer...");
- getch();
- }
- i++;
- }
-
- gotoxy (strlen ("E-mail: ") + 8, 18);
- printf ("Recherche terminer ");
-
- }
- void trier ()
- {
- int i, j;
- for (i=1; i<global_i; i++)
- {
- for (j=1; j<global_i; j++)
- {
- if (strcmp (var_adresse[i].nom, var_adresse[j].nom) < 0 )
- { var_adresse_trier[1]=var_adresse[i];
- var_adresse[i]=var_adresse[j];
- var_adresse[j]=var_adresse_trier[1];
- }
- }
- }
- }
- void effacement ()
- {
- int i, j;
- for (i=17; i<=19; i++)
- for (j=4; j<=77; j++)
- {
- gotoxy (j,i);
- printf (" ");
- }
- }
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define max_nom 30
#define max_adresse 50
#define max_autre 20
struct adresse
{
char nom [max_nom];
char prn [max_nom];
char adr1 [max_adresse];
char adr2 [max_adresse];
char tele [max_autre];
char teleb [max_autre];
char mob [max_autre];
char email [max_nom];
};
struct adresse var_adresse[100], var_adresse_trier[1];
FILE * fichier;
void cadre (int x1, int y1, int x2, int y2);
void cadre_prime (int x1, int y1, int x2, int y2);
void position_ecriture (int x, int y, char mot [30]);
void affiche_menu_general ();
void affiche_sous_menu_general ();
void interface_application ();
void ajout_enregistrement_champ ();
void ajout_enregistrement_champ_moin ();
void affichages_des_tableaux ();
void saisie ();
void consulter ();
void consulter_effacement_cadres ();
void consulter_D_F_Bidirection (int x);
void consulter_Rechercher ();
void supprimer (int s);
void liste ();
void modifier ();
void trier ();
void effacement ();
int global_i = 1, j;
char nom [30];
main()
{
fichier = fopen ("adresse.dat", "a");
fclose (fichier);
fichier = fopen ("adresse.dat", "r");
while (! feof (fichier))
{
fscanf (fichier, "\t\n%s %s %s %s %s %s %s %s",
var_adresse[global_i].nom,
var_adresse[global_i].prn,
var_adresse[global_i].adr1,
var_adresse[global_i].adr2,
var_adresse[global_i].tele,
var_adresse[global_i].teleb,
var_adresse[global_i].mob,
var_adresse[global_i].email);
global_i++;
}
fclose (fichier);
textbackground (1);
textcolor (7);
interface_application ();
affiche_menu_general ();
return 0;
}
void cadre (int x1, int y1, int x2, int y2)
{
int i;
for (i=x1; i<x2; i++)
{
gotoxy (i, y1);
printf ("%c", 205);
gotoxy (i, y2);
printf ("%c", 205);
}
for (i=y1; i<y2; i++)
{
gotoxy (x1, i);
printf ("%c", 186);
gotoxy (x2, i);
printf ("%c", 186);
}
gotoxy (x1, y1);
printf ("%c", 201);
gotoxy (x1, y2);
printf ("%c", 200);
gotoxy (x2, y1);
printf ("%c", 187);
gotoxy (x2, y2);
printf ("%c", 188);
}
void cadre_prime (int x1, int y1, int x2, int y2)
{
int i;
for (i=x1; i<x2; i++)
{
gotoxy (i, y1);
printf ("%c", 196);
gotoxy (i, y2);
printf ("%c", 196);
}
for (i=y1; i<y2; i++)
{
gotoxy (x1, i);
printf ("%c", 179);
gotoxy (x2, i);
printf ("%c", 179);
}
gotoxy (x1, y1);
printf ("%c", 218);
gotoxy (x1, y2);
printf ("%c", 192);
gotoxy (x2, y1);
printf ("%c", 191);
gotoxy (x2, y2);
printf ("%c", 217);
}
void position_ecriture (int x, int y, char mot [30])
{
gotoxy (x, y);
printf ("%s", mot);
}
void affiche_menu_general ()
{
char c = ' ';
int i=1;
affiche_sous_menu_general ();
while (1)
{
if (i == 1)
{
cadre (2, 21, 8, 23); /* ajout */
cadre_prime (57, 21, 65, 23);
cadre_prime (9, 21, 18, 23);
}
if (i == 2)
{
cadre (9, 21, 18, 23); /* modifier */
cadre_prime (2, 21, 8, 23);
cadre_prime (19, 21, 29, 23);
}
if (i == 3)
{
cadre (19, 21, 29, 23); /* consulter */
cadre_prime (9, 21, 18, 23);
cadre_prime (30, 21, 36, 23);
}
if (i == 4)
{
cadre (30, 21, 36, 23); /* trier */
cadre_prime (19, 21, 29, 23);
cadre_prime (37, 21, 46, 23);
}
if (i == 5)
{
cadre (37, 21, 46, 23); /* imprimer */
cadre_prime (30, 21, 36, 23);
cadre_prime (47, 21, 56, 23);
}
if (i == 6)
{
cadre (47, 21, 56, 23); /* a propos */
cadre_prime (37, 21, 46, 23);
cadre_prime (57, 21, 65, 23);
}
if (i == 7)
{
cadre (57, 21, 65, 23); /* quitter */
cadre_prime (47, 21, 56, 23);
cadre_prime (2, 21, 8, 23);
}
c = getch();
if ( i == 1 && c == 13 ) { saisie (); }
if ( i == 2 && c == 13 ) { modifier (); }
if ( i == 3 && c == 13 ) { consulter_effacement_cadres (); }
if ( i == 4 && c == 13 ) { trier (); }
if ( i == 5 && c == 13 )
{
effacement ();
gotoxy (strlen ("E-mail: ") + 8, 18);
printf ("vide !");
}
if ( i == 6 && c == 13 )
{
gotoxy (20, 10);
gotoxy (strlen ("E-mail: "), 18);
printf ("Serrat lyes, serrat_lyes@hotmail.com, www.geocities.com/amine808");
}
if ( i == 7 && c == 13 )
{
fichier = fopen ("adresse.dat", "w");
for (j=1; j<global_i; j++)
{
if ((var_adresse[j].nom[0]=='.') ||
(var_adresse[j].prn[0]=='.') ||
(var_adresse[j].adr1[0]=='.') ||
(var_adresse[j].adr2[0]=='.') ||
(var_adresse[j].tele[0]=='.') ||
(var_adresse[j].teleb[0]=='.') ||
(var_adresse[j].mob[0]=='.') ||
(var_adresse[j].email[0]=='.')) continue;
fprintf (fichier, "\t\n%s %s %s %s %s %s %s %s",
var_adresse[j].nom,
var_adresse[j].prn,
var_adresse[j].adr1,
var_adresse[j].adr2,
var_adresse[j].tele,
var_adresse[j].teleb,
var_adresse[j].mob,
var_adresse[j].email);
}
fclose (fichier);
exit (1);
}
if ( c == 0 + 77 ) i++;
if ( c == 0 + 75 ) i--;
if ( i > 7 ) i = 1;
if ( i < 1 ) i = 7;
}
}
/* menu principal a afficher: */
void interface_application ()
{
clrscr();
cadre (1, 2, 80, 25); /* premier cadre */
position_ecriture (3, 2, "Carnet d'adresses");
cadre (3, 3, 78, 20); /* deuxième cadre */
cadre (2, 21, 7, 23);
/* donnees du carnet d'adresse a manipulés */
/*position_ecriture (8, 7, "Numero: ");*/
position_ecriture (8, 8, "Nom: ");
position_ecriture (8, 9, "Prenom: ");
position_ecriture (8, 10, "Adresse: ");
position_ecriture (8, 12, "Tele: ");
position_ecriture (8, 13, "Tele bureau: ");
position_ecriture (8, 14, "Mobile: ");
position_ecriture (8, 15, "E-mail: ");
ajout_enregistrement_champ ();
/* fin donnees du carnet d'adresse a manipulés */
}
void affiche_sous_menu_general ()
{
/* menu principal a afficher:
**AJOUT MODIFIER SUPPREMER CONSULTER TRIER IMPRIMER A PROPOS QUITTER** */
position_ecriture (3, 22, "AJOUT");
position_ecriture (10, 22, "MODIFIER");
position_ecriture (20, 22, "CONSULTER");
position_ecriture (31, 22, "TRIER");
position_ecriture (38, 22, " ");
position_ecriture (48, 22, "A PROPOS");
position_ecriture (58, 22, "QUITTER");
cadre_prime (2, 21, 8, 23);
cadre_prime (9, 21, 18, 23);
cadre_prime (19, 21, 29, 23);
cadre_prime (30, 21, 36, 23);
cadre_prime (37, 21, 46, 23);
cadre_prime (47, 21, 56, 23);
cadre_prime (57, 21, 65, 23);
}
void ajout_enregistrement_champ ()
{
/* effacement des enciennes rubriques */
gotoxy (strlen ("Nom: ") + 8, 8);
printf ("..............................");
gotoxy (strlen ("Prenom: ") + 8, 9);
printf ("..............................");
gotoxy (strlen ("Adresse: ") + 8, 10);
printf ("..................................................");
gotoxy (strlen ("Adresse: ") + 8, 11);
printf ("..................................................");
gotoxy (strlen ("Tele: ") + 8, 12);
printf ("....................");
gotoxy (strlen ("Tele bureau: ") + 8, 13);
printf (".....................");
gotoxy (strlen ("Mobile: ") + 8, 14);
printf (".....................");
gotoxy (strlen ("E-mail: ") + 8, 15);
printf ("..............................");
}
void ajout_enregistrement_champ_moin ()
{
/* effacement des enciennes rubriques */
gotoxy (strlen ("Nom: ") + 8, 8);
printf (" ");
gotoxy (strlen ("Prenom: ") + 8, 9);
printf (" ");
gotoxy (strlen ("Adresse: ") + 8, 10);
printf (" ");
gotoxy (strlen ("Adresse: ") + 8, 11);
printf (" ");
gotoxy (strlen ("Tele: ") + 8, 12);
printf (" ");
gotoxy (strlen ("Tele bureau: ") + 8, 13);
printf (" ");
gotoxy (strlen ("Mobile: ") + 8, 14);
printf (" ");
gotoxy (strlen ("E-mail: ") + 8, 15);
printf (" ");
}
void saisie ()
{
int i;
if ( global_i > 100 ) printf (" ");
else
{
ajout_enregistrement_champ ();
cadre_prime (2, 21, 8, 23);
gotoxy (strlen ("Nom: ") + 8, 8);
gets (var_adresse[global_i].nom);
for (i=0; i<=strlen (var_adresse[global_i].nom); i++)
{
if (var_adresse[global_i].nom[i]==' ') var_adresse[global_i].nom[i]= '.';
}
if (strlen (var_adresse[global_i].nom) == 0)
{ var_adresse[global_i].nom[0]='/'; var_adresse[global_i].nom[1]='\0'; }
gotoxy (strlen ("Prenom: ") + 8, 9);
gets (var_adresse[global_i].prn);
for (i=0; i<=strlen (var_adresse[global_i].prn); i++)
{
if (var_adresse[global_i].prn[i]==' ') var_adresse[global_i].prn[i]= '.';
}
if (strlen (var_adresse[global_i].prn) == 0)
{ var_adresse[global_i].prn[0]='/'; var_adresse[global_i].prn[1]='\0'; }
gotoxy (strlen ("Adresse: ") + 8, 10);
gets (var_adresse[global_i].adr1);
for (i=0; i<=strlen (var_adresse[global_i].adr1); i++)
{
if (var_adresse[global_i].adr1[i]==' ') var_adresse[global_i].adr1[i]= '.';
}
if (strlen (var_adresse[global_i].adr1) == 0)
{ var_adresse[global_i].adr1[0]='/'; var_adresse[global_i].adr1[1]='\0'; }
gotoxy (strlen ("Adresse: ") + 8, 11);
gets (var_adresse[global_i].adr2);
for (i=0; i<=strlen (var_adresse[global_i].adr2); i++)
{
if (var_adresse[global_i].adr2[i]==' ') var_adresse[global_i].adr2[i]= '.';
}
if (strlen (var_adresse[global_i].adr2) == 0)
{ var_adresse[global_i].adr2[0]='/'; var_adresse[global_i].adr2[1]='\0'; }
gotoxy (strlen ("Tele: ") + 8, 12);
gets (var_adresse[global_i].tele);
for (i=0; i<=strlen (var_adresse[global_i].tele); i++)
{
if (var_adresse[global_i].tele[i]==' ') var_adresse[global_i].tele[i]= '.';
}
if (strlen (var_adresse[global_i].tele) == 0)
{ var_adresse[global_i].tele[0]='/'; var_adresse[global_i].tele[1]='\0'; }
gotoxy (strlen ("Tele bureau: ") + 8, 13);
gets (var_adresse[global_i].teleb);
for (i=0; i<=strlen (var_adresse[global_i].teleb); i++)
{
if (var_adresse[global_i].teleb[i]==' ') var_adresse[global_i].teleb[i]= '.';
}
if (strlen (var_adresse[global_i].teleb) == 0)
{ var_adresse[global_i].teleb[0]='/'; var_adresse[global_i].teleb[1]='\0'; }
gotoxy (strlen ("Mobile: ") + 8, 14);
gets (var_adresse[global_i].mob);
for (i=0; i<=strlen (var_adresse[global_i].mob); i++)
{
if (var_adresse[global_i].mob[i]==' ') var_adresse[global_i].mob[i]= '.';
}
if (strlen (var_adresse[global_i].mob) == 0)
{ var_adresse[global_i].mob[0]='/'; var_adresse[global_i].mob[1]='\0'; }
gotoxy (strlen ("E-mail: ") + 8, 15);
gets (var_adresse[global_i].email);
for (i=0; i<=strlen (var_adresse[global_i].email); i++)
{
if (var_adresse[global_i].email[i]==' ') var_adresse[global_i].email[i]= '.';
}
if (strlen (var_adresse[global_i].email) == 0)
{ var_adresse[global_i].email[0]='/'; var_adresse[global_i].email[1]='\0'; }
global_i++;
}
}
void consulter_effacement_cadres ()
{
int i, j,k;
char cmp, licte;
for (i=21; i<=23; i++)
for (j=2; j<=65; j++)
{
gotoxy (j,i);
printf (" ");
}
position_ecriture (4, 21, "D");
position_ecriture (4, 22, "-");
position_ecriture (8, 21, "<-");
position_ecriture (12, 21, "->");
position_ecriture (16, 21, "F");
position_ecriture (16, 22, "-");
position_ecriture (20, 21, "Rechercher");
position_ecriture (20, 22, "-");
position_ecriture (33, 21, "Supprimer");
position_ecriture (33, 22, "-");
position_ecriture (45, 21, "Liste");
position_ecriture (45, 22, "-");
/*menu boucler ;*/
i=1;
consulter_D_F_Bidirection (1);
while (1)
{
cmp = getch();
if ( i < 1 )
{ i = 1;
consulter_D_F_Bidirection (i);
}
if ( i > global_i - 1 )
{ i = global_i - 1;
consulter_D_F_Bidirection (i);
}
if ( cmp == 27 ) break;
if (( cmp == 68 ) || ( cmp == 100)) consulter_D_F_Bidirection (1);
if (( cmp == 70 ) || ( cmp == 102)) consulter_D_F_Bidirection (global_i-1);
if (( cmp == 82 ) || ( cmp == 114)) consulter_Rechercher ();
if (( cmp == 83 ) || ( cmp == 115)) supprimer (i);
if (( cmp == 76 ) || ( cmp == 108))
{
while (1)
{
position_ecriture (45, 21, " ");
position_ecriture (45, 22, " ");
liste ();
licte = getch();
if ( licte == 27 ) break;
}
position_ecriture (45, 21, "Liste");
position_ecriture (45, 22, "-");
for (k=5; k<=19; k++)
for (j=5; j<=77; j++)
{
gotoxy (j,k);
printf (" ");
}
position_ecriture (8, 8, "Nom: ");
position_ecriture (8, 9, "Prenom: ");
position_ecriture (8, 10, "Adresse: ");
position_ecriture (8, 12, "Tele: ");
position_ecriture (8, 13, "Tele bureau: ");
position_ecriture (8, 14, "Mobile: ");
position_ecriture (8, 15, "E-mail: ");
ajout_enregistrement_champ ();
consulter_D_F_Bidirection (1);
}
if ( cmp == 0 + 77 )
{ i++;
if ((var_adresse[i].nom[0]== '.') &&
(var_adresse[i].prn[0]== '.') &&
(var_adresse[i].adr1[0]== '.') &&
(var_adresse[i].adr2[0]== '.') &&
(var_adresse[i].tele[0]== '.') &&
(var_adresse[i].teleb[0]== '.') &&
(var_adresse[i].mob[0]== '.') &&
(var_adresse[i].email[0]= '.')) continue;
consulter_D_F_Bidirection (i);
}
if ( cmp == 0 + 75 )
{ i--;
if ((var_adresse[i].nom[0]== '.') &&
(var_adresse[i].prn[0]== '.') &&
(var_adresse[i].adr1[0]== '.') &&
(var_adresse[i].adr2[0]== '.') &&
(var_adresse[i].tele[0]== '.') &&
(var_adresse[i].teleb[0]== '.') &&
(var_adresse[i].mob[0]== '.') &&
(var_adresse[i].email[0]= '.')) continue;
consulter_D_F_Bidirection (i);
}
}
affiche_sous_menu_general ();
}
void consulter_D_F_Bidirection (int i)
{
ajout_enregistrement_champ_moin ();
gotoxy (strlen ("Nom: ") + 8, 8);
puts (var_adresse[i].nom);
gotoxy (strlen ("Prenom: ") + 8, 9);
puts (var_adresse[i].prn);
gotoxy (strlen ("Adresse: ") + 8, 10);
puts (var_adresse[i].adr1);
gotoxy (strlen ("Adresse: ") + 8, 11);
puts (var_adresse[i].adr2);
gotoxy (strlen ("Tele: ") + 8, 12);
puts (var_adresse[i].tele);
gotoxy (strlen ("Tele bureau: ") + 8, 13);
puts (var_adresse[i].teleb);
gotoxy (strlen ("Mobile: ") + 8, 14);
puts (var_adresse[i].mob);
gotoxy (strlen ("E-mail: ") + 8, 15);
puts (var_adresse[i].email);
}
void consulter_Rechercher ()
{
int i;
effacement ();
ajout_enregistrement_champ ();
gotoxy (strlen ("Nom: ") + 8, 8);
gets (nom);
if (strlen (nom) == 0) { nom[0]='/'; nom[1]='\0'; }
i=1;
while (i<global_i)
{
if (strcmp (nom, var_adresse[i].nom) == NULL )
{ consulter_D_F_Bidirection (i);
gotoxy (strlen ("E-mail: ") + 8, 18);
printf ("Appyer sur une touche pour continuer...");
getch(); }
i++;
}
gotoxy (strlen ("E-mail: ") + 8, 18);
printf ("Recherche terminer ");
}
void supprimer (int s)
{
effacement ();
var_adresse[s].nom[0]= '.';
var_adresse[s].nom[1]= '\0';
var_adresse[s].prn[0]= '.';
var_adresse[s].prn[1]= '\0';
var_adresse[s].adr1[0]= '.';
var_adresse[s].adr1[1]= '\0';
var_adresse[s].adr2[0]= '.';
var_adresse[s].adr2[1]= '\0';
var_adresse[s].tele[0]= '.';
var_adresse[s].tele[1]= '\0';
var_adresse[s].teleb[0]= '.';
var_adresse[s].teleb[1]= '\0';
var_adresse[s].mob[0]= '.';
var_adresse[s].mob[1]= '\0';
var_adresse[s].email[0]= '.';
var_adresse[s].email[1]= '\0';
}
void liste ()
{ int i, j, k;
char cmp = ' ';
for (k=6; k<=19; k++)
for (j=5; j<=77; j++)
{
gotoxy (j,k);
printf (" ");
}
position_ecriture (5, 5, "NOM");
position_ecriture (30, 5, "PRENOM");
position_ecriture (51, 5, "E-MAIL");
j=1;
for (i=1; i<global_i; i++)
{
gotoxy (5, 5+j);
printf ("%s", var_adresse[i].nom);
gotoxy (30, 5+j);
printf ("%s", var_adresse[i].prn);
gotoxy (51, 5+j);
printf ("%s", var_adresse[i].email);
j++;
if (j > 14 )
{ cmp = getch();
if ( cmp == 27 ) break;
for (k=6; k<=19; k++)
for (j=5; j<=77; j++)
{
gotoxy (j,k);
printf (" ");
}
j=1;
}
}
}
void modifier ()
{
int i, k;
char c=' ';
ajout_enregistrement_champ ();
effacement ();
gotoxy (strlen ("Nom: ") + 8, 8);
gets (nom);
if (strlen (nom) == 0) { nom[0]='/'; nom[1]='\0'; }
i=1;
while (i<global_i)
{
if (strcmp (nom, var_adresse[i].nom) == NULL )
{ consulter_D_F_Bidirection (i);
gotoxy (strlen ("E-mail: ") + 8, 18);
printf ("Appuyer sur une touche pour modifier...ESC pour annuler");
if ((c = getch()) != 27 )
{
effacement ();
ajout_enregistrement_champ ();
cadre_prime (2, 21, 8, 23);
gotoxy (strlen ("Nom: ") + 8, 8);
gets (var_adresse[i].nom);
for (k=0; k<=strlen (var_adresse[i].nom); k++)
{
if (var_adresse[i].nom[k]==' ') var_adresse[i].nom[k]= '.';
}
if (strlen (var_adresse[i].nom) == 0)
{ var_adresse[i].nom[0]='/'; var_adresse[i].nom[1]='\0'; }
gotoxy (strlen ("Prenom: ") + 8, 9);
gets (var_adresse[i].prn);
for (k=0; k<=strlen (var_adresse[i].prn); k++)
{
if (var_adresse[i].prn[k]==' ') var_adresse[i].prn[k]= '.';
}
if (strlen (var_adresse[i].prn) == 0)
{ var_adresse[i].prn[0]='/'; var_adresse[i].prn[1]='\0'; }
gotoxy (strlen ("Adresse: ") + 8, 10);
gets (var_adresse[i].adr1);
for (k=0; k<=strlen (var_adresse[i].adr1); k++)
{
if (var_adresse[i].adr1[k]==' ') var_adresse[i].adr1[k]= '.';
}
if (strlen (var_adresse[i].adr1) == 0)
{ var_adresse[i].adr1[0]='/'; var_adresse[i].adr1[1]='\0'; }
gotoxy (strlen ("Adresse: ") + 8, 11);
gets (var_adresse[i].adr2);
for (k=0; k<=strlen (var_adresse[i].adr2); k++)
{
if (var_adresse[i].adr2[k]==' ') var_adresse[i].adr2[k]= '.';
}
if (strlen (var_adresse[i].adr2) == 0)
{ var_adresse[i].adr2[0]='/'; var_adresse[i].adr2[1]='\0'; }
gotoxy (strlen ("Tele: ") + 8, 12);
gets (var_adresse[i].tele);
for (k=0; k<=strlen (var_adresse[i].tele); k++)
{
if (var_adresse[i].tele[k]==' ') var_adresse[i].tele[k]= '.';
}
if (strlen (var_adresse[i].tele) == 0)
{ var_adresse[i].tele[0]='/'; var_adresse[i].tele[1]='\0'; }
gotoxy (strlen ("Tele bureau: ") + 8, 13);
gets (var_adresse[i].teleb);
for (k=0; k<=strlen (var_adresse[i].teleb); k++)
{
if (var_adresse[i].teleb[k]==' ') var_adresse[i].teleb[k]= '.';
}
if (strlen (var_adresse[i].teleb) == 0)
{ var_adresse[i].teleb[0]='/'; var_adresse[i].teleb[1]='\0'; }
gotoxy (strlen ("Mobile: ") + 8, 14);
gets (var_adresse[i].mob);
for (k=0; k<=strlen (var_adresse[i].mob); k++)
{
if (var_adresse[i].mob[k]==' ') var_adresse[i].mob[k]= '.';
}
if (strlen (var_adresse[i].mob) == 0)
{ var_adresse[i].mob[0]='/'; var_adresse[i].mob[1]='\0'; }
gotoxy (strlen ("E-mail: ") + 8, 15);
gets (var_adresse[i].email);
for (k=0; k<=strlen (var_adresse[i].email); k++)
{
if (var_adresse[i].email[k]==' ') var_adresse[i].email[k]= '.';
}
if (strlen (var_adresse[i].email) == 0)
{ var_adresse[i].email[0]='/'; var_adresse[i].email[1]='\0'; }
}
effacement ();
gotoxy (strlen ("E-mail: ") + 8, 18);
printf ("Appyer sur une touche pour continuer...");
getch();
}
i++;
}
gotoxy (strlen ("E-mail: ") + 8, 18);
printf ("Recherche terminer ");
}
void trier ()
{
int i, j;
for (i=1; i<global_i; i++)
{
for (j=1; j<global_i; j++)
{
if (strcmp (var_adresse[i].nom, var_adresse[j].nom) < 0 )
{ var_adresse_trier[1]=var_adresse[i];
var_adresse[i]=var_adresse[j];
var_adresse[j]=var_adresse_trier[1];
}
}
}
}
void effacement ()
{
int i, j;
for (i=17; i<=19; i++)
for (j=4; j<=77; j++)
{
gotoxy (j,i);
printf (" ");
}
}
Conclusion
carnet d'adresse que j réaliser pour apprendre le C, il sera reponser, réercrit dans la version 2.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|