RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 vc++ 2005, structures et tableaux

Forum : C++ - CONSOLE
Sous Catégorie : Console
Type du sujet : Sujet Normale
FAQ : FAQ C++ - CONSOLE

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C++ - CONSOLE

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Pyrrha
Nouveau membre
Inscrit : 19/03/2006
Messages : 8
Message
#91397
Posté le 19/03/06 à 14:15
Bonjour!
Je suis en train de faire un programme dans lequel on gère un inventaire (style jeu vidéo).
Il semble qu'il y est un problème avec les strctures (pour des objets comme des mangues, ou un lance-roquettes ... Smiley )), j'en ai d'ailleurs fait un tableau.
Voici les différentes parties de mon programme, et la liste d'erreurs (toutes concernant la déclaration de ce tableau d'objets.

C'est sûrement une erreur grossière, mais c'est tjs celles que je ne vois pas Smiley .

Si vous pourriez m'aider, ce serait super ! Et si j'ai mal expliqué un truc, dites le moi. Merci !

DANS OBJ_MAIN.CPP :

#include <iostream> #include <string> #include "obj_string.h" using namespace std; objet biblio [4]; biblio[0]={"mangue","une","cette",3,1,40}; biblio[1]={"ananas","un","cet",1,1,30}; biblio[2]={"lance-roquettes","un","ce",20,2,17}; biblio[3]={"fusil à clous","un","ce",17,2,13}; ...


DANS OBJ_STRING.H

#include <iostream> #include <string> #include "obj_struct.h" using namespace std; #ifndef OBJ_STRING_H_ #define OBJ_STRING_H_ ... #endif /*OBJ_STRING_H_*/


DANS OBJ_STRUCT.H:

#include <iostream> #include <string> using namespace std; #ifndef OBJ_STRUCT_H_ #define OBJ_STRUCT_H_ struct objet { string n_objet; string determ; string demons; int taille; int cat_obj; int ind_freq; }; ... #endif /*OBJ_STRUCT_H_*/


LISTE D'ERREURS :

obj_main.cpp .\obj_main.cpp(5) : error C2143: syntax error : missing ';' before 'using' .\obj_main.cpp(12) : error C2466: cannot allocate an array of constant size 0 .\obj_main.cpp(12) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int .\obj_main.cpp(12) : error C2371: 'biblio' : redefinition; different basic types .\obj_main.cpp(10) : see declaration of 'biblio' .\obj_main.cpp(12) : error C2440: 'initializing' : cannot convert from 'const char [7]' to 'int' There is no context in which this conversion is possible .\obj_main.cpp(12) : error C2440: 'initializing' : cannot convert from 'const char [4]' to 'int' There is no context in which this conversion is possible .\obj_main.cpp(12) : error C2440: 'initializing' : cannot convert from 'const char [6]' to 'int' There is no context in which this conversion is possible .\obj_main.cpp(13) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int .\obj_main.cpp(13) : error C2369: 'biblio' : redefinition; different subscripts .\obj_main.cpp(10) : see declaration of 'biblio' .\obj_main.cpp(13) : error C2440: 'initializing' : cannot convert from 'const char [7]' to 'int' There is no context in which this conversion is possible .\obj_main.cpp(13) : error C2078: too many initializers .\obj_main.cpp(14) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int .\obj_main.cpp(14) : error C2369: 'biblio' : redefinition; different subscripts .\obj_main.cpp(10) : see declaration of 'biblio' .\obj_main.cpp(14) : error C2440: 'initializing' : cannot convert from 'const char [16]' to 'int' There is no context in which this conversion is possible .\obj_main.cpp(14) : error C2440: 'initializing' : cannot convert from 'const char [3]' to 'int' There is no context in which this conversion is possible .\obj_main.cpp(14) : error C2078: too many initializers .\obj_main.cpp(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int .\obj_main.cpp(15) : error C2369: 'biblio' : redefinition; different subscripts .\obj_main.cpp(10) : see declaration of 'biblio' .\obj_main.cpp(15) : error C2440: 'initializing' : cannot convert from 'const char [14]' to 'int' There is no context in which this conversion is possible .\obj_main.cpp(15) : error C2440: 'initializing' : cannot convert from 'const char [3]' to 'int' There is no context in which this conversion is possible .\obj_main.cpp(15) : error C2440: 'initializing' : cannot convert from 'const char [3]' to 'int' There is no context in which this conversion is possible .\obj_main.cpp(15) : error C2078: too many initializers

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

sebsheep
Membre du club
Chef de projet(s) :
- SejourAdmin

Inscrit : 27/03/2005
Messages : 509
Message
#91401
Posté le 19/03/06 à 14:25
euh deja t'es en C++, pourquoi t'utilise pas des class a la places des struct??
Bon l'erreur ne peut pas venir de la ...
[quote]
.\obj_main.cpp(5) : error C2143: syntax error : missing ';' before 'using'
[/quote]

ca veut dire que ya truc qui cloche avant :

[quote]using namespace std;
[/quote]

or le dernier truc avant ca c'est :

[quote]#include "obj_string.h"[/quote]

essaie de voir si t'as pas un pb au niveau de ton header, et envoie le nous en entier si tu vois pas
__________________________
L'élève heureux est celui qui, comme la rivère, suit son cours dans son lit.
Et n'oubliez pas :[b]Seb, c'est bien![/b]

ERREUR BBCODE SUR CE MESSAGE :
- La valeur de la balise "quote" n'est pas correcte !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Pyrrha
Nouveau membre
Inscrit : 19/03/2006
Messages : 8
Message
#91402
Posté le 19/03/06 à 14:28
voici le header :

P.S. j'utilise des structures car je n'ai que peu de programmation derriere moi, et que les classes, j'apprend. (iut d'info, premiere annee, mais ils st en retard ds le programme... Smiley )


#include <iostream> #include <string> #include "obj_struct.h" using namespace std; #ifndef OBJ_STRING_H_ #define OBJ_STRING_H_ int espace_libre (const sac& bag); bool ajoutable (sac bag,const objet& obj,const int& qte); void fourrer (sac &bag,objet& obj,const int& qte); void ramasser (sac &bag,objet& obj,const int& qte); void afficher_objet (const objet& obj,const int& qte,const int& i); void afficher_inventaire (const sac& bag); string nommer_usage (int cat); void menu_ajouter (sac& bag); void menu_detruire (sac& bag); void calculer_proba_tot (void); void detruire (sac& bag,int nieme) #endif /*OBJ_STRING_H_*/

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Pyrrha
Nouveau membre
Inscrit : 19/03/2006
Messages : 8
Message
#91403
Posté le 19/03/06 à 14:30
ha les gars au secours!! Smiley Smiley je viens de voir le point virgule à la fin du header !!
MAIS
cela n'a malheureusement rien changé au schmilblik pour le tableau (déclaré en dehors du "int main()". Enfin, juste avant, pour avoir des variables globales.)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

sebsheep
Membre du club
Chef de projet(s) :
- SejourAdmin

Inscrit : 27/03/2005
Messages : 509
Message
#91404
Posté le 19/03/06 à 14:35
le fait de le declarer en global ne doit pas le pertuber normalement... Même si c'est pas toptop de faire ca :wink:

ce qui doit le gener, c'est :
[quote]biblio[0]={"mangue","une","cette",3,1,40};
biblio[1]={"ananas","un","cet",1,1,30};
biblio[2]={"lance-roquettes","un","ce",20,2,17};
biblio[3]={"fusil à clous","un","ce",17,2,13};
[/quote]

ca faut le mettre dans le main, ce sont des lignes de codes, pas de simples déclarations.

Sinon un petit truc sur le fond : pourquoi ne pas plutot stocker le genre de ton objet (masculin/feminin) dans un bool( TRUE pour les hommes evidement :wink:) et apres faire gerer les accords par une fonction?
__________________________
L'élève heureux est celui qui, comme la rivère, suit son cours dans son lit.
Et n'oubliez pas :[b]Seb, c'est bien![/b]

ERREUR BBCODE SUR CE MESSAGE :
- La valeur de la balise "quote" n'est pas correcte !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2876
Message
#91405
Posté le 19/03/06 à 14:40
[quote]Sinon un petit truc sur le fond : pourquoi ne pas plutot stocker le genre de ton objet (masculin/feminin) dans un bool( TRUE pour les hommes evidement ) et apres faire gerer les accords par une fonction? [/quote]

