begin process at 2012 05 29 10:27:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

écrire un programme qui trie (trie par insertion) par nom et par age un tableau de structure de données (alloué dynamiquement) qui contient l'age et le nom et le prénom et qui enregistre le tri par nom dans un fichier texte et le tri par age (l'utilisateu


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

écrire un programme qui trie (trie par insertion) par nom et par age un tableau de structure de données (alloué dynamiquement) qui contient l'age et le nom et le prénom et qui enregistre le tri par nom dans un fichier texte et le tri par age (l'utilisateu

lundi 16 mai 2011 à 00:49:29 | écrire un programme qui trie (trie par insertion) par nom et par age un tableau de structure de données (alloué dynamiquement) qui contient l'age et le nom et le prénom et qui enregistre le tri par nom dans un fichier texte et le tri par age (l'utilisateu

moncif44

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<conio.h>
#define MAX 10

typedef struct {
char nom[MAX] ;
char prenom[MAX] ;
char age[MAX] ;
} persone ;
void EchangerNom( persone *pX, persone *pY ) {
persone r = *pX;
*pX = *pY;
*pY = r; //Tri par nom
}
void triNom(persone s[], int n){
int i,j;
int imin; /* index of minimum */
for (i=0; i<n; i++) {
imin=i;
for (j=i+1; j<n; j++) if (strcmp(s[j].nom,s[imin].nom)<0) imin=j;
EchangerNom(&s[i],&s[imin]);
}
}
void EchangerAge( persone *pX, persone *pY ) {
persone r = *pX;
*pX = *pY; //tri Age
*pY = r;
}
void triAge(persone s[], int n){
int i,j;
int imin;
for (i=0; i<n; i++) {
imin=i;
for (j=i+1; j<n; j++) if (strcmp(s[j].age,s[imin].age) < 0 ) imin=j;
EchangerAge(&s[i],&s[imin]);
}
}
main(){
FILE *trinom , *triage ;
char fich1[21] , fich2[21] ;
persone *t ; // tableau de structure qui contient age nom et prenom
int cmtr ; // compteur =)
int n ;
int choix;

int age ;

do
{

system("cls");
printf("1--------entrez le nom prenom et l'age de persone----\n");
printf("2------------trie par nom -----________________----- \n");
printf("2------------trie par age----_----______________---- \n");
printf("4------------Sortir-----------------------------------\n");
printf(" Votre choix(1,2,3,4)\n");
scanf("%d",&choix) ;
switch(choix)

{ case 1 :
printf("le nom du fichier la ou les noms et la 1ere lettre du prenom en majuscul :");
scanf("%20s",fich1) ;
trinom = fopen(fich1,"w");
if (trinom != NULL )
printf("votre fichier est cree avec succes !\n");
printf("---------------------------------------------------------------\n");
printf("le nom du fichier là ou les information seront trie par age ? :");
scanf("%s",fich2);
triage = fopen(fich2,"w");
if (triage != NULL )
printf("fichier de tri age est cree avec succes !\n");
printf("-----------------------------------------------------------------\n");
printf("combien des utilisateurs voulez vous stocker ? :");
scanf("%d",&n);
t=(persone*)malloc(n*sizeof(persone));
for(cmtr=0 ; cmtr < n ; cmtr ++){
printf("Entrez le nom et le prenom et l'age de l'utilisateur numero %d :\n",cmtr+1);
scanf("%s %s %d",&t[cmtr].nom,&t[cmtr].prenom,&t[cmtr].age) ;

case 2:
triNom(t,n);
for(cmtr=0; cmtr<n ; cmtr++){
fprintf(trinom,"%d - ",cmtr+1);
fprintf(trinom," le nom est : ");
fprintf(trinom,t[cmtr].nom);
fprintf(trinom," - ");
fprintf(trinom,"le prenom est : ");
fprintf(trinom,t[cmtr].prenom);
fprintf(trinom," - ");
fprintf(trinom,"l'age est : ");
fprintf(trinom, t[cmtr].age ) ;
fprintf(trinom,"\n");
}
case 3:
triAge(t,n);
for(cmtr=0; cmtr<n ; cmtr++){
fprintf(triage,"%d - ",cmtr+1);
fprintf(triage," le nom est : ");
fprintf(triage,t[cmtr].nom);
fprintf(triage," - ");
fprintf(triage,"le prenom est : ");
fprintf(triage,t[cmtr].prenom);
fprintf(triage," - ");
fprintf(triage,"l'age est : ");
fprintf(triage, t[cmtr].age ) ;
fprintf(triage,"\n");
}
printf("------------------------------------------------\n");
for(cmtr = 0 ; cmtr < n ; cmtr++){
printf("%s - %s - %s\n",t[cmtr].nom,t[cmtr].prenom,t[cmtr].age);
}
case 4:
printf(" Bye Bye \n");
while(choix!=4);

}
}





lundi 16 mai 2011 à 00:50:56 | Re : écrire un programme qui trie (trie par insertion) par nom et par age un tableau de structure de données (alloué dynamiquement) qui contient l'age et le nom et le prénom et qui enregistre le tri par nom dans un fichier texte et le tri par age (l'utili

moncif44

slt je ss un debuteur en C le programme il ne fonctione pas est s qu'il y a qlq pour m'aider merci
mercredi 18 mai 2011 à 10:43:19 | Re : écrire un programme qui trie (trie par insertion) par nom et par age un tableau de structure de données (alloué dynamiquement) qui contient l'age et le nom et le prénom et qui enregistre le tri par nom dans un fichier texte et le tri par age (l'utili

axelorque

indente déjà ton code

ensuite niveau conception...
ta fonction EchangerNom() n'échange pas les nom... mais juste les pointeurs des 2 structures personnes passées en parametre
meme probleme pour EchangerAge()

fuites mémoire, tu ne libères pas la mémoire allouée avec malloc()

les tests sur les ouvertures de fichiers ont l'air boiteux oO un oublit de {} surement


Cette discussion est classée dans : age, printf, fprintf, cmtr, trinom


Répondre à ce message

Sujets en rapport avec ce message

Problème avec fseek( ) [ par juancho2786 ] Bonsoir, je suis occupé sur un petit programme ( de débutant ) qui demande a l'utilisateur son nom, prénom et date de naissance. Ensuite il met ses in mon code source en C ne marche pas [ par maxo234 ] Bonjour, j'ai un problèmme: j'apprend a coder le C sur le site du zéro et je voudrait créer un programme de type console pour dialoguer avec l'ordina Besoin d'aide pour ce code [ par pacolo ] #include#include struct eleve   { char nom[20];     char prenom[30];     char sexe[2];     int age;      }      feleve;   int main ()    {int Age;  FI Problème de débutant en C [ par ArcHeretic ] Bonjour,Alors voila j'aimerais juste savoir ce qu'il cloche dans mon bout de code :#include #include using namespace std; Problème d'affichage des images sur serveur http codé en c [ par httpcouic ] Bonjour, j'ai un serveur http à coder le problème c'est que je n'arrive pas à afficher des images avec: je ne sais pas si c'est lié aux mimes vers la crée un jeux de braquage [ par farcry165 ] bonjour j'ai commencer a crée un jeux de braquage en console, j'ai fait un menu(principal) avec armes et braquage mais le problème ses que quand on va migration d une base mysql vers postgres en c : erreur de segmentation [ par loenia ] Bonjourje suis actuellement en stage en entreprise. et je dois effectuer la migration d'une base Mysql vers une base postgres.il se trouve qu au milie ou sont les erreurs de ce code? [ par jihado86 ] %{#include typedef char* string ;#define YYSTYPE stringFILE * entree;FILE * sortie;int i=0;char s[128];%}%token '{'%token '}'%token '['%token ']'%toke Client / Serveur => Je m'enmèle les pinceaux avec le buffer, les boucles etc. [C] [ par matad0r ] Bonjour, bonjour!J'ai récemment créé une petite application client/serveur de rien du tout (je suis débutant), en m'aidant de ça : http://c.developpez Choisir un mot au hasard dans un .txt [ par chounardinio ] Bonjour à tous, J'ai suivi un tutoriel pour créer mon tout premier jeu en C/C++ .Je suis en seconde ISI et j'ai choisit de montrer mon jeu comme exp


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,655 sec (3)

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