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 :

Réalisation d'un agenda


Sujet :

C

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 2
    Points
    2
    Par défaut Réalisation d'un agenda
    bonjour a tous, donc voila je suis debutant en c et j'ai un projet a faire,c'est de realiser un agenda annuel ( pas afficher) avec la possibilité d'enregistrer des evenements( nom, lieu, contact, objet...)ou modifier, supprimer et voir les rendez vous, donc j'ai fais un petit travail mais j'arrive pas a creer un tableau de structure sachant qu'il me faut 52 semaines et dans chaque jour j dois remplir le tableau avec la structure qui contient mais champs 52 fois ( nom, prenom, objet...) genre tab[i].nom , tab[i].objet j sais pas comment le faire. vous pouvez me donner des idées pour commencer SVP , je suis vraiment debutant. Merci d 'avance

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Sais-tu définir un tableau de int ? Sais-tu créer une structure avec un typedef ?

    Si la réponse est non, commence par ça.

    Si la réponse est oui, réfléchis et trouvera vite la solution.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    oui je sais, par exemple dans mon petit programme j'ai commencé par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    struct info
    {
        char nom;
        char prenom;
        char objet;
        char lieu;
        char contact;
    };
    //car mon projet consiste a realiser un agender constitué de 52 semaines donc je dois repeter cette structure 52 fois dans destableau du meme type.
    et pour declarer le tableu:
    struct info tab[7] //genre 7 jours

    mais pour remplir le tableau avec les champs j'ai fais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    const nbsemaine=52;
        struct info tab[7];
     
        for (i=1;i<=52;i++)
        {
            for (j=1;j<=7;j++)
            {
                tab[i].nom;
                tab[i].prenom;
                tab[i].objet;
                tab[i].lieu;
                tab[i].contact;
            }
        }
    // c'est totalement faux nn!

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Pense à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int tab[10];
    TOTO tab[10];
    struct info tab[10]
    Si on dit que TOTO est le type, TOTO peut-être int ou struct info. La dernière ligne crée un tableau de structures, elle crée donc plusieurs structures, chacune avec ces champs. Il n'y pas besoin "d'ajouter les champs" à chaque structure ! Une structure est par essence même l’agrégat de ses propres champs.

    Ton code n'a donc pas de raison d'être. En tout cas pas pour faire cela : il peut en revanche te servir pour "donner une valeur" à chaque champ de chaque structure, mais il faut pour cela ajouter une affectation (champ = valeur). Cela revient un peu à "remplir les champs eux-mêmes" mais sûrement pas à "remplir le tableau avec des champs".

    Petites remarques aux passages : il manque des déclarations de variables (le compilateur le dit) et un tableau de 7 éléments parcouru avec une boucle de 365 contenant elle-même une boucle de 7, ça me semble 365 fois trop long !

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    j'arrive pas a comprendre, pourkoi on a utiliser toto comme structure (est ce que c'est un exemple), bn je m'explique, dans mn projet je dois traiter un agenda donc j'ai penser a faire:
    1) demander a l'utilisateur la date c'est a dire le mois et le jour.
    2)dés que l'utilisateur a entré la date les champs de ma structure info vont apparaitre sur ecran, et l'utilisateur dois remplir.
    3) ici c'est un autre probleme car ça consiste a avoir la possibilité de modifier les rendez vous, ou supprimer un, ou bien juste les afficher( afficher tous les evenement qui existent avec leurs dates).

    donc pour la premiere etapes j'ai fais tt simplement ça:

    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
    int main()
    {
        int i,j,mois,jour,operation;
     
        printf("1) creer un evenement: ");
        printf("\n2) afficher un evenemet: ");
        printf("\nVeuiller choisir une operation: ");//choisir 1 ou 2.
        scanf("%d",&operation);
        if (operation==1)
        {
            do
            {
               printf("Veuiller choisir le mois: ");
               scanf("%d",&mois);
            }
            while (mois<1 || mois>12);
     
            do
            {
                printf("Veuiller choisir le jour: ");
                scanf("%d",&jour);
            }
            while (jour<1 || jour>31);
    Pour la deuxieme etapes j'arrive pas a comprendre car il faut que mon programme soit general pour toute l'annee ( bien sur l'anne 2014), car qunand j vais demander a l'utilisateur d'entrer la date, il peut entrer n'importe quel date (dans 2014) c'est pour ça que je dois traiter 52 semaine, donc j'ai pensé a creer une constante nbsemain=52 et un tableau de type inf (ma structure) et faire de boucle for afin de replir chaque case du de mon tableau par les champs de ma structure ( c'est bizarre 365 fois), j'ai fais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    const nbsemaine=52;
        struct info tab[7];
     
        for (i=1;i<=52;i++)
        {
            for (j=1;j<=7;j++)
            {
                tab[i].nom;
                tab[i].prenom;
                tab[i].objet;
                tab[i].lieu;
                tab[i].contact;
            }
        }
    j'arrive pas a comprendre votre dernier message, genre si en fait:

    struct info tab[7] // c'est commeon a rempli le tableau sans faire tab[i].nom...etc!.
    Merci d'avance.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 2
    Points
    2
    Par défaut Vérification d'un programme - agenda annuel
    Donc voila je programme un agenda annuel avec la possibilité de creer des evenement (anniversaire..etc), de changer ces evenement et supprimer un evenement si on veut, donc je suis arriver a un affichage (je veut afficher les champs de ma structure sur ecran) je m'explique: j'ai demander a l'utilisateur d'entree le mois, le jour et puis je veux afficher la case correspondante dans mon tableau de type de ma structure, j sais pas comment le faire, voila mon programme.
    au niveau de la ligne 149!!
    Merci d'avance!

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
     
    struct info
    {
       char nom;
       char prenom;
       char objet;
       char lieu;
       char contact;
    };
    int main()
    {
     
        int i,j,k,l,m,n,o,p,q,r,s,t;
        int operation,mois,jour;
        struct info tab1[31];
        struct info tab2[28];
        struct info tab3[31];
        struct info tab4[30];
        struct info tab5[31];
        struct info tab6[30];
        struct info tab7[31];
        struct info tab8[31];
        struct info tab9[30];
        struct info tab10[31];
        struct info tab11[30];
        struct info tab12[31];
     
        for(i=1;i<=31;i++)
        {
            tab1[i].nom;
            tab1[i].prenom;
            tab1[i].objet;
            tab1[i].lieu;
            tab1[i].contact;
        }
        for(j=1;j<=28;j++)
        {
            tab2[j].nom;
            tab2[j].prenom;
            tab2[j].objet;
            tab2[j].lieu;
            tab2[j].contact;
        }
        for(k=1;k<=31;k++)
        {
            tab3[k].nom;
            tab3[k].prenom;
            tab3[k].objet;
            tab3[k].lieu;
            tab3[k].contact;
        }
        for(l=1;l<=30;l++)
        {
            tab4[l].nom;
            tab4[l].prenom;
            tab4[l].objet;
            tab4[l].lieu;
            tab4[l].contact;
        }
        for(m=1;m<=31;m++)
        {
            tab5[m].nom;
            tab5[m].prenom;
            tab5[m].objet;
            tab5[m].lieu;
            tab5[m].contact;
        }
        for(n=1;n<=30;n++)
        {
            tab6[n].nom;
            tab6[n].prenom;
            tab6[n].objet;
            tab6[n].lieu;
            tab6[n].contact;
        }
        for(o=1;o<=31;o++)
        {
            tab7[o].nom;
            tab7[o].prenom;
            tab7[o].objet;
            tab7[o].lieu;
            tab7[o].contact;
        }
        for(j=1;j<=31;j++)
        {
            tab8[p].nom;
            tab8[p].prenom;
            tab8[p].objet;
            tab8[p].lieu;
            tab8[p].contact;
        }
        for(q=1;q<=30;q++)
        {
            tab9[q].nom;
            tab9[q].prenom;
            tab9[q].objet;
            tab9[q].lieu;
            tab9[q].contact;
        }
        for(r=1;r<=31;r++)
        {
            tab10[r].nom;
            tab10[r].prenom;
            tab10[r].objet;
            tab10[r].lieu;
            tab10[r].contact;
        }
        for(s=1;s<=30;s++)
        {
            tab11[s].nom;
            tab11[s].prenom;
            tab11[s].objet;
            tab11[s].lieu;
            tab11[s].contact;
        }
        for(t=1;t<=31;t++)
        {
            tab12[t].nom;
            tab12[t].prenom;
            tab12[t].objet;
            tab12[t].lieu;
            tab12[t].contact;
        }
        printf("1) creer un evenemet!");
        printf("\n2) afficher un evenement!");
        printf("\nVeuiller choisir une operation: ");
        scanf("%d",&operation);
        if (operation==1)
        {
            do
            {
                printf("Veuiller choisir un mois: ");
                scanf("%d",&mois);
            }while (mois<1 || mois>12);
            if (mois==1)
            {
                printf("Vous avez choisi le mois janvier");
                do
                {
                    printf("\nVeuiller choisir un jour: ");
                    scanf("%d",&jour);
                }while(jour<1 || jour>31);
            }
        }
        printf("La date que vous avez choisi est le %d janvier",jour);
        printf("%s",tab1[i].nom);
    }

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    J'ai fusionné les 2 discussions pour plus de clarté.

    Les tableaux ont des indices allant de 0 à max - 1, je pense que cela va poser problème dans le code.

    PS : heureusement qu'il n'y aura jamais de 13e dans l'agenda...

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par Bktero Voir le message
    PS : heureusement qu'il n'y aura jamais de 13e dans l'agenda...
    Citation Envoyé par Deathwar Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        for(i=1;i<=31;i++)
        for(j=1;j<=28;j++)
        for(k=1;k<=31;k++)
     
        ...
     
        for(t=1;t<=31;t++)
    Ou plus de 26 mois

    Cette structure n'est pas bonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    struct info
    {
       char nom;
       char prenom;
       char objet;
       char lieu;
       char contact;
    };
    Le type char désigne un seul caractère et non pas une chaine de caractères.

    Toutes les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            tab.[.].nom;
            tab.[.].prenom;
            tab.[.].objet;
            tab.[.].lieu;
            tab.[.].contact;
    Ne font absolument rien.

    Afin d'éviter toutes ces répétitions, je te conseille de te faire deux tableaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int nbJours[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    struct info *tab[12] = {tab1, tab2, tab3, tab4, tab5, tab6, tab7, tab8, tab9, tab10, tab11, tab12};

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    la structure va etre une structure de tableau c'est ça ? mais comment j vais faire pour remplir chaque case avec les champs ( nom, prenom, objet..)?
    Merci pour ta reponse!
    Est ce que tu peux m'expliquer votre derniere reponse j trouve un peu de difficulté pour comprendre ça: genre on va faire comment par exemple pour afficher les champs de ma structure prenons en considération la reponse de l'utilisateur sur la date ( car on va lui demander de faire entrer le mois et le jour et donc il faut lui afficher par la suite les champs pour qu'il puisse les remplir ).Merci.

  10. #10
    Invité
    Invité(e)
    Par défaut
    struct info *tab[12] est un tableau de pointeurs qui va aller pointer sur chacun de tes tableaux tab1, tab2... tab12.

    L'accès aux éléments de ces tableaux se fera par tab[mois][jour].champ, mois allant de 0 à 11, et jour allant de 0 à nbJour[mois]; enfin champ étant nom, prénom, objet, lieu ou contact.

    Un parcours aura donc la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(size_t mois=0 ; mois<12 ; ++mois) {
        for(size_t jour=0 ; jour<nbJours[mois] ; ++jour) {
            // tab[mois][jour].champ
        }
    }
    Je te conseille la lecture de ce tutoriel pour la saisie.

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    il faut connaitre les pointeurs pour savoir la fonction scanf (c'est ecrit dans le tuto), moi j'ai pas encore etudier les pointeurs, et mon projet doit etre en mode console, c'est pour ça que j'utilise les technique de base, je suis encore debutant en c, vous avez vu mon programme , je dois traiter 52 semaine, c'est a dire l'utilisateur une fois entré la date ( mois et jours) mon programme doit afficher les champs de ma structure info sur ecran, genre il demande a ce dernier de remplir ces champs, moi j'arrive pas a faire ça correctement ( sachant que l'utilisateur peut entrer n'importe quel moi et jours en 2014) donc tout les cases de mon tableau doivent contenir les champs pour pouvoir les afficher). Merci d'avance.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Pas obligatoirement des pointeurs, tu peux très bien utiliser des tableaux de taille fixe

  13. #13
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    donc voila c que j'ai fais mais j'ai deux problemes:
    1) le compilateur m'indique que tab1, tab2, tab3...etc sont pas declarer avant, (donc ou j dois les declarer et c'est quoi leur types)
    2) c trés important car si je fais ça j peux reflechir dans la deuxieme partie du programme; mtn j dois afficher la case du tableau correspondante a la date entré par l'utilisateur, c'est a dire afficher sur ecran mes champs, bien sur avec la possibilité de remplir chaque champs de la part de l'itulisateur!
    Merci d'avance! surtt la derniere partie j'arrive pas a le faire!! (apres mon printf je dois afficher les champs).
    moi j'ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%s",tab[jour].nom)
    mais ça marche pas!
    voila le programme:

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
     
    typedef struct
    {
       char nom;
       char prenom;
       char objet;
       char lieu;
       char contact;
    } info;
     
    int main()
    {
     
        int i,j;
        int operation,mois,jour;
        struct info tab[12]={tab1, tab2, tab3, tab3, tab4, tab5, tab6, tab7, tab8, tab9, tab10, tab11, tab12};
     
        printf("1) creer un evenemet!");
        printf("\n2) afficher un evenement!");
        printf("\nVeuiller choisir une operation: ");
        scanf("%d",&operation);
        if (operation==1)
        {
            do
            {
                printf("Veuiller choisir un mois: ");
                scanf("%d",&mois);
            }while (mois<1 || mois>12);
            if (mois==1)
            {
                printf("Vous avez choisi le mois janvier");
                do
                {
                    printf("\nVeuiller choisir un jour: ");
                    scanf("%d",&jour);
                }while(jour<1 || jour>31);
            }
        }
        printf("La date que vous avez choisi est le %d janvier",jour);
        printf("%s",tab[jour].nom)
    }

  14. #14
    Invité
    Invité(e)
    Par défaut
    1. Juste avant ma ligne, comme tu l'avais fait ;
    2. Bien avant cela, corrige le point que j'ai soulevé : tu ne peux stocker qu'un seul caractère dans tes champs nom, prenom...
      Utilise des tableaux de taille fixe à la place.

    Ensuite, et seulement après, je t'ai donné la syntaxe d'accès à chacun des éléments, connaissant le mois et le jour.

  15. #15
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    SVP vous pouvez juste expliquer un peux car la ligne que vous avez envoyer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    struct info tab[12]={tab1, tab2, tab3, tab3, tab4, tab5, tab6, tab7, tab8, tab9, tab10, tab11, tab12};
    il m'indique que tab1, tab2, ... sont pas definie dans le programme alors je dois les declarer ou, et c'est quoi le type?
    et pour l'affichage j'ai fais tab [mois][jour] mais il m'indique encore que ya pas de pointeurs dans le programme des pointeurs, j'arrive tjr pas a afficher mes champs.
    Merci.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Déjà répondu :
    Il faut que tu définisses tous ces tableaux, comme tu l'as fait dans ton message précédent, et cela avant ma ligne.

  17. #17
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    au niveau de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    struct info tab[12]={tab1, tab2, tab3, tab4, tab5, tab6, tab7, tab8, tab9, tab10, tab11, tab12};
    il m'affiche:

    error: array type has incomplete element type

    ça veut die quoi?

  18. #18
    Invité
    Invité(e)
    Par défaut
    Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    struct info
    {
        // ...
    };
     
    struct info variable;
    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef struct
    {
        // ...
    } info;
     
    info variable;
    Mais pas un mix des deux.

    Et attention à ne pas oublier l'étoile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    struct info *tab[12]={tab1, tab2, tab3, tab4, tab5, tab6, tab7, tab8, tab9, tab10, tab11, tab12};

  19. #19
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Cela sert à quoi exactement (*), car j'ai cherché partout sur l'affichage d'un tableau de struct et je trouve l'étoile partout, c'est un pointeur je pense mais, je ne sais pas ce qu'est un pointeur, genre il sert à quoi dans l'affichage, quand je mets l'étoile là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    info *tab[12]={tab1, tab2, tab3, tab4, tab5, tab6, tab7, tab8, tab9, tab10, tab11, tab12};
    ça ne marche pas!

    voila mon dernier programme: il reste que l'affichage j pense:

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
     
    typedef struct
    {
       char nom;
       char prenom;
       char objet;
       char lieu;
       char contact;
    } info;
    info tab1,tab2,tab3,tab4,tab5,tab6,tab7,tab8,tab9,tab10,tab11,tab12;
     
    int main()
    {
        int i,j;
        int operation,mois,jour;
        info tab[12]={tab1, tab2, tab3, tab4, tab5, tab6, tab7, tab8, tab9, tab10, tab11, tab12};
     
        printf("1) creer un evenemet!");
        printf("\n2) afficher un evenement!");
        printf("\nVeuiller choisir une operation: ");
        scanf("%d",&operation);
        if (operation==1)
        {
            do
            {
                printf("Veuiller choisir un mois: ");
                scanf("%d",&mois);
            }while (mois<1 || mois>12);
            if (mois==1)
            {
                printf("Vous avez choisi le mois janvier");
                do
                {
                    printf("\nVeuiller choisir un jour: ");
                    scanf("%d",&jour);
                }while(jour<1 || jour>31);
            }
        }
        printf("La date que vous avez choisi est le %d janvier",jour);
    }

  20. #20
    Invité
    Invité(e)
    Par défaut
    Bon il va falloir retenir un minimum ce qui est dit, sans quoi on peut longtemps tourner en rond.

    Un tableau de pointeurs exactement, j'ai déjà expliqué son utilité et comment on s'en servait dans mon deuxième message.
    Voici une discussion récente qui t'intéressera : Comprendre les pointeurs

    Au début, tu avais des tableaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        info tab1[31];
        info tab2[28];
        info tab3[31];
        info tab4[30];
        info tab5[31];
        info tab6[30];
        info tab7[31];
        info tab8[31];
        info tab9[30];
        info tab10[31];
        info tab11[30];
        info tab12[31];
    donc garde-les ! C'est ce que je t'ai dit deux fois.

    Pour finir je vais encore me répéter : char en représente qu'un seul caractère et en aucun cas ne peut stocker un nom ou tout autre chose de plus d'une lettre !
    Les chaînes de caractères en C

Discussions similaires

  1. Réalisation d'un petit agenda
    Par OlaffGrossBaff dans le forum Mise en forme
    Réponses: 2
    Dernier message: 30/09/2013, 11h02
  2. [Débutant] Réalisation d'un calendrier/agenda
    Par mahdu972 dans le forum Silverlight
    Réponses: 0
    Dernier message: 18/06/2013, 16h57
  3. réalisation d'une application Agenda
    Par krosofttt dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 21/10/2010, 23h35
  4. Réaliser un agenda avec le champs monthcalendar
    Par devvanjier dans le forum Windows Forms
    Réponses: 0
    Dernier message: 05/10/2010, 19h48
  5. Silverlight 2 réalisation d'un agenda
    Par jijaxxx dans le forum Silverlight
    Réponses: 3
    Dernier message: 11/08/2009, 13h58

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