Besoin d'aide s'il vous plais

jeanhamass Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je vous remercie d'avance même si je n'aurai pas de réponse. je voudrai une aide s'il plais, j'ai un projet un faire en liste chaine consistant a crée un programme de la manière suivante:
1 Crée une filière
2 Crée un étudiant
3 ajouter une nouvelle filière
4 ajouter un nouveau étudiant
5 Afficher la liste des filière de l'université
6 Afficher la liste des étudiants avec leurs filière
7 Supprimer une filière
8 Supprimer un étudiant
9 Supprimer toutes les filières
10 Supprimer tous les étudiants
11 Quitter le programme

je vous demande pas de me faire tout le projet ce pas logique. je fait deux programme, l'un pour la filière et l'autre pour le programme je voudrai savoirs comment combiner le deux.

MERCI ENCORE
A voir également:
  • Besoin d'aide s'il vous plais
  • Plais stor - Télécharger - Téléchargement & Transfert

5 réponses

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut jeanhamass,

Tu dis :

je fait deux programme, l'un pour la filière et l'autre pour le programme je voudrai savoirs comment combiner le deux

Tu veux dire : "l'un pour les filières et l'autre pour les étudiants" ?


Dal
0
jeanhamass Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
oui ce ça je me suis tromper.
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut jeanhamass,

Tu veux donc faire deux programme, l'un pour les filières et l'autre pour les étudiants.

Pour "combiner" le fonctionnement des deux, il faudra un 3ème programme qui lance les deux programmes avec, par exemple, des options de ligne de commande différentes selon les actions à effectuer.

Par exemple :

etudiant ajouter -nom "Jean HAMASS" -rue "12, rue de la Lune" -ville "PARIS" -codepostal "75000"

si tu gères l'obtention des informations nécessaires à l'exécution de l'action dans le programme appelant.

ou :

edudiant -ajouter

si tu gères l'obtention des informations nécessaires à l'exécution de l'action dans le programme appelé.

Cette façon de procéder présente l'inconvénient qu'il faudra que ta liste chaînée soit sauvegardée dans un fichier. Il faudra que les informations créées ou modifiées nécessaires soient stockées dans le fichier, et chargées du fichier à chaque nouvelle exécution, dans la mesure où les différents programmes lancés ne partagent pas le même espace mémoire.

Pourquoi ce choix de conception ?


Dal
0
jeanhamass Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
comment pourrai-je le faire en un seul programme s'il vous plais, le temps me compter et je n'ai aucune idée vraiment.
merci énormément d'avance.
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Ton main pourrait être composé d'une boucle affichant le menu et demandant le choix de l'utilisateur, avec un switch/case appelant les fonctions de traitement pour chacune des options du menu.

Après, comme tu ne poses aucune question précise, je ne vois pas trop comment on peut t'aider t'avantage. Si tu postes du code avec un problème précis, je suis persuadé que les contributeurs du forum t'aideront à le résoudre.

Si on t'a donné ce travail à faire, c'est qu'on t'a enseigné les bases nécessaires pour le faire.

Alors, lance toi :-)


Dal
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
evilfalcon Messages postés 58 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
je suivais le topic, car moi aussi, j'ai cherché à créer des .h avec des listes et j'ai pas trouvé.

jeanhamass, pour faire un seul programme tu crées un menu et un switch et en fonction du choix tu fais ce qui est demandé:

#include <stdio.h>
#include <stdlib.h>

/*********** Generation Liste chainee ********************/
typedef struct element element;
struct element
{
    char nom[20];
    struct element *svt;
};

typedef element *Lliste;

int menu(int choix);
Lliste ajouterEnFin (Lliste liste, char nom);
void afficherListe(Lliste liste);



int main()
{
    Lliste liste_filiere = NULL;
    Lliste liste_etudiant = NULL;
    int choix;
    char nom[20];

    do
    {
        choix = menu(choix);

        switch (choix)
        {
            case 1 :
                printf("ajout d'une nouvelle filiere!\n");
                printf("nom de la filiere?\n");
                scanf("%s",&nom);

                liste_filiere = ajouterEnFin(liste_filiere,nom);

                break;
            case 2 :
                printf("ajout d'un nouveau etudiant!\n");
                printf("nom de l'etudiant?\n");
                scanf("%s",&nom);
                liste_etudiant = ajouterEnFin(liste_etudiant,nom);
                break;
            case 5 :
                afficherListe(liste_filiere);
                break;
            case 6 :
                afficherListe(liste_etudiant);
                break;
        }

    }while (choix != 11 );
    return 0;
}


int menu(int choix)
{

    printf("1 Cree une filiere \n");
    printf("2 Cree un etudiant \n");
    printf("3 ajouter une nouvelle filiere \n");
    printf("4 ajouter un nouveau etudiant \n");
    printf("5 Afficher la liste des filiere de l'universite \n");
    printf("6 Afficher la liste des étudiants avec leurs filière \n");
    printf("7 Supprimer une filière \n");
    printf("8 Supprimer un étudiant \n");
    printf("9 Supprimer toutes les filières \n");
    printf("10 Supprimer tous les étudiants \n");
    printf("11 Quitter le programme\n");

    do
    {
        printf("votre choix ? \n");
        scanf("%d",&choix);
    }while((choix < 0) && (choix > 11));
    return choix;
}


Lliste ajouterEnFin (Lliste liste, char Nom)
{
    printf("nom %s",Nom);

    element* nouvelleElement = malloc(sizeof(element));
    element* tmp = liste;
    nouvelleElement -> nom = Nom;
    nouvelleElement -> svt = NULL;

    if (liste == NULL)
    {
        return nouvelleElement;
    }
    else
    {
        while(tmp -> svt != NULL)
        {
            tmp = tmp -> svt;
        }
        tmp -> svt = nouvelleElement;
        return liste;
    }
}

void afficherListe(Lliste liste)
{
    element *tmp = liste;
    while(tmp != NULL)
    {
        printf("%s \n", tmp -> nom);
        tmp = tmp -> svt;
    }
    printf("\n");

}


le début de ton code doit ressembler à ça, je pense!

Par contre, j'ai pas trouvé comment compléter une liste avec une chaîne de caractère! Mon compilateur me dit que nouvelleElement -> nom = Nom ne sont pas compatible, Pourquoi???


En suite, si je veux utiliser des .h, par exemple pour Lliste ajouterEnFin, si je veux le mettre dans dans une autre page.c, je fais comment? car quand je créé un .h puis je mets la fonction normalement comme pour un int ou un void, le compilateur me dit Lliste non connu?

exemple:

#ifndef teste_H_INCLUDED
#define teste_H_INCLUDED

Lliste ajouterEnFin (Lliste liste, char Nom);

#endif


Merci par avance!
Cordialement
Evilfalcon
0