begin process at 2010 02 10 01:48:08
  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

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, 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 Gestion de variables [ par angelfire0808 ] Voici mon code Code : Cvoid liste_repertoire_pour_sms(rep *repertoire,char num_send[</s Problèmes compilation projets ?? [ par DMK04 ] Bonjour,j'ai un problème avec un projet... J'ai essayé de simplifier le problème au maximum avant de le poser et voilà ce que ça donne :On crée un pro Suppression de fichier [ par angelfire0808 ] J'ai un programme dans lequel je dois supprimer un fichier.Le probleme c'est qu'il ne se supprime pas toujours. Quelles sont les conditions pour qu'un Elle est ou l'erreur ?? [ par kgadhi ] Bonsoir tous le monde et merci pour votre aide,j'essaye de m'entrainer à la programmation orientée objet en C/C++ mais la j'ai un petit probleme:virtu pointeurs et structures [ par glipper ] Bonjour,j'ai declaré dans un de mes programmes une structure dans un fichier header :typedef struct Fiche{    char iop[30];} Fiche;<b marre [ par erakiel54 ] bonjour ! Je galere pour crer un agenda tout simple, avec 10 pages au total ... avec simplement pour commencer le nom et le prenom a demander et à


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,624 sec (3)

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