begin process at 2012 02 10 09:00:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Prob de tri ds un fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Prob de tri ds un fichier

mercredi 4 juin 2003 à 21:37:48 | Prob de tri ds un fichier

RvSpeed

Voila je boss sur un truc en ce moment et la j'arrive pas a faire fonctionner correctement le tri de mon fichier sur 2 clées
voici la structure, ma fonction ajout qui appel ma fonction tri qui merde :

struct amis
{char nom[21],prenom[21],num_tel[11],adresse[100];
int code;
}ami,ami1[100];

//fonction d'ajout d'entr,e
void ajout()
{
clrscr();
char a;
FILE *f;
f=fopen("C:\\ami.dat","ab");
textcolor(11);
fflush(stdin);
gotoxy(5,5);
cprintf("Entrez le nom : ");
fgets(ami.nom,21,stdin);
fflush(stdin);
gotoxy(5,6);
cprintf("Entrez le pr,nom : ");
fgets(ami.prenom,21,stdin);
fflush(stdin);
gotoxy(5,7);
cprintf("Entrez le num,ro de t,l,phone : ");
fgets(ami.num_tel,11,stdin);
fflush(stdin);
gotoxy(5,8);
cprintf("Entrez l'adresse : ");
fgets(ami.adresse,101,stdin);
ami.code=0;
fwrite(&ami,sizeof(struct amis),1,f);
while(a!='O' && a!='o'&& a!='N' && a!='n')
{textcolor(CYAN);
gotoxy(5,16);
cprintf("Voulez-vous ajouter une autre personne (O)ui / (N)on : ");
scanf("%c",&a);
if(a=='O' || a=='o')
{fclose(f);
ajout();
}
else
{if(a=='N' || a=='n')
{fclose(f);
tri(); //====>elle est la ste sale bête
}
}
}
fclose(f);

};

//Fonction de triage
void tri() //===>voila le "gros morceau"
{
FILE *f;
int i=0,j,tmp;
f=fopen("C:\\ami.dat","rb");
while(!feof(f) && i!=100)
{
fread(&ami1[i],sizeof(struct amis),1,f);
i++;
}
tmp=i;
for(i=0;i<tmp;i++)//for 1
{
for(j=i+1;j<tmp;j++)//for 2
{
if(strcmp(ami1[i].nom,ami1[j].nom)==0)
{
if(strcmp(ami1[i].nom,ami1[j].nom) <0 )
{
strcpy(ami.nom,ami1[i].nom);
strcpy(ami1[i].nom,ami1[j].nom);
strcpy(ami1[j].nom,ami.nom);
strcpy(ami.prenom,ami1[i].prenom);
strcpy(ami1[i].prenom,ami1[j].prenom);
strcpy(ami1[j].prenom,ami.prenom);
strcpy(ami.num_tel,ami1[i].num_tel);
strcpy(ami1[i].num_tel,ami1[j].num_tel);
strcpy(ami1[j].num_tel,ami.num_tel);
strcpy(ami.adresse,ami1[i].adresse);
strcpy(ami1[i].adresse,ami1[j].adresse);
strcpy(ami1[j].adresse,ami.adresse);
ami.code=ami1[i].code;
ami1[i].code=ami1[j].code;
ami1[j].code=ami.code;
}
}
else
{if(strcmp(ami1[i].prenom,ami1[j].prenom) <0 )
{
strcpy(ami.nom,ami1[i].nom);
strcpy(ami1[i].nom,ami1[j].nom);
strcpy(ami1[j].nom,ami.nom);
strcpy(ami.prenom,ami1[i].prenom);
strcpy(ami1[i].prenom,ami1[j].prenom);
strcpy(ami1[j].prenom,ami.prenom);
strcpy(ami.num_tel,ami1[i].num_tel);
strcpy(ami1[i].num_tel,ami1[j].num_tel);
strcpy(ami1[j].num_tel,ami.num_tel);
strcpy(ami.adresse,ami1[i].adresse);
strcpy(ami1[i].adresse,ami1[j].adresse);
strcpy(ami1[j].adresse,ami.adresse);
ami.code=ami1[i].code;
ami1[i].code=ami1[j].code;
ami1[j].code=ami.code;
}
}
}//fin for 2
}//fin for 1
fclose(f);
f=fopen("C:\\ami.dat","wb");
for(i=0;i<tmp;i++)
{if(ami1[i].code==0)
fwrite(&ami1[i],sizeof(struct amis),1,f);
}
fclose(f);
menu();
};//fin tri

PLZ help me!!! je c plus quoi faire. Pourtant j'ais appliquer l'algorithme de tri de mon cour d'analyse


Cette discussion est classée dans : num, ami, prenom, strcpy, ami1


Répondre à ce message

Sujets en rapport avec ce message

Demande d'aide [ par mikak ] J'ai un probleme avec le MALLOC de ce programme,aidez moia trouver une soltion pour qu'on puisse lister par ordre alphabétiquevoid trie_affiche(){ int PB URGENT Langage C [ par mazo0012 ] Bonjour tout le monde voila, j'aimerais savoir comment modifier et supprimer un enregistrement de fichier en langage C, si quelqu'un pouvait m'aider, PB URGENT EN C [ par mazo0012 ] Bonjour tout le monde voila, j'aimerais savoir comment modifier et supprimer un enregistrement de fichier en langage C, si quelqu'un pouvait m'aider, pb modif fichier en c [ par mazo0012 ] Bonjour tout le monde voila, j'aimerais savoir comment modifier et supprimer un enregistrement de fichier en langage C, si quelqu'un pouvait m'aider, Pb de strcpy et de char tab[i][j] [ par fred23 ] Bonjour,J'ai ecrit les code suivant mais le strcpy ne me donne rien.Qui pourrais me dire pourquoi.?J'ai repéré la ligne avec une fleche.Merci pour vot strcpy [ par TeniX ] Salut je n'arrive pas a copier un char dans un autre.ex : si je fait char string1 , string2;strcpy(string1,string2);sa marche pas , ça doit etre tous Récuperation de privilege sur un partage [ par sam2004 ] Salut tous, j'ai utilisé la fonction NetShareEnum avec la structure de donnée SHARE_INFOS_2 mai pas de resultat .est ce que qlqu'un a une idée commen Pb avec strcpy et win32 [ par ToToL ] Bonjours je me suis mis depuis peut a la programation win32 et j'aurai besion de copier une chaine de caractere dans une variable ( char * text; ) mai ouvrir un fichier avec devcpp [ par anek971 ] lut tout le monde,Bon j'ai fait un petit programme tout bete juste pour pouvoir ecrire une donné sur une personne ,dans le but d'agrementer ca plustar copie d'éléments hexa [ par ronandmcdonald ] Salut @ tous!Je voudrais copier des éléments en hexa dans un buffer. Je le faisais avant avec strcpy mais pour des caractères ça ne semble pas marché


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,638 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales