Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Projet en C++ [ Linux / Autre ] (Hugo Dam)

jeudi 14 février 2008 à 17:07:48 | Projet en C++

Hugo Dam

Bonjour, Il se trouve que j'ai un projet en C++ et je suis complètement bloqué. Au moment de la compilation j'ai énormément d'erreur. Voici le sujet ; Objectif : création et gestion d’un zoo. Le but de ce projet sera de créer un zoo. Dans ce zoo, Il sera possible de créer un certain nombre d’animaux. Les animaux seront gérés de la manière suivante : Nous allons considérer les animaux comme des vertébrés car dans la plupart des zoos, il n’y a que des vertébrés. Les vertébrés auront une taille, un poids, un genre (masculin ou féminin) et une date de naissance. Les vertébrés se décomposeront en plusieurs branches : 1. Les mammifères. Les mammifères sont des vertébrés à sang chaud nourrissant leurs petits avec le lait de leurs mamelles et en général couverts de poils. Les mammifères seront caractérisés par la longueur de leurs poils. Les mammifères seront des girafes, antilopes, hippopotames, ours, lion et auront chacun des caractéristiques propres à leur espèce. 2. Les oiseaux. Les oiseaux sont des vertébrés à plumes dont les membres antérieurs se sont transformés en ailes. Les oiseaux sont des animaux à sang chaud, qui partagent une même forme générale due à leur faculté de voler. Les oiseaux seront caractérisés par la taille de leurs ailes. Les oiseaux seront des canards, cygnes, autruches et auront chacun des caractéristiques propres à leur espèce. 3. Les poissons. Les poissons sont des animaux vertébrés aquatiques possédant des nageoires et respirant par des branchies. Le vaste ensemble des poissons englobe les vertébrés sans mâchoires, ou agnathes, ainsi que les poissons cartilagineux et les poissons osseux, très nombreux et très variés, qui comprennent les formes les plus typiques de poissons. Les poissons seront caractérisés, eux, par la taille de leur nageoire. Les poissons seront des requins, des raies et auront chacun des caractéristiques propres à leur espèce. 6 Chacune de ces branches sera une classe à part entière. Déroulement du programme à développer. 1. La création ou le chargement du zoo A l’exécution, un premier menu demandera si vous voulez créer un nouveau zoo, en charger un à partir d’un fichier ou quitter le programme. - 1. Création d’un nouveau zoo. - 2. Chargement d’un zoo. - 3. Quitter le programme. Si le choix est d’en charger un à partir d’un fichier, le programme demandera le chemin du fichier à ouvrir. Bien entendu, le programme vérifiera dans un premier temps que le fichier est bien ouvert et dans un second temps que le fichier correspond bien à un fichier de zoo. Si le choix est de créer un nouveau zoo, le programme demandera le nom du zoo à créer. 2. L’utilisation du zoo Une fois le nom saisi ou le chargement du fichier accompli, le programme affichera le menu principal indiquant au minimum les cinq choix suivants : - 1. Création d’un nouvel animal. Si l’utilisateur veut rajouter un nouvel animal, un nouveau menu lui sera proposé avec le choix de l’animal à créer. Une fois l’animal choisi, l’utilisateur lui donnera un nom et ses caractéristiques. - 2. Suppression d’un animal existant. 7 Si l’utilisateur choisi la suppression d’un animal existant, le menu suivant proposera quel animal à supprimer. Une fois le type d’animal à supprimer choisi, le programme fera la liste de tous les animaux de cette espèce. L’utilisateur devra choisir l’animal à détruire. - 3. Affichage du nombre d’animaux d’une espèce ou du zoo Si l’utilisateur choisi d’afficher le nombre d’animaux du zoo, il aura un nouveau menu lui demandant le nombre d’animaux d’une espèce, d’une branche d’animaux ou du zoo tout entier. - 3. Affichage des animaux du zoo Si l’utilisateur choisi d’afficher les animaux du zoo, le programme lui demandera s’il veut afficher tous les animaux ou simplement les animaux d’une seule espèce ou d’une branche d’espèces. En fonction de cela, le programme affichera les différents animaux du zoo. - 5. Sauvegarde du zoo dans un fichier. Si l’utilisateur choisi de sauvegarder le zoo, le programme lui demandera le chemin vers le fichier à créer. - 6. Quitter le zoo. Si l’utilisateur choisi de quitter le zoo, le programme demandera s’il est bien sur de vouloir quitter le zoo et si c’est le cas, il reviendra au premier menu. Si ce n’est pas le cas, il devra bien entendu rester dans le menu principal. A la fin de chacune de ces actions, le programme retournera directement vers le menu principal. Si dans le premier menu, l’utilisateur choisi de quitter le programme, le programme demandera confirmation et si c’est le cas, il quittera le programme. Voici mes classes : //Creation de la classe animaux class animaux{ private: int jour,mois,anne; double poids,taille; string genre; public: //Compteur d'animaux static int cpt_animaux; //Constructeur animaux(int,int,int,double,double,string); //Desturcteur ~animaux(); //Mutateur void set_poids(double); void set_taille(double); void set_genre(string); void set_date_naissance(int,int,int); //Accesseur double get_poids(); double get_taille(); string get_genre(); void get_date_naissance(); }; int animaux::cpt_animaux=0; class mammifere:public animaux{ private: static int cpt_mammifere; double long_poil; public: //Constructeur mammifere(int,int,int,double,double,string,double); //destructeur ~mammifere(); //Accesseur double get_long_poil(); //Mutateur void set_long_poil(); //Affichage //void affichage_espece()const=0; }; int mammifere::cpt_mammifere=0; class oiseau:public animaux{ private: static int cpt_oiseau; double taille_ailes; public: //Constructeur oiseau(int,int,int,double,double,string,double); //Destruteur ~oiseau(); //Mutateur void set_tai_ail(double); //Accesseur double get_tai_ail(); //Affichage }; int oiseau::cpt_oiseau=0; class poisson:public animaux{ private: static int cpt_poisson; double taille_nageoires; public: //Constructeur poisson(int,int,int,double,double,string,double); //Destructeur ~poisson(); //Accesseur double get_tai_nag(); //Mutateur void set_tai_nag(double); //Affichage }; int poisson::cpt_poisson=0; class girafe:public mammifere{ private: static int cpt_girafe; double long_cou; public: //Construteur girafe(int,int,int,double,double,string,double,double); //Destructeur ~girafe(); //Accesseur double get_lon_cou(); //Mutateur void set_lon_cou(double); //Affichage }; int girafe::cpt_girafe=0; class antilope:public mammifere{ private: static int cpt_antilope; double vitesse; public: //Constructeur antilope(int,int,int,double,double,string,double,double); //Destructeur ~antilope(); //Accesseur double get_vitesse(); //Mutateur void set(double); //Affichage }; int antilope::cpt_antilope=0; class hippopotame:public mammifere{ private: static int cpt_hippopotame; double taille_dents; public: //Constructeur hippopotame(int,int,int,double,double,string,double,double); //Destructeur ~hippopotame(); //Accesseur double get_tai_den(); //Mutateur void set_tai_den(double); //Affichage }; int hippopotame::cpt_hippopotame=0; class ours:public mammifere{ private: static int cpt_ours; string couleur; public: //Constructeur ours(int,int,int,double,double,string,double,string); //Destructeur ~ours(); //Accesseur string get_couleur(); //Mutateur void set_couleur(string); //Affichage }; int ours::cpt_ours=0; class lion:public mammifere{ private: static int cpt_lion; double long_criniere; public: //Constructeur lion(int,int,int,double,double,string,double,double); //Destructeur ~lion(); //Accesseur double get_lon_cri(); //Mutateur void set_lon_cri(double); //Affichage }; int lion::cpt_lion=0; class canard:public oiseau{ private: static int cpt_canard; double taille_bec; public: //Constructeur canard(int,int,int,double,double,string,double,double); //Destructeur ~canard(); //Accesseur double get_tai_bec(); //Mutateur void set_tai_bec(double); //Affichage }; int canard::cpt_canard=0; class cygne:public oiseau{ private: static int cpt_cygne; string couleur; public: //Constructeur cygne(int,int,int,double,double,string,double,string); //Destructeur ~cygne(); //Accesseur string get_couleur(); //Mutateur void set_couleur(string); //Affichage }; int cygne::cpt_cygne=0; class autruche:public oiseau{ private: static int cpt_autruche; double long_cou; public: //Constructeur autruche(int,int,int,double,double,string,double,double); //Destructeur ~autruche(); //Accesseur double get_lon_cou(); //Mutateur void set_lon_cou(double); //Affichage }; int autruche::cpt_autruche=0; class requin:public poisson{ private: long nbr_dents; public: static int cpt_requin; //Constructeur requin(int,int,int,double,double,string,double,long); //Destructeur ~requin(); //Accesseur long get_nbr_den(); //Mutateur void set_nbr_den(long); //Affichage }; int requin::cpt_requin=0; class raie:public poisson{ private: double surface; public: static int cpt_raie; //Construteur raie(int,int,int,double,double,string,double,double); //Destructeur ~raie(); //Accesseur double get_surface(); //Mutateur void set_surface(double); //Affichage }; int raie::cpt_raie=0; class zoo{ private: string nom; animaux a; public: //Construteur zoo(string); //Destructeur ~zoo(); //Accesseur nom string get_nom(); //Mutateur void set_nom(string); }; Et mon programme principal : //Chargement du zoo a partir d'un fichier : int chargement_zoo(string add){ ifstream source_fichier; source_fichier.open(add.c_str()); string mot_fichier; source_fichier>>mot_fichier; if(mot_fichier=="/*!zoo!*/"){ cout<<"Il ne s'agit pas d'un fichier de type zoo"<> nom_zoo; test_fin=nom_zoo; zoo Z1(nom_zoo); long cpt_ani; long cpt_mammi,cpt_pois,cpt_ois; long cpt_gir,cpt_anti,cpt_hippo,cpt_our,cpt_lio; long cpt_can,cpt_cy,cpt_aut; long cpt_req,cpt_rai; //Race permet de savoir s'il s'agit d'un lion girafe etc... string race; long jour,mois,annee; double poids,taille; string genre; //Longueur de poils ou taille nageoire ou taille ailes double poid_aile; //longueur cou ou vitesse ou taille dents ou longueur criniere ou taille bec ou surface double cou_vit_etc; //Couleur string coul; //nbr dent long dent; source_fichier >> cpt_ani; source_fichier >> cpt_mammi; source_fichier >> cpt_pois; source_fichier >> cpt_ois; source_fichier >> cpt_gir; source_fichier >> cpt_anti; source_fichier >> cpt_hippo; source_fichier >> cpt_our; source_fichier >> cpt_lio; source_fichier >> cpt_can; source_fichier >> cpt_cy; source_fichier >> cpt_aut; source_fichier >> cpt_req; source_fichier >> cpt_rai; source_fichier >> race; while(test_fin!="/*!ooz!*/" || race!="/*!ooz!*/"){ switch(race){ //Girafe case "G": source_fichier >> jour; source_fichier >> mois; source_fichier >> annee; source_fichier >> poids; source_fichier >> taille; source_fichier >> genre; source_fichier >> poid_aile; source_fichier >> cou_vit_etc; girafe gi(jour,mois,anne,poids,taille,genre,poid_aile,cou_vit_etc); break; //Antilope case "A": source_fichier >> jour; source_fichier >> mois; source_fichier >> annee; source_fichier >> poids; source_fichier >> taille; source_fichier >> genre; source_fichier >> poid_aile; source_fichier >> cou_vit_etc; antilope an(jour,mois,annee,poids,taille,genre,poid_aile,cou_vit_etc); break; //Hippopotame case "H": source_fichier>>jour; source_fichier>>mois; source_fichier>>annee; source_fichier>>poids; source_fichier>>taille; source_fichier>>genre; source_fichier>>poid_aile; source_fichier>>cou_vit_etc; hippopotame hi(jour,mois,annee,poids,taille,genre,poid_aile,cou_vit_etc); break; //Ours case "O": source_fichier>>jour; source_fichier>>mois; source_fichier>>annee; source_fichier>>poids; source_fichier>>taille; source_fichier>>genre; source_fichier>>poid_aile; source_fichier>>coul; ours ou(jour,mois,annee,poids,taille,genre,poid_aile,coul); break; //Lion case "L": source_fichier>>jour; source_fichier>>mois; source_fichier>>annee; source_fichier>>poids; source_fichier>>taille; source_fichier>>genre; source_fichier>>poid_aile; source_fichier>>cou_vit_etc; lion li(jour,mois,annee,poids,taille,genre,poid_aile,cou_vit_etc); break; //Canard case "C": source_fichier>>jour; source_fichier>>mois; source_fichier>>annee; source_fichier>>poids; source_fichier>>taille; source_fichier>>genre; source_fichier>>poid_aile; source_fichier>>cou_vit_etc; canard ca(jour,mois,annee,poids,taille,genre,poid_aile,cou_vit_etc); break; //Cygne case "Cy": source_fichier>>jour; source_fichier>>mois; source_fichier>>annee; source_fichier>>poids; source_fichier>>taille; source_fichier>>genre; source_fichier>>poid_aile; source_fichier>>coul; cygne cy(jour,mois,annee,poids,taille,genre,poid_aile,coul); break; //Autruche case "Au": source_fichier>>jour; source_fichier>>mois; source_fichier>>annee; source_fichier>>poids; source_fichier>>taille; source_fichier>>genre; source_fichier>>poid_aile; source_fichier>>cou_vit_etc; autruche au(jour,mois,annee,poids,taille,genre,poid_aile,cou_vit_etc); break; //Requin case "R": source_fichier>>jour; source_fichier>>mois; source_fichier>>annee; source_fichier>>poids; source_fichier>>taille; source_fichier>>genre; source_fichier>>poid_aile; source_fichier>>dent; requin re(jour,mois,annee,poids,taille,genre,poid_aile,dent); break; //Raie case "Ra": source_fichier>>jour; source_fichier>>mois; source_fichier>>annee; source_fichier>>poids; source_fichier>>taille; source_fichier>>genre; source_fichier>>poid_aile; source_fichier>>cou_vit_etc; raie ra(jour,mois,annee,poids,taille,genre,poid_aile,cou_vit_etc); break; } source_fichier>>race; } } return 1; } int main(){ //La variable choix permet de definir le choix de l'utilisateur dans le menu //La variable test permet de sortir de la boucle do while en cas de chargement de fichier ou creation de zoo reussi long choix,test; //Ces deux variables stockeront soit l'adresse du fichier soit le nom du zoo a creer string adresse_fichier,nom_zoo; do{ system("clear"); cout<<"*********************Menu********************"<>choix; }while(choix<1 || choix>3); //selon le choix de l'utilisateur, le switch permet de renvoyer vers la bonne fonction switch(choix){ //Creation du zoo case 1: system("clear"); cout<<"Entrez le nom du zoo a creer"<>nom_zoo; //creation_zoo(); cout<<"En construction..."<>adresse_fichier; test=chargement_zoo(adresse_fichier); break; ///Quitter case 3:return 0; break; default:return 0; break; } }while(test==0); return 0; } Serait-il possible de m'aider svp. Merci beaucoup Au revoir

