Linux
Résolu
mimi_lindy
-
mimi_lynda Messages postés 32 Statut Membre -
mimi_lynda Messages postés 32 Statut Membre -
Bonjour,voulez vous maider ds cet exo svp
exo:
on desire traiter des fichiers linux ayant la structure suivante:
-une zone d'entete qui consiste en un entier de votre choix
-une suite d'objets ayant la structure suivante:-nom
-prenom
-age
les operations a realiser sur de tels fichiers sont:
*ouverture d'un fichier existant et affichage des enregistrement.
*une fonction qui donne le nombre d'enregistrements.
*une fonction qui donne la valeur du i=eme enregistrement.
*une fonction qui ajoute un nouvel enregistrement en fin de fichier .
*une fonction qui modifie le i=eme enregistrement .
*une fonction qui affiche en cas d'erreue dans un appel systeme le numéro et le message correspondant à l'erreur .
merci d'avance de mavoir aidé!
exo:
on desire traiter des fichiers linux ayant la structure suivante:
-une zone d'entete qui consiste en un entier de votre choix
-une suite d'objets ayant la structure suivante:-nom
-prenom
-age
les operations a realiser sur de tels fichiers sont:
*ouverture d'un fichier existant et affichage des enregistrement.
*une fonction qui donne le nombre d'enregistrements.
*une fonction qui donne la valeur du i=eme enregistrement.
*une fonction qui ajoute un nouvel enregistrement en fin de fichier .
*une fonction qui modifie le i=eme enregistrement .
*une fonction qui affiche en cas d'erreue dans un appel systeme le numéro et le message correspondant à l'erreur .
merci d'avance de mavoir aidé!
A voir également:
- Linux
- Linux reader - Télécharger - Stockage
- Toutou linux - Télécharger - Systèmes d'exploitation
- R-linux - Télécharger - Sauvegarde
- Linux mint 22.1 - Accueil - Linux
- Backtrack linux - Télécharger - Sécurité
35 réponses
re,
je veux le code'les commandes linux'qui me permettent de creer ce fichier ayant la structure demandée,
et les fonctions linux aussi (demandées) pour pouvoir manipuler ce fichier.
si vous metrisez linux vous pouvez comprendre de quoi il s'agit.
si vous pouvez m'aidez n'hesiter pas car j'en ai besoin.
merci une 2eme fois
je veux le code'les commandes linux'qui me permettent de creer ce fichier ayant la structure demandée,
et les fonctions linux aussi (demandées) pour pouvoir manipuler ce fichier.
si vous metrisez linux vous pouvez comprendre de quoi il s'agit.
si vous pouvez m'aidez n'hesiter pas car j'en ai besoin.
merci une 2eme fois
Salut,
Commence par nous exposer ce que tu as déjà fait, ensuite on verra ce que l'on peut pour toi ;-))
Commence par nous exposer ce que tu as déjà fait, ensuite on verra ce que l'on peut pour toi ;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
non,jai rien fait car,
j'ai peu de connaissance sur linux ,je sais juste crrer des fichier simples a travers le c++
mais ca c'est du pur linux et moi je connais pas l'environement linux,mais je dois faire ce travail .
j'ai peu de connaissance sur linux ,je sais juste crrer des fichier simples a travers le c++
mais ca c'est du pur linux et moi je connais pas l'environement linux,mais je dois faire ce travail .
et le nombre entier qui est au début de fichier ce n'est pas par hasard le nombre d'enregistrements ?!
oui, exactement cest un exo en langage c,et vu que je ne metrise pas linux et c ou c++ jai besoin d'aide!!
merci lami20j
merci lami20j
bonjour,
j'ai du mal à comprendre la logique :
une zone d'entete
à quoi sert-elle dans l'exercice ???
affichage des enregistrement.
enregistrements de quoi ?
-une suite d'objets ayant la structure suivante:
-nom
-prenom
-age </ital>
on peut supposer y mettre ce qu'on veut d'autre .... :-)
une fonction qui affiche en cas d'erreue dans un appel systeme le numéro et le message correspondant à l'erreur .
pourquoi faire ?
décidemment je comprend rien à rien ...trop dur pour moi l'informatique !
j'ai du mal à comprendre la logique :
une zone d'entete
à quoi sert-elle dans l'exercice ???
affichage des enregistrement.
enregistrements de quoi ?
-une suite d'objets ayant la structure suivante:
-nom
-prenom
-age </ital>
on peut supposer y mettre ce qu'on veut d'autre .... :-)
une fonction qui affiche en cas d'erreue dans un appel systeme le numéro et le message correspondant à l'erreur .
pourquoi faire ?
décidemment je comprend rien à rien ...trop dur pour moi l'informatique !
Salut,
voici un début
Le code permet de créer des enregistrements et ensuite d'afficher le contenu du fichier
tu crées d'abord un fichier vide avec la commande
ensuite tu compile ce p'tit code et tu l'exécute
voici un début
Le code permet de créer des enregistrements et ensuite d'afficher le contenu du fichier
tu crées d'abord un fichier vide avec la commande
touch personne.dat
ensuite tu compile ce p'tit code et tu l'exécute
#include<stdio.h>
#include<stdlib.h>
typedef struct Personne_{
char nom[100];
char prenom[100];
int age;
}Personne;
void AjouterEnregistrement(int *nb);
void Afficher(int *nb);
int main()
{
int nb;
char choix = 'o';
while(choix == 'o'){
AjouterEnregistrement(&nb);
getchar();
printf("Voulez vous continuer o/n ? ");
choix = getchar();
}
Afficher(&nb);
return 0;
}
void AjouterEnregistrement(int *nb){
FILE *fb;
Personne nouveau;
if(NULL ==(fb=fopen("personne.dat","r+b")))
exit(EXIT_FAILURE);
if(fread(nb,sizeof(int),1,fb)==0)
*nb = 0;
printf("--- Ajouter une nouvelle personne ---\n");
printf("Nom : ");
scanf("%s",nouveau.nom);
getchar();
printf("Prenom : ");
scanf("%s",nouveau.prenom);
getchar();
printf("Age : ");
scanf("%d",&nouveau.age);
*nb = *nb +1;
fseek(fb,0,SEEK_SET);
fwrite(nb,sizeof(int),1,fb);
fseek(fb,0,SEEK_END);
fwrite(nouveau.nom,100,1,fb);
fwrite(nouveau.prenom,100,1,fb);
fwrite(&nouveau.age,sizeof(int),1,fb);
fclose(fb);
}
void Afficher(int *nb){
FILE *fb;
int i;
Personne nouveau;
if(NULL ==(fb=fopen("personne.dat","rb")))
exit(EXIT_FAILURE);
fread(nb,sizeof(int),1,fb);
printf("Il y a %d enregistrements\n",*nb);
for(i=0;i<*nb;++i){
fread(nouveau.nom,100,1,fb);
fread(nouveau.prenom,100,1,fb);
fread(&nouveau.age,sizeof(int),1,fb);
printf("%d. Nom : %s, Prénom : %s , Age : %d\n",
i+1,nouveau.nom,nouveau.prenom, nouveau.age);
}
fclose(fb);
}
voici l'exécution
lami20j@debserv:~/trash/c_exercices$ ./a.out --- Ajouter une nouvelle personne --- Nom : AAA Prenom : aaa Age : 10 Voulez vous continuer o/n ? o --- Ajouter une nouvelle personne --- Nom : BBB Prenom : bbb Age : 20 Voulez vous continuer o/n ? o --- Ajouter une nouvelle personne --- Nom : CCC Prenom : ccc Age : 30 Voulez vous continuer o/n ? n Il y a 3 enregistrements 1. Nom : AAA, Prénom : aaa , Age : 10 2. Nom : BBB, Prénom : bbb , Age : 20 3. Nom : CCC, Prénom : ccc , Age : 30 lami20j@debserv:~/trash/c_exercices$
merci pour ce code,
le nom du fichier c'est 'personne'?et ce code repond a quellle partie de l'exo?
si je px avoir votre msn pour discuter de la solution ca serait bien
merci
le nom du fichier c'est 'personne'?et ce code repond a quellle partie de l'exo?
si je px avoir votre msn pour discuter de la solution ca serait bien
merci
le nom de fichier est personne.dat
le code traite
*ouverture d'un fichier existant et affichage des enregistrement.
*une fonction qui donne le nombre d'enregistrements.
*une fonction qui ajoute un nouvel enregistrement en fin de fichier .
le nombre d'enregistrement je l'affiche avec la fonction d'affichage
le code traite
*ouverture d'un fichier existant et affichage des enregistrement.
*une fonction qui donne le nombre d'enregistrements.
*une fonction qui ajoute un nouvel enregistrement en fin de fichier .
le nombre d'enregistrement je l'affiche avec la fonction d'affichage
ya -t-il la commande pour le nombre entier a lentete? qui n'est pas bien sur le nombre d'enregistrements,c'est un nombre entier quelquonque .
un nombre entier quelconque ne sers à rien
donc le nombre entier sera le nombre des enregistrements
à chaque nouveau enregistrement le numéro sera incrément, ce que je trouve assez logique
comme ça tu ne sera pas obliger de compter à chaque fois que tu veux le nombre d'enregistrements
et voici une fonction pour le nombre d'enregistrements qui en fait lit le nombre entier en entête de fichier
donc le nombre entier sera le nombre des enregistrements
à chaque nouveau enregistrement le numéro sera incrément, ce que je trouve assez logique
comme ça tu ne sera pas obliger de compter à chaque fois que tu veux le nombre d'enregistrements
et voici une fonction pour le nombre d'enregistrements qui en fait lit le nombre entier en entête de fichier
int NombreEnregistrements(){
FILE *fb;
int nb;
if(NULL == (fb = fopen("personne.dat","rb")))
return -1;
fread(&nb,sizeof(int),1,fb);
fclose(fb);
return nb;
}
pour
*une fonction qui affiche en cas d'erreue dans un appel systeme le numéro et le message correspondant à l'erreur .
tu dois utiliser perror
*une fonction qui affiche en cas d'erreue dans un appel systeme le numéro et le message correspondant à l'erreur .
tu dois utiliser perror
Normalement, si ton code ne fait pas appel à des librairies disponibles que sous Windows, que tu sois sous Linux ou sous Windows ne change strictement rien : le C, c'est du C !
voici l'enoncé complet de l'exo:
Bonjour,voulez vous maider ds cet exo svp
exo:
on desire traiter des fichiers linux ayant la structure suivante:
-une zone d'entete qui consiste en un entier de votre choix
-une suite d'objets ayant la structure suivante:-nom
-prenom
-age
les operations a realiser sur de tels fichiers sont:
*ouverture d'un fichier existant et affichage des enregistrement.
*une fonction qui donne le nombre d'enregistrements.
*une fonction qui donne la valeur du i=eme enregistrement.
*une fonction qui ajoute un nouvel enregistrement en fin de fichier .
*une fonction qui modifie le i=eme enregistrement .
*une fonction qui affiche en cas d'erreue dans un appel systeme le numéro et le message correspondant à l'erreur .
-écrire en c++(c) les classes (les structures) nécessaires .
-ajouter une fonction Main ,cette fonction affiche un menu afin de permettre à l’utilisateur d’exécuter des opérations sur les fichiers précédants .
merci d'avance de m’avoir aidé!
Bonjour,voulez vous maider ds cet exo svp
exo:
on desire traiter des fichiers linux ayant la structure suivante:
-une zone d'entete qui consiste en un entier de votre choix
-une suite d'objets ayant la structure suivante:-nom
-prenom
-age
les operations a realiser sur de tels fichiers sont:
*ouverture d'un fichier existant et affichage des enregistrement.
*une fonction qui donne le nombre d'enregistrements.
*une fonction qui donne la valeur du i=eme enregistrement.
*une fonction qui ajoute un nouvel enregistrement en fin de fichier .
*une fonction qui modifie le i=eme enregistrement .
*une fonction qui affiche en cas d'erreue dans un appel systeme le numéro et le message correspondant à l'erreur .
-écrire en c++(c) les classes (les structures) nécessaires .
-ajouter une fonction Main ,cette fonction affiche un menu afin de permettre à l’utilisateur d’exécuter des opérations sur les fichiers précédants .
merci d'avance de m’avoir aidé!