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 :

probleme de declaration de prototype avec structure et pointeur


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Par défaut probleme de declaration de prototype avec structure et pointeur
    Bonjour,

    voilà je débute avec les pointeurs et les declarations de chaines de caracteres avec les structures.

    suite à mon apprentissage, j'ai compris ou mal compris que:

    typedef char CH20[21];
    CH20 Z;

    revenait à faire char Z[21];

    actuellement j'ai un projet à rendre avec pour sujet un repertoire, soyez rassuré je ne vous demande pas de faire mon projet

    je suis actuellement bloqué et je pense que c'est dans mes déclarations de prototype avec structure et pointeur.

    Quelqu'un peux t-il m'aider, si je met mon code svp?

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 474
    Par défaut
    Citation Envoyé par kayenne77 Voir le message
    je suis actuellement bloqué et je pense que c'est dans mes déclarations de prototype avec structure et pointeur.
    Bonjour,

    Tu es bloqué à quel endroit et par quel problème en particulier ?
    Effectivement, si tu montres ton code, ce sera beaucoup plus facile.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Par défaut
    mon premier probleme rencontré est dans la declaration du prototype :
    error C2065: 'CH11' : undeclared identifier

    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
     
    // Repertoire.cpp : Defines the entry point for the console application.
    //
     
     
    #include "stdafx.h"
    #include "stdlib.h"
    #include "string.h"
    #include "stdio.h"
     
     
    struct rep						//declaration de la structure repertoire
    {
    	char * pnom; 				//nom dans le repertoire
    	char tel;    				// n° de tel
    	int dpt;     				// n° departement
    	int indv;    				//ind de la ville par [j]
    };
    struct ville					//declaration de la structure ville
    {
    	char * pville;				//nom de la ville
    	int occ;					//nombre d'occurence d'une ville
    };
    void main()
    { 
    	rep Trep[50];
    	char zln[11];				// zone de lecture pour le nom
    	int n=0;					// nombre de nom
     
    	ville Tville[50];
    	char zlv[16];				// zone de lecture pour la ville
    	int v=0;					// nombre de ville
     
    	int Tabcv[50];				// tableau d'indice des noms de ville par ordre alphabétique
    								// (on considère qu'il peut y avoir 50 villes !.)
    	int x;  					// variable de Tabcv
    	char code;
     
    	int RECHNOM(CH11,rep[],int);
    	int RECHVILLE(CH16,ville[],int);
    	int r;						//resultat retourné de la fonction RECHNOM
    	int t;						//resultat retourné de la fonction RECHVILLE
     
    	system ("cls"); 			// nettoie l ecran
    	printf ("\n*****************************************\n\n");
    	printf ("* REPERTOIRE TELEPHONIQUE METROPOLITAIN *\n\n");
    	printf ("*****************************************\n\n\n\n\n");
    	printf ("I - Inscription d'une personne\n\n");
    	printf ("S - Suppression d'une personne\n\n");
    	printf ("C - Consultation concernant une personne\n\n");
    	printf ("V - Visualisation des villes referencees\n\n");
    	printf ("Q - Arret du progamme\n\n\n\n\n");
    	printf ("VEUILLEZ SAISIR LA LETTRE CORRESPONDANT\n   A L'EVENEMENT SOUHAITE ET CLIQUER SUR ENTRER: \n\n\n");
    	code=getchar();
    		while(code!='q' && code!='Q')
    		{
    			switch(code)
    			{
    				case'i':
    				case'I':
    				{
    					system ("cls");
    					printf("\nVeuillez saisir le nom: \n");
    					fflush(stdin);
    					gets(zln);
    					r= RECHNOM(zln,Trep,n);
    					if (r=-1)
    					{	
    						printf("\nINSCRIPTION EFFECTUEE:\n %s-11",zln);
    						printf("\nVeuillez saisir la ville: \n");
    						gets(zlv);
    						t= RECHVILLE(zlv,Tville,v);
    						if (t=-1)
    						{
    							v++;
    						}
    						Trep[n].indv=v;
    						printf("\nVeuillez saisir le department: \n");
    						scanf("%d",&Trep[n].dpt);
    						printf("\nVeuillez saisir le numero de telephone: \n");
    						gets(Trep[n].tel);
    						n++;
    					}
    					fflush(stdin);
    				break;
    				}
     
    			}
    		}
    }
    int RECHNOM(CH11 zln,rep Trep[],int n)							//Fonction RECHNOM
    		{
     
    			int i;
    			for (i=0;i<n && strcmp(zln,Trep[i].pnom)!=0;i+=1);
    					if (i<n)
    					{//trouvé
    						printf ("NOM DEJA ENREGISTRE\n")
    						return (i);
    					}
    					else
    					{
    					for (i=n-1;i>=0&&zln,Trep[i].pnom)<0;i=i-1)
    							{
    								Trep[i+1]=Trep[i];
    							}
    						i=i+1;
    						Trep[i].pnom=strdup(zln);
    					return (-1);
    					}
    		}
     
    	int RECHVILLE(CH16 zlv,rep Tville[],int v)					//Fonction RECHVILLE
    	{
     
    		int i;
    		for (i=0;i<v && strcmp(zlv,Tville[i].pville)!=0;i+=1);
    				if (i<v)
    				{//trouvé
    					Tville[i].occ++;
    					return (i);
    				}
    				else
    				{
    				Tville[i].occ=1;
    				Tville.pville=strdup(zlv);
    				return (-1);
    				}
    	}

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 474
    Par défaut
    Citation Envoyé par kayenne77 Voir le message
    mon premier probleme rencontré est dans la declaration du prototype :
    [code]error C2065: 'CH11' : undeclared identifier[code]
    Oui, eh bien, en l'occurrence c'est vrai : « identifiant non déclaré ». Je ne vois aucun typedef dans ton code ...

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Par défaut
    Mais dans ce cas, ça veut dire qu'il faut que je definise le type de structures?
    si oui, comment je dois faire puisque dans mes structures j'ai des adresses,char, et une variable entier ?

  6. #6
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 474
    Par défaut
    Citation Envoyé par kayenne77 Voir le message
    Mais dans ce cas, ça veut dire qu'il faut que je definise le type de structures?
    si oui, comment je dois faire puisque dans mes structures j'ai des adresses,char, et une variable entier ?
    Non, rien à voir. Je ne vois pas ce qui te bloque, à vrai dire.

    Tu dis toi-même que tu peux remplacer char Z[21] par CH20 Z en utilisant le bon typedef. Dans ton code, tu fais un large usage de CH11, CH16, ... mais à aucun moment tu ne spécifies les typedefs en question.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme de declaration de structure
    Par vandamme dans le forum C
    Réponses: 4
    Dernier message: 19/11/2008, 21h56
  2. Probleme avec structures et fonctions
    Par isaac727 dans le forum Débuter
    Réponses: 2
    Dernier message: 31/03/2008, 23h01
  3. probleme avec les structures et pointeurs
    Par dicovid dans le forum C
    Réponses: 6
    Dernier message: 02/06/2007, 20h01
  4. C++ - Probleme avec structure et template
    Par vdumont dans le forum Langage
    Réponses: 3
    Dernier message: 21/03/2006, 15h32
  5. [Traduction] probleme de declaration
    Par Mercilius dans le forum Langage
    Réponses: 3
    Dernier message: 03/04/2003, 16h16

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