jeudi 14 février 2008 à 17:37:05 | Re : Projet en C++

laurent1024

Elle est ou la question ?

jeudi 14 février 2008 à 18:34:24 | Re : Projet en C++

mstarsup5

Voir quelle est la source des erreurs à la compilation sûrement.

 Pourapprendretoujoursplus!

jeudi 14 février 2008 à 18:35:32 | Re : Projet en C++

acx01b

salut

mettre
#include <iostream>
#include <fstream>
using namespace std;

ensuite:
le switch(x)
x doit être un entier (pas un string)
pour faire la même chose avec x qui est un string:
if (x == "a") {
 ...
}
else if (x == "b") {
  ...
}
...

vendredi 15 février 2008 à 00:49:56 | Re : Projet en C++

juju12

ou alors char cFirstLetter=*(x.c_str());
switch(cFirstLetter) ...



Cette discussion est classé dans : fichier, int, source, double, cpt


Répondre à ce message

Sujets en rapport avec ce message

Lecture d'un fichier quelconque [ par jb60 ] Bonjour,J'aimerais savoir si il est possible de lire les données d'un fichier quelconque lorsqu'on ne connait pas le format du fichier d'origine... Je Problème avec quick sort avec des chaines de caractères [ par bakka72 ] Bonjour,Je dois réalisé un quick sort de chaines et jai u souci .1er. je parcourt kle fichier a trié pour compter le nombre délément 2eme je crée un t problème d'ouverture et de lecture d'un fichier [ par Trinity_vv ] J'ai fais un code d'ouverture et d'affichage d'un fichier, tout marchait très bien. Sans exagérer 10 minutes plus tard, je le régénére et il ne veut p Lire des chiffres avec les virgules [ par Stiko ] salut, j'ai fait un petit programme pour ouvrire un fichier texte qui contient seument des chifres séparées par des points virgules.ce programme lit l comment recuperer la source d'un fichier html ? [ par gege1024 ] a partir d'une adresse.(evidement, sans faire "afficher la source" dans le navigateur).gege fast fourier transform [ par niketou ] Salut a tous.J'ai du mal a trouver de la doc en francais.Je voudrais faire deux fonctions qui retourne un tableau de frequences. un fichier wave et l' Pipe et write(...) [ par diablo31170 ] Salut à tous, Comme son nom l'indique, je suis en train de faire de la communication entre 2 processus père et fils. Avant d'évoquer mon problème ça marchait ce matin mais plus maintenant! [ par marieinthesky ] Bonjour à tous,j'essaye d'écrire une fonction qui va faire la moyenne de plusieurs données lues dans des fichiers, ça marchait ce matin puis j'ai voul lecture ecriture dans un fichier binaire [ par bbear ] j'ai 2 tableaux : un de unsigned int et un de char "string"unsigned int tabint[]={ xxx,xxx,xxx...};char *tabnom[]={ "nom1","nom2","nom3"...};je voudra splitter de fichier [ par 24Karas ] salut à tousEn fait je fais un splitter de fichier mais j'ai un probleme. il me rajoute 1 octet sur la découpe et 1 octet par fichier pour la reconsti


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.