IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Supprimer une ligne d'un tableau 2D


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    FST
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : FST
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Par défaut Supprimer une ligne d'un tableau 2D
    Bonjour,

    Bon dans un projet, j'ai un tableau 2 dimensions qui ne sont pas connus ! alors l'utilisateur à chaque fois il ajoute quelque chose dans le tableau, et puis il sauvegarde et retourne au Menu

    comment faire pour sauvegarder et au même temps si on veut supprimer ?! svp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    #include <stdio.h>
    #include <conio.h>
    main () {
         int a,i,j;
         char t[1000][1000],c;
         printf("Bonjour, pour acceder au programme tapez 'o' / pour sortir tapez 's'\t");
         scanf("%c",&c);
         while (c != 's'){
         printf("\t\t\t %c MENU\n ",16);
         printf("\t\t\t\t(1) : Ajouter un  %ctudiant\n",130);
         printf("\t\t\t\t(2) : Ajouter une mati%cre\n",138);
         printf("\t\t\t\t(3) : Supprimer un %ctudiant\n",130);
         printf("\t\t\t\t(4) : Supprimer une mati%cre\n",138);
         printf("\t\t\t\t(5) : Saisir les notes\n");
         printf("\t\t\t\t(6) : Afficher la mention\n");
         printf("\t\t\t\t(7) : Quitter !\n");
         printf("Entrez votre choix\n ");
         scanf("%d",&a);
         switch ( a ) {
                case 1 : for ( i=1 ; i<2 ; i++) {    
                      printf("Entrez le nom complet de l'%ctudiant \t ",130);
                      scanf("%s",&t[i]); 
                      getchar();
                      }
                      break;
     
                case 2 : for ( j=1 ; j<2 ; j++){
                     printf("Entrez la mati%cre \t",138);
                     scanf("%s",t[j]);
                     getchar();
                     }
                     break;
                case 3 :         //... ETC

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Dans ce cas là, on utilisera surtout des listes chaînées où chaque maillon est constitué d'un pointeur vers le maillon suivant ainsi que d'un (char *) ce qui facilitera les opérations d'ajouts et de suppression.

    Pour saisir le prénom de l'étudiant, on utilise généralement un char [100], on alloue un nouveau maillon, on alloue ensuite juste ce qu'il faut pour contenir le prénom et on fait un strcpy.

    Il faudrait donc que tu regardes les listes chaînées, les malloc et les free.

    Pour la sauvegarde, on la fera généralement lorsque l'utilisateur quitte le logiciel et on enregistrera le tout dans un fichier formaté qu'on chargera à chaque démarrage de l'application.

  3. #3
    Membre actif
    Homme Profil pro
    FST
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : FST
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Par défaut
    Rien pigé

    tu peux modifier mon code balise !

  4. #4
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Il faudrait que tu fasse ce qu'on appelle des listes chaînées

    Ta liste sera un pointeur vers le premier maillon

    Un maillon devra être une structure composée d'un pointeur vers le maillon suivant ainsi que l'élément à stocker, ici un (char *).


    Pour enregistrer un élément dans la liste, on allouera un maillon avec malloc (et on pensera à le libérer avec free à la suppression du maillon).
    Puis on pensera à allouer l'espace mémoire nécessaire pour stocker la chaîne de caractère avec malloc, puis on fera un strcpy.

    Il te faudra donc un char buffer[100] qui servira à stocker le prénom de l'étudiant quand on lira le flux d'entrée standard avec scanf.

  5. #5
    Membre actif
    Homme Profil pro
    FST
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : FST
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Par défaut
    Merci

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 136
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    En effet, une structure de données, telles qu'une liste chainée est intéressante. Vous trouverez les informations nécessaires ici : http://emmanuel-delahaye.developpez....es-chainees-c/

    Je voulais aussi dire que l'utilisation de conio.h devrait être prohiber. Vous n'en avez pas besoin et vous devriez l'éviter.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Supprimer une ligne d'un tableau, et MAJ de la BDD
    Par big x dans le forum Struts 1
    Réponses: 1
    Dernier message: 22/10/2007, 09h14
  2. Supprimer une ligne dans un tableau
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/06/2007, 15h14
  3. Réponses: 1
    Dernier message: 24/04/2007, 17h20
  4. [Conception] Supprimer une ligne d'un tableau à partir d'un CHECKBOX
    Par snakejl dans le forum PHP & Base de données
    Réponses: 71
    Dernier message: 30/05/2006, 08h43
  5. supprimer une ligne dans un tableau
    Par sandball22 dans le forum C++Builder
    Réponses: 9
    Dernier message: 16/05/2006, 21h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo