Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Demande d'aide [ Divers / Divers ] (mikak)

jeudi 25 mai 2006 à 14:29:47 | Demande d'aide

mikak


J'ai un probleme avec le MALLOC de ce programme,aidez moia trouver une soltion pour qu'on puisse lister par ordre alphabétique


void trie_affiche()
{ int nbre_etudiant,i=0,j,k;
  char *ci,*cj;
  etudiant *e,ed;
  clrscr();
  printf("\n\n ========== TRI ALPHABETIQUE DES ETUDIANTS =============");
  if(!fichier)
  { printf("\n\n\nPr,cisez d'abord un fichier!");
    printf("\n\n\n\nTapez une touche pour revenir au menu principal");
    getch();
    return;
  }
  fseek(fichier,0,2);
nbre_etudiant=ftell(fichier)/sizeof(etudiant);
if(nbre_etudiant>eff)
 {
  printf("\n\n\nCe fichier contient un nombre d'etudiant superieur a \nl'effectif saisi dans le planning !!!");
  printf("\nChoisissez un autre fichier ou redonnez l'effectif!");
  printf("\n\n\nAppuyez sur une touche pour revenir au Menu principal.");
  getch();
  return;
 }

 // fseek(fichier,0,2);
 // nb_e=ftell(fichier)/sizeof(etudiant);
  e=(etudiant*)malloc(nbre_etudiant*sizeof(etudiant));
  rewind(fichier);
  while(i<nbre_etudiant)
  { fread(&e[i],sizeof(etudiant),1,fichier);
    i++;
  }
  for(i=0;i<nbre_etudiant;i++)
    for(j=i+1;j<nbre_etudiant;j++)
    { strcpy(ci,e[i].nom);
      strcat(ci,e[i].prenom); ///  C'EST A CE NIVEAU OU IL Y A PROBLEME
      strcpy(cj,e[j].nom);
      strcat(cj,e[j].prenom);
      if(strcmpi(ci,cj)>0)
      { copie(&ed,e[i]);
 copie(&e[i],e[j]);
 copie(&e[j],ed);
      }
    }
  j=0;  k=1;
  for(i=0;i<nbre_etudiant;i++)
  { if(j<nbs_u)
    { if(k==1)
      { printf("\n\n\n\tLes etudiants qui vont passer l'examen à la salle nø%d sont:\n",s[j].numsal);
 printf("\n\tNø\tCNE\t\tNom\t\tPrenom\n");
      }
      if(k<s[j].capsal)
 { printf("\n\t%d\t%s\t\t%s\t\t%s",i+1,e[i].cne,e[i].nom,e[i].prenom);
   k++;
 }
      else
      { printf("\n\t%d\t%s\t\t%s\t\t%s",i+1,e[i].cne,e[i].nom,e[i].prenom);
 k=1;
 j++;
 printf("\nÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ");
      }
    }
    else
    { printf("\n-------- on a depassé le nombre de salles utilis,es -------\n");
      return;
    }
  }
  flushall();
  printf("\n\n Appuyer sur une touche pour retourner au menu principal");
  getch();
}

//fonction permettant de copier un champ d'etudiants dans un autre
void copie(etudiant *e1,etudiant e2)
{ strcpy(e1->nom,e2.nom);
  strcpy(e1->prenom,e2.prenom);
  strcpy(e1->cne,e2.cne);
}


jeudi 25 mai 2006 à 14:57:34 | Re : Demande d'aide

Flachy Joe

Pourquoi poste tu ça sur Le Bar, discussion libre et pas sur le forum specifique ?

[;)] Flachy Joe [;)]

vendredi 26 mai 2006 à 11:02:54 | Re : Demande d'aide

taz_iup

moi c'est les free qui me pose problème...

vendredi 26 mai 2006 à 15:44:24 | Re : Demande d'aide

darunia

Tu n'alloue pas ci, c'est normal que ça ne fonctionne pas !!!

n=nombre de caractere
char ci[n] ou char* ci=(char*)malloc(sizeof(n)*256)

De plus, fait bien attention a liberer ta mémoire en fin de traitement

D@runia

vendredi 26 mai 2006 à 15:45:24 | Re : Demande d'aide

darunia

Correction : ci=(char*)malloc(sizeof(char)*n)

D@runia



Cette discussion est classé dans : fichier, printf, prenom, strcpy, etudiant


Répondre à ce message

Sujets en rapport avec ce message

Debutant : ecrire et lire un fichier txt [ par manu ] Bonjour a tous.Je debute, aussi desole.... :)Je cherche donc a ecrire dans un fichier txt, puis a lire ce fichier ligne a ligne, faire un split / expl Analyse fichier log a faire en C [ par Nexouille ] A l'aideeeeeeeeeeeeeeeeeeeeeeeeee***************************************Les serveurs web enregistrent la trace des visites dans des fichiers de log. C Petit probleme de code en C sur Linux !! [ par UncleShu ] Je voudrais créer un fichier dans le réperoire personnel d'un utilisateur mais mon code ne marche pas !!#include #include #include #define DIR $HOM Chaine de caractère ! [ par rems14 ] Bonjour, j'ai fais un petit programme qui ne marche pas. POuvais vous me dire ce qui ne marche pas. Je vous explique, je veux demander le prénom de qu [C] lecture d'un fichier [ par GazGaz ] lu allalors voila en fait je lis un fichier en c et le probleme c'est que ce fichier est composé de lignes dont la taille exècede largement les 80 car Aide fichier :) [ par asnow ] Salut a tous :)Voila mon tit code pour ouvrir un fichiervoid Ouverture () {char nomf[20]; printf("Entrez le nom du fichier :"); scanf("%s", nomf [debutant]attribution dun mot a une char et comparaison ... [ par DarkEbola ] en fait, jaurais aimé attribuer du texte a une charkke chose comme 500 ou 600 caracteres maximais jarrive pas a lui attribuer plus de 1 Charsuis-je pl Affichage d'une image BMP en C [ par sabres ] Voici le code source d'un début de programme écrit sous Turbo C/C++ permettant d'afficher les caractéristiques d'une image BMP et de l'afficher. Le pr regardez ma source HELP [ par asnow ] BonjourJe debute en C. j'ai voulu apprendre à enregistrer des données dans un fichier, ca a donné ce code .Si vous pouviez me donner des recommandatio Prob de tri ds un fichier [ par 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éesvoici la structure, ma fon


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.