⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 repertoire_telephone.cpp

📁 这是一个记事本
💻 CPP
字号:
/* structure_Fichier.c */
/* ADIJIANG.Yierdana */
/* G1 SFSI */

# include <stdio.h>
# include <conio.h>
# include <string.h>
# include <ctype.h>

# define  Max      5


struct    indiv{char tel[10];
                char nom[10];
                };

typedef    struct{int nombre;
                  struct indiv page[Max];
                  }repertoire;
                      

void initialise(repertoire rep[]);
void Saisir(repertoire rep[]);
void Consulter(repertoire rep[]);
void Chargement(repertoire rep[]);
void Sauvegarde(repertoire rep[]);

int main(void)
{
 repertoire tab[26];
 char choix;
 initialise(tab);
 Chargement(tab);
 do{  
     puts("\tMENU PRINCIPAL");
     puts("saisie tapez 's'");
     puts("consulter tapez 'c'");
     puts("sortir du programme tapez 'e'"); 
               
     choix=getche();
     
     
     switch(choix)
           {
                  case 's' : Saisir(tab);                             
                             break;
                             
                  case 'c' : Consulter(tab);
                             break;
            }                               
   }while(choix!='e'); 
     
 
 Sauvegarde(tab); 
 
}                                                                            


void Saisir(repertoire rep[])
{ 
  struct indiv per;
  char Touche;
  int i;
  do{   
      printf("\nEntrez le nom que vous voulez repertorier :");
      gets(per.nom);
      printf("Entrez le numero de telephone de cette personne :");
      gets(per.tel);
      for(i=0;i<10;i++)
          per.nom[i]=tolower(per.nom[i]);                       
      strcpy(rep[per.nom[0]-'a'].page[rep[per.nom[0]-'a'].nombre].nom,per.nom);
      strcpy(rep[per.nom[0]-'a'].page[rep[per.nom[0]-'a'].nombre].tel,per.tel);                    
      rep[per.nom[0]-'a'].nombre++; 
      printf("appuyez ESC pour sortir : \n\n");  
      Touche=getch();                                                                                                       
    }while(Touche!=27);  
}

void Consulter(repertoire rep[])
{
  struct indiv per;
  int i,comparaison;
  printf("\nEntrez le nom de la personne : ");
  gets(per.nom);
  for(i=0;i<10;i++)
     per.nom[i]=tolower(per.nom[i]); 
  i=0;
  comparaison=1;
  do{
     comparaison=comparaison*strcmp(per.nom,rep[per.nom[0]-'a'].page[i].nom);
     i++;
     }while(comparaison!=0 && i<rep[per.nom[0]-'a'].nombre);
  if(comparaison==0) 
    printf("le numero est : %s\n",rep[per.nom[0]-'a'].page[i-1].tel);
  else 
    puts("nom non repertorie\n");              
}


     
     
void Sauvegarde(repertoire rep[])
{  
  FILE *f;
  int i,j;
  f=fopen("rep_tele.dat","w");
  if(f==NULL)
    perror("probleme de fichier \n");    
                   
  for(i=0;i<26;i++)
    {
      for(j=0;j<rep[i].nombre;j++)
       {
         fprintf(f, "\n%s",rep[i].page[j].nom);
         fprintf(f, "\t%s",rep[i].page[j].tel);
       }
    }
  fclose(f);
 }       

void Chargement(repertoire rep[])
{
  FILE *f ;
  struct indiv per ;
  int a ;        
  f = fopen("rep_tele.dat","r") ;
  if (f == NULL)
      printf ("fihier inconnu");
  else
  {    
   fscanf(f,"%s",per.nom);
   fscanf(f,"%s",per.tel);  
   a=ftell(f);
   if(a==0)
    {
      printf("premiere utilisation,");
      printf("veuillez faire la saisie d'abord :\n");
    } 
  else
    {
      fseek(f,0L,0);          
      while(!feof(f))
      {
       fscanf(f,"%s",per.nom);
       fscanf(f,"%s",per.tel);    
       strcpy(rep[per.nom[0]-'a'].page[rep[per.nom[0]-'a'].nombre].nom, per.nom);
       strcpy(rep[per.nom[0]-'a'].page[rep[per.nom[0]-'a'].nombre].tel, per.tel);
       rep[per.nom[0]-'a'].nombre = rep[per.nom[0]-'a'].nombre + 1 ;                             
       };
    }   
}    
  fclose(f);       

}

void initialise(repertoire rep[])
{
 int i;
 for(i=0;i<26;i++)
   rep[i].nombre=0;
}      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -