Mini projet en langage C
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Salam,
j'ai un mini projet "gestion personnel" en langage C mais sans utiliser la base de données et sans utiliser les fichiers.
on a seulement le droit d'utiliser les tableaux.
ce mini projet pert ses enregistrements aprés chaque fermeture.
merci d'avance
j'ai un mini projet "gestion personnel" en langage C mais sans utiliser la base de données et sans utiliser les fichiers.
on a seulement le droit d'utiliser les tableaux.
ce mini projet pert ses enregistrements aprés chaque fermeture.
merci d'avance
A voir également:
- Mini projet en c
- Opera mini pc - Télécharger - Navigateurs
- Filigrane projet - Guide
- Gant projet - Télécharger - Gestion de projets
- Rohos mini drive - Télécharger - Chiffrement
- Dameware mini remote control - Télécharger - Web & Internet
3 réponses
Et apparemment on ne sait pas quoi te répondre... peut-être tout simplement parce qu'on ne comprend pas la question.
Sur la page indiquée, lis particulièrement la rubrique 'quelques conseils':
http://www.commentcamarche.net/faq/sujet 10925 demander de l aide pour vos exercices sur ccm
Bon courage.
Sur la page indiquée, lis particulièrement la rubrique 'quelques conseils':
http://www.commentcamarche.net/faq/sujet 10925 demander de l aide pour vos exercices sur ccm
Bon courage.
Le plus simple, me semble-t-il, est d'utiliser un tableau de pointeurs dynamique, pointeurs sur des chaînes de caractères.
-> déclaration d'un tableau:: char** chaines = NULL;
-> déclaration d'un indice: int indice = 0;
Si on a besoin de stocker une chaîne contenue dans un char* chaine:
-> réallocation: chaines = (char**)realloc (chaines, (++indice) * sizeof(char*));
Là il y a 2 méthodes de copie de la chaîne:
- soit une copie logique: chaines[indice-1] = chaine; ce qui implique de ne pas désallouer 'chaine',
- soit une copie physique:
-> allocation mémoire: chaines[indice-1] = (char*)malloc(strlen(chaine)+1);
-> copie physique: strcpy (chaines[indice-1], chaine); ne pas oublier de désallouer 'chaine'.
Pour imprimer un tableau, pas de mystères:
int i; for (i=0; i<indice; i++) printf ("%s\n", chaines[i]);
Nota: Evidemment il ne faut jamais oublier de vérifier si les malloc et realloc se sont bien déroulés.
-> déclaration d'un tableau:: char** chaines = NULL;
-> déclaration d'un indice: int indice = 0;
Si on a besoin de stocker une chaîne contenue dans un char* chaine:
-> réallocation: chaines = (char**)realloc (chaines, (++indice) * sizeof(char*));
Là il y a 2 méthodes de copie de la chaîne:
- soit une copie logique: chaines[indice-1] = chaine; ce qui implique de ne pas désallouer 'chaine',
- soit une copie physique:
-> allocation mémoire: chaines[indice-1] = (char*)malloc(strlen(chaine)+1);
-> copie physique: strcpy (chaines[indice-1], chaine); ne pas oublier de désallouer 'chaine'.
Pour imprimer un tableau, pas de mystères:
int i; for (i=0; i<indice; i++) printf ("%s\n", chaines[i]);
Nota: Evidemment il ne faut jamais oublier de vérifier si les malloc et realloc se sont bien déroulés.