C'est sur que ca serait bien plus astucieux et pratique coté ressources (1 bit au lieu d'une dizaine d'octets pour chaque objet....), c'est pas vraiment négligeable... :wink:
__________________________
Sujet résolu ? Pensez à mettre le tag [img]http://www.ressources.moteurprog.com//Ressources/Images/Forum/Resolu.gif[/img]
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la [url=http://www.forum.moteurprog.com/FAQ/FAQ.php?ID_Forum=32]FAQ[/url] et que le sujet n'est pas traité parmis les [url=http://www.moteurprog.com/Tutoriaux/Index.php?ID_Annuaire=32]tutoriaux[/url] ou les [url=http://www.moteurprog.com/Articles/Index.php?ID_Annuaire=32]articles[/url] avant de poster dans le [url=http://www.forum.moteurprog.com/forum.php?ID_Forum=32]forum C#[/url].

ERREUR BBCODE SUR CE MESSAGE :
- La valeur de la balise "quote" n'est pas correcte !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Pyrrha
Nouveau membre
Inscrit : 19/03/2006
Messages : 8
Message
#91407
Posté le 19/03/06 à 14:46
loll !! [true pour les hommes .. obviously ]
ouais c vrai, mais comme ça pas d'apel de fonction pendant le cout. Non ?

cout<<"vous avez ramassé"<<b[x].articledémonstratif<<b[x].nom<<endl;

au lieu de

cout<<"vous avez ramlassé "; if (b[x].genre) cout<<"un"; cout<< b[x].nom<<endl;

Bouarf... Après tout, je me demande...
Au fait, la taille du string d'adapte en fonction de son contenu ou pas ? (allocation dynamique...)
parce que les "char [30]" me prennaient le choux...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Pyrrha
Nouveau membre
Inscrit : 19/03/2006
Messages : 8
Message
#91408
Posté le 19/03/06 à 14:49
Haaaaaaaaaaaaaa !!!

Maintenant une autre erreur. (j'ai tt balancé ds le main)


obj_string.cpp // je vais mettre des "extern". .\obj_string.cpp(151) : error C2065: 'proba_tot' : undeclared identifier .\obj_string.cpp(159) : error C2065: 'biblio' : undeclared identifier .\obj_string.cpp(159) : error C2228: left of '.ind_freq' must have class/struct/union .\obj_string.cpp(162) : error C2228: left of '.determ' must have class/struct/union .\obj_string.cpp(162) : error C2228: left of '.n_objet' must have class/struct/union .\obj_string.cpp(193) : error C2070: ''unknown-type'': illegal sizeof operand .\obj_string.cpp(196) : error C2228: left of '.ind_freq' must have class/struct/union obj_main.cpp .\obj_main.cpp(10) : error C2059: syntax error : '{' .\obj_main.cpp(10) : error C2143: syntax error : missing ';' before '{' .\obj_main.cpp(10) : error C2143: syntax error : missing ';' before '}' .\obj_main.cpp(11) : error C2059: syntax error : '{' .\obj_main.cpp(11) : error C2143: syntax error : missing ';' before '{' .\obj_main.cpp(11) : error C2143: syntax error : missing ';' before '}' .\obj_main.cpp(12) : error C2059: syntax error : '{' .\obj_main.cpp(12) : error C2143: syntax error : missing ';' before '{' .\obj_main.cpp(12) : error C2143: syntax error : missing ';' before '}' .\obj_main.cpp(13) : error C2059: syntax error : '{' .\obj_main.cpp(13) : error C2143: syntax error : missing ';' before '{' .\obj_main.cpp(13) : error C2143: syntax error : missing ';' before '}'


voici le début du main :

int main() { objet biblio [4]; biblio[0]={"mangue","une","cette",3,1,40}; biblio[1]={"ananas","un","cet",1,1,30}; biblio[2]={"lance-roquettes","un","ce",20,2,17}; biblio[3]={"fusil à clous","un","ce",17,2,13}; int proba_tot=0; sac py; ...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

sebsheep
Membre du club
Chef de projet(s) :
- SejourAdmin

Inscrit : 27/03/2005
Messages : 509
Message
#91409
Posté le 19/03/06 à 14:50
oui si tu fais du c++ utilises un string, c'est bp plus pratique!!
à mon avis doit bien y avoir une allocation dynamique (sinon, comment ca peut marcher??) donc n'hesite pas, en plus ca rend le code plus clair en general
__________________________
L'élève heureux est celui qui, comme la rivère, suit son cours dans son lit.
Et n'oubliez pas :Seb, c'est bien!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

sebsheep
Membre du club
Chef de projet(s) :
- SejourAdmin

Inscrit : 27/03/2005
Messages : 509
Message
#91410
Posté le 19/03/06 à 15:01
ben t'es sur que tu n'utilises pas tes variables à des endroits où elles sont pas déclarées??

si tu fais :

void bidul() { test=0; } int main() { int test; bidul(); return 0; }


ca compile pas vu que 'test' n'est pas déclaré dans bidule()!

revoie tes cours sur les déclarations, le rayon d'action des variables et tout ca. Je dis pas ça parceque j'ai pas envie de t'expliquer (bon si, un peu, j'avoue) mais ça sera plus constructif pour toi si tu trouves par toi même!
__________________________
L'élève heureux est celui qui, comme la rivère, suit son cours dans son lit.
Et n'oubliez pas :Seb, c'est bien!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM C++ - CONSOLE



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.