Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010
-
8 mai 2005 à 15:32
Debord10
Messages postés45Date d'inscriptionmercredi 23 mars 2011StatutMembreDernière intervention 7 juin 2013
-
23 avril 2011 à 18:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Debord10
Messages postés45Date d'inscriptionmercredi 23 mars 2011StatutMembreDernière intervention 7 juin 2013 23 avril 2011 à 18:38
Bjr! c programme marche bien,sauf qu'il n'a pas gerer le cas ou on se trompe d'étudiant et on veut plus continuer son enrégistrement;on peut l'arrêter en appuyant sur une touche et revenir au menu,au lieu d'allez encore supprimer l'étudiant qu'on n 'a pas fini l'enrégistrement.
N.B:pour nous qui sommes débutant trouvonsque ce bon,et c'est encourrageant.
abdo_kayane
Messages postés1Date d'inscriptiondimanche 1 juillet 2007StatutMembreDernière intervention 1 juillet 2007 1 juil. 2007 à 16:01
svp moi je cherche le meme programme ne language c qui permet d ajouter et supprimer eleves et chercher et plus que ca le paiment des leves ...tu peux m aider stp j attend votre reponse
deck_bsd
Messages postés1242Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 17 janv. 2006 à 19:02
marik7335 : Un tableau de structure dynamique ça peut être bon aussi non?? ça évite la manip de temps de pointeur pour rien.
mat1eu
Messages postés13Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention20 février 2006 31 oct. 2005 à 23:31
bonsoir,
comme dit precedemment c bien mais dommage que ce ne soit pas en C++ car moi aussi j'apprend le langage et je rame pour comprendre ce code car pour la gestion des flux, c pas reelement comme ca dans mon bouquin.
Mais sinon c vraiment bien comme programme y marche bien et y bug pas. Je vais essayer de mettre ca a la sauce C++....Enfin j'ai dis essayer, je debute/
mathieu
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutMembreDernière intervention29 janvier 201017 25 mai 2005 à 20:59
ok
merci
marik7335
Messages postés115Date d'inscriptionsamedi 27 décembre 2003StatutMembreDernière intervention11 mai 2009 25 mai 2005 à 17:33
getch() retourne le code ascii de la touche saisie au clavier. Par contre fo faire deux appels à cette fonction ou tout simplement utiliser toupper() pour retourner le code ascii.
exemple :
char ch;
ch = getch();
ch = toupper(ch);
Je crois que c ça si ma mémoire ne flanche pas.
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutMembreDernière intervention29 janvier 201017 25 mai 2005 à 17:14
a quoi sert getch()?
merci
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutMembreDernière intervention29 janvier 201017 25 mai 2005 à 17:09
en effet je vois ce prog comme une aide mais dommage qu'il ne soit pas en c++
je voulais apprendre sur les gestion des flux
klinux
Messages postés4Date d'inscriptionjeudi 9 novembre 2000StatutMembreDernière intervention16 juillet 2005 9 mai 2005 à 21:31
merci pour les remarques.
effectivement le traitement sur les eleves sera plus vite en memoire (le temps dacces est plus rapide),mais jvoulai juste proposer des fonctions que les debutants peuvent lire pour se familiariser avec la manipulation des fichiers.
en fait il existe plusieurs methodes qui facilitent la manipulation comme le hashcoding et les fichiers indexes.
merci encore pour vos commentaires -)
nb: jai oublié de supprimer les directions vers le fichier comme
f=fopen("C:/Documents and Settings/kamal kimakhe/Mes documents/classe.dat","rt");
qui devient
f=fopen("classe.dat","rt");
marik7335
Messages postés115Date d'inscriptionsamedi 27 décembre 2003StatutMembreDernière intervention11 mai 2009 8 mai 2005 à 18:27
Aprés étude de ton code, je peux constater que tu traite les éléves directement à partir de ton fichier et pour reprendre les dires de Saros, ce n'est pas la meilleure méthode. J'aurais plutôt penser à une liste chaînée. En effet, avec les listes chaînées, tous les traitements seront effectués directement en mémoire (c déjà plus rapide), puis ça te permet de traiter autant d'élèves que tu veux, sans te soucier de leur effectif dans une classe (tant que la mémoire le permet).
Exemple de déclaration en reprenant ta structure :
struct eleve
{
char nom[10], prenom[10];
int mat;
float note;
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 8 mai 2005 à 15:32
Tu lis directement les infos dans le fichier ? Ca doit pas être la méthode la plus rapide
Aussi, quand tu vérifie d'éventuelles erreurs quand tu appelle tes fonctions (affichage par ex), ne met pas de 'else' et place le getch() et le fclose() supplémentaires. Sinon on se perd avec les alinéas.
23 avril 2011 à 18:38
N.B:pour nous qui sommes débutant trouvonsque ce bon,et c'est encourrageant.
1 juil. 2007 à 16:01
17 janv. 2006 à 19:02
31 oct. 2005 à 23:31
comme dit precedemment c bien mais dommage que ce ne soit pas en C++ car moi aussi j'apprend le langage et je rame pour comprendre ce code car pour la gestion des flux, c pas reelement comme ca dans mon bouquin.
Mais sinon c vraiment bien comme programme y marche bien et y bug pas. Je vais essayer de mettre ca a la sauce C++....Enfin j'ai dis essayer, je debute/
mathieu
25 mai 2005 à 20:59
merci
25 mai 2005 à 17:33
exemple :
char ch;
ch = getch();
ch = toupper(ch);
Je crois que c ça si ma mémoire ne flanche pas.
25 mai 2005 à 17:14
merci
25 mai 2005 à 17:09
je voulais apprendre sur les gestion des flux
9 mai 2005 à 21:31
effectivement le traitement sur les eleves sera plus vite en memoire (le temps dacces est plus rapide),mais jvoulai juste proposer des fonctions que les debutants peuvent lire pour se familiariser avec la manipulation des fichiers.
en fait il existe plusieurs methodes qui facilitent la manipulation comme le hashcoding et les fichiers indexes.
merci encore pour vos commentaires -)
nb: jai oublié de supprimer les directions vers le fichier comme
f=fopen("C:/Documents and Settings/kamal kimakhe/Mes documents/classe.dat","rt");
qui devient
f=fopen("classe.dat","rt");
8 mai 2005 à 18:27
Exemple de déclaration en reprenant ta structure :
struct eleve
{
char nom[10], prenom[10];
int mat;
float note;
struct eleve *suivant;
}depart, *noeud, *noeud_precedent;
----Au départ
depart.suivant = NULL; // liste vide
noeud = &depart; // pointe vers le départ de la liste
----Ajouter un élève
noeud->suivant = (struct eleve *) malloc(sizeof(struct eleve));
noeud = noeud->suivant;
strcpy(noeud->nom,"nom");
strcpy(noeud->prenom,"prenom");
noeud->mat = 1;
noeud->note = 12,5;
noeud->suivant = NULL;
----Supprimer un élève (matricule = 1)
noeud = depart.suivant;
noeud_precedent = &depart;
while (noeud)
{
if (noeud->mat == 1)
{
noeud_precedent->suivant = noeud->suivant;
free(noeud);
}
else
{
noeud = noeud->suivant;
noeud_precedant = noeud_precedent->suivant;
}
}
8 mai 2005 à 15:32
Aussi, quand tu vérifie d'éventuelles erreurs quand tu appelle tes fonctions (affichage par ex), ne met pas de 'else' et place le getch() et le fclose() supplémentaires. Sinon on se perd avec les alinéas.