Comment trier des chaines de caractère dans un tableau ? - C - Programmation
Marsh Posté le 24-04-2008 à 14:51:24
Fais un effort si tu veux qu'on t'aide.
- Utilise les balises [cpp]
- Indique le message complet du compilo car il doit indiquer le nuéémro de ligne.
Marsh Posté le 24-04-2008 à 18:40:22
Ces lignes sont fausses
Code :
|
Code :
|
Code :
|
Il faut utiliser strcpy
Marsh Posté le 24-04-2008 à 13:13:04
Slt, je suis un débutant en programmation et mon prof me dit d'écrire un programme qui permet de trier une liste de chaine de caractère inserée dans un tableau.Voici un peu ce que j'ai fait mais le compilateur m'indique des erreurs lvalue required.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<stdlib.h>
#include<string.h>
struct etudiant{
char nom[20];
char prenom[30];
int numero;
} *ref;
void main()
{ clrscr();
int n,i;
char *tamp,*tamp1;
int tamp2,r;
printf("\n Saisir le nombre des ‚tudiants:" );
scanf("%d",&n);
// TYPEDEF struct etudiant etu;
ref=(struct etudiant *)calloc(n,sizeof(struct etudiant));
if(ref!=NULL)
{
for(i=0;i<n;i++)
{ printf("\n\tSaisie de l'‚tudiant %d",i+1);
printf("\n NOM:" );
scanf("%s",&ref[i].nom);
printf("\n PRENOM:" );
scanf("%s",&ref[i].prenom);
printf("\n NUMERO:" );
scanf("%d",&ref[i].numero);
}
for(i=0;i<n;i++)
{ r=strncmp(ref[i].nom,ref[i+1].nom,2);
if(r>0)
{ tamp=ref[i+1].nom;
ref[i+1].nom=ref[i].nom;
ref[i].nom=tamp;
tamp1=ref[i+1].prenom;
ref[i+1].prenom=ref[i].prenom;
ref[i].nom=tamp1;
tamp2=ref[i+1].numero;
ref[i+1].numero=ref[i].numero;
ref[i].numero=tamp2;
}
for(i=0;i<n;i++)
{ clrscr();
printf("\n\n\n\n\n\t\t Etudiant %d",i+1);
printf("\n %s",ref[i].nom);
printf("\n %s",ref[i].prenom);
printf("\n %d",ref[i].numero);
}
}
else
{ printf("\n PAS ASSEZ DE PLACE" ); }
free(ref);
getch();
}