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 :

Comment démarrer mon projet


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Comment démarrer mon projet
    Bonjour, avant tout, je me doute que ma démarche est spéciale, mais j'ai un soucis, les examens approchent et je n'ai plus que quelques jours, seulement il me reste des exo a faire, et je n'aurai pas le temps de tous les faire, j'aurais besoin d'aide pour un exo.


    S'il vous plait.

    Ils doivent réaliser des quêtes a certains endroits, la quête est définie par un niveau de difficulté.

    Une quête est donc définie par :
    - un titre
    - un descriptif
    - un niveau minimal
    - un niveau maximal
    - un lieu

    Un groupe est défini par ses membres et leur localisation.

    Une quête se trouve dans une région.


    Les données sont réparties dans 3 fichiers

    Le premier de ces fichiers contient des informations "géographiques" : on trouve des lignes commençant
    par la lettre R (une telle ligne décrit une région et les lignes suivantes commençant par la lettre L décrivent
    des lieux se trouvant dans cette région).

    geographie.txt
    --------------
    R <nom de région>
    L <nom de lieu>


    Le second fichier contient le descriptif des quêtes : commençant par la lettre Q, chaque ligne décrit une quête.

    quetes.txt
    ----------
    Q <titre de quête> <descriptif de quête> <niveau minimal de quête> <niveau maximal de quête> <lieu>


    Le troisième fichier contient une liste de groupes de personnages : on trouve des lignes commençant
    par la lettre G (une telle ligne décrit un groupe en précisant la région où il se trouve et les lignes suivantes
    commençant par la lettre P décrivent les personnage de ce groupe).

    groupes.txt
    -----------
    G <nom de région>
    P <nom de personnage> <classe de personnage> <niveau de personnage>


    Le but de l'application est d'indiquer pour chaque groupe quelles quêtes ils devraient faire en vérifiant que les
    quêtes proposées se situent dans la même région que le groupe, et que le niveau du groupe est compris entre le niveau
    minimal et le niveau maximal du groupe.

    Le niveau d'un groupe se calcule comme suit :
    - rechercher le plus petit niveau de personnage du groupe => N0
    - pour tout personnage du groupe, calculer son niveau relatif => NR = (NP - N0 + 1) * Delta
    où NP est le niveau du personnage et N0 le plus petit niveau de personnage du groupe
    - le niveau du groupe (NG) est égal à la somme des NR des personnages du groupe,
    à laquelle il faut ajouter (N0 - 1) et le nombre de personnages du groupe

    Delta est une valeur réelle encodée par l'utilisateur au démarrage du programme ; le Delta doit être compris entre 1 et 3

  2. #2
    Débutant  
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Points : 217
    Points
    217
    Par défaut
    ET nous on doit faire quoi?

  3. #3
    Débutant  
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Points : 217
    Points
    217
    Par défaut
    Remarque ca m'a l'ai sympas comme jeu
    tu me l'enverras pour que je le beta-teste quand il sera fini.

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    bonjour,
    es ce que le nombre de membre est limité par groupe?
    Se qui va être le plus dur dans ton histoire c'est la récupération des informations.
    Es ce que tu connais les matrices?
    Si oui je pense que stocké les informations de tes 3fichiers en 3matrices puis ensuite faire le traitements serai jouables.

    Après je dit pas que c'est la meilleur solution, je ne suis qu' étudiante comme toi!

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    en fait les fichiers sont fixe pour l'instant :

    géographie.txt:

    R Région 1
    L Lieu 1
    L Lieu 2
    R Région 2
    L Lieu 3
    L Lieu 4
    (entre R ou L et region lieu une tablation)

    groupe.txt :

    G Région 1
    P Personnage 1 Classe 1 2
    P Personnage 2 Classe 2 3
    G Région 1
    P Personnage 3 Classe 1 5
    P Personnage 4 Classe 3 5
    G Région 2
    P Personnage 5 Classe 3 12
    P Personnage 6 Classe 4 13
    G Région 2
    P Personnage 7 Classe 5 17
    P Personnage 8 Classe 2 18

    (G ou P tabulation region Personnage X tablation Classe X tab niveau)
    quete.txt :

    Q Quête 1 bla bla 1 1 2 Lieu 1
    Q Quête 2 bla bla 2 3 5 Lieu 1
    Q Quête 3 bla bla 3 5 10 Lieu 2
    Q Quête 4 bla bla 4 7 10 Lieu 2
    Q Quête 5 bla bla 5 12 15 Lieu 3
    Q Quête 6 bla bla 6 11 13 Lieu 3
    Q Quête 7 bla bla 7 14 17 Lieu 4
    Q Quête 8 bla bla 8 15 20 Lieu 4

    (Q tabulation quete X tablation description tab niveau min tab niveau max tab lieu X)

  6. #6
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut et bienvenue sur le forum à shuriok et à armoni.

    Déjà, il faut bien te dire que nous ne sommes pas sur http:wwww.faitemesdevoirs.com , et que la politique de la maison est que c'est sans doute le pire service que l'on puisse rendre à un "débuttant" (sans être péjoratif) que de lui fournir une solution toute faite, sans qu'il n'ai fait sa part d'efforts.

    En effet, l'adage
    C'est en forgeant que l'on deveint forgeron
    s'applique très bien à tous les métiers de l'informatique, et tu finira même par te rendre compte que tu apprend bien plus de tes erreurs que de tes réussites .

    De plus, l'énoncé du problème est suffisemment clair et précis pour que rien ne vienne à poser réellement problème.

    En effet, si tu comprend ce que tu lis, tu doit trouver toutes les informations qui te sont nécessaires, et, si tu as été un minimum attentif aux cours, tu devrais disposer des connaissances de base te permettant de résoudre ton problème.

    Mais bon, comme je suis bon prince, je vais faire quelques rappels et résumés:
    Quand il s'agit de réfléchir à un projet à créer il faut prendre le temps de répondre à quatre questions primoridiales:
    1. Que doit faire l'application cela prend généralement la forme de "je veux créer une application qui ..."
    2. De quelles données l'application a-t-elle besoin le but est de déterminer précisément les structures de données (ou les classes et leurs responsabilités respectives si tu travaille en OO) qui te seront nécessaire pour mener ton projet à bien
    3. Où l'application va-t-elle aller chercher les données cela peut être une introduction clavier par l'utilisateur, des fichiers,...
    4. Quel traitement cette application va-t-elle appliquer aux données pour obtenir le résultat voulu comme une application ne fait, de manière générale, que traiter des données, il faut savoir précisément quel traitement apporter à chaque donnée, et dans quel ordre, pour obtenir le résultat souhaité. Pour répondre à cette question, il s'agira de déterminer quelles fonctions créer et de fournir un algorithme permettant d'obtenir le résultat en éliminant au mieux les risques d'erreur

    Il ne sert à rien de passer à la question suivante si tu n'a pas obtenu au préalable une réponse clairement satisfaisante à la question à laquelle tu tentes de répondre.

    En effet, chaque réponse te fournira une série d'informations qui te permettront de répondre à la question suivante

    En outre, ces cinq questions te permettent de parfaire l'idée que tu te fait de l'application, sans prendre le langage que tu va utiliser pour la créer en compte.

    Il est donc intéressant de se poser une dernière question qui est
    Quelles facilités le langage que je vais utiliser (ici, le C++) me fournit il pour atteindre mon but

    Voici à quoi cela pourrait ressembler pour ton problème:
    Que doit faire ton application
    Le texte que tu as écrit en posant ta question est suffisemment clair pour expliquer ce que tu veux

    De quelles données l'application va-t-elle avoir besoins
    Il te faut minimum cinq structures de données de base:
    1. les quêtes
    2. les personnages
    3. les lieux
    4. les groupes de personnage
    5. les régions

    Parmi ces cinq structures, deux sont des collections et nécessiteront donc l'utilisation de classes conteneur:
    • un groupe représente plusieurs personnage
    • une région représente plusieurs lieux.

    Pour les autres, il s'agira principalement de regrouper quelques chaines de caractères et quelques entiers

    Il te faudra en outre vraisemblablement trois structures supplémentaires qui n'apparaissent pas dans l'énoncé, et qui utiliseront également des conteneurs:
    1. une pour gérer l'ensemble des groupes indépendamment de la région où ils se trouvent
    2. une pour gérer l'ensemble des régions
    3. une pour gérer l'ensemble des quêtes indépendamment de l'endroit où elles ont lieu

    Enfin, il faudra veiller à disposer d'une valeur (numérique) Delta, nécessaire pour calculer le niveau relatif d'un groupe

    Où l'application va-t-elle obtenir ces données
    Pour la majeure partie, les données seront récupérées dans des fichiers texte.

    La seule exception est la valeur de Delta, qui sera introduite par l'utilisateur.

    Quel traitement ton application devra-t-elle effectuer sur ces données
    Etant donné que tu as trois fichiers à lire, il faudra prévoir trois... fonctions de lecture.

    La première, que je nommerais logiquement lireGeographie s'occupera de lire le fichier ...geographie.txt et aura besoin de deux autres fonctions, que je nommerais - tout aussi logiquement - creerRegion et creerLieu.

    La seconde, que je vais appeler lireQuete s'occupera de récupérer les... quêtes dans le fichier qui les contient (qui l'eut cru )

    La troisième, que j'appellerais lireFichierGroupe s'occupera de lire... le fichier groupe.txt, et aura besoin de deux fonctions supplémentaires que j'appellerais creerGroupe et creerPersonnage.

    En outre, il faut être en mesure de:
    • chercher le niveau le plus bas dans un groupe et donc, une fonction chercheNiveauMinimum semble s'imposer
    • calculer le niveau relatif d'un groupe, ce qui semble imposer une fonction calculeNiveauRelatif
    • proposer au groupe de choisir une quete, sur base des valeurs obtenues par les deux fonctions ci-dessus, parmi les quêtes disponibles dans la région où il se trouve. Cela semble imposer une fonction choisirQuete.

    Enfin, il ne faut pas oublier la fonction d'entrée dans le programme. Cette fonction doit d'office s'appeler main

    Les algorithmes relatifs à ces différentes fonctions restent relativement simples.

    Ainsi, si l'on prend la fonction lireGeographie, cela pourrait ressembler à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ouvrir ifs ("groupe.txt") en lecture seule
    Tant qu'on peut lire une ligne
        Si le premier caractère est un 'R'
            créer nouvelle région
            ajouter région au gestionnaire
            région_actuelle <-- la nouvelle région
        Fin Si
        Si le premier caractère est un 'L'
            créer nouveau lieu
            ajouter nouveau lieu à région_actuelle
        Fin Si
    Fin Tant
    et la fonction creerRegion serait de l'ordre de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    retirer premier caractère de str (recu en parametre)
    Declarer r comme étant une région
    assigner la valeur de str à r.nom
    renvoyer r
    Pour les autres algorithmes de lecture, il "suffira" d'adapter ceux que j'ai fournis ici aux données qu'ils doivent gérer

    En ce qui concerne les autres, je vais te laisser un peu réfléchir, mais je vais quand même te fournir la base de celui de la fonction principale:
    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
    lireGeographie
    lireQuete
    lirePersonnage
    Tant que delta<0 et delta>3
        afficher "introduisez le coefficient de difficulte"
        demander delta
    Fin Tant
    Tant qu'il y a un groupe
        Pour i= 0 à nombre groupe
            nm <-- chercheNiveauMinimum (groupe[i])
            nr <-- calculeNiveauRelatif(groupe[i], delta)
            choixQuete(goupe[i], nm, nt)
        Fin Pour
    Fin Tant
    renvoie 0
    Il est maintenant temps de se poser la question

    Quelles facilités le langage que je vais utiliser (ici, le C++) me fournit il pour atteindre mon but
    Le C++ fournit une classe permettant de gérer les chaines de caractères de manière sécurisante: la classe string. Elle nous viendra bien à point étant donné que nous devrons gérer de nombreuses chaines de caractères

    Le C++ fournit également une classe pour la gestion des flux de données venant de fichiers: la classe ifstream.

    des classes très intéressantes de conversion de flux seront nécessaires: les classes istringstream et ostringstream

    Comme il nous faut afficher des informations sur la sortie standard et en récupérer sur l'entrée standard, les classes cin et cout seront également nécessaires

    Enfin, le langage fournit en standard une série de conteneurs particuliers, qui seront utiles pour gérer les différentes collections... il faudra se baser sur cette entrée de la faq pour déterminer lequel te semble le plus adapté

    la FAQ
    devrait te donner une réponse à la plupart des questions que tu peux te poser en ce qui concerne les différentes classes citées ici

    Voilà... Je t'ai fournis toutes les informations que j'estimais nécessaires pour que tu puisse démarrer sereinement.

    Maintenant, c'est à toi de montrer que tu fais ta part d'effort

    Si tu rencontre une difficulté particulière, n'hésite pas à venir nous poser une question, en n'oubliant pas que est ton ami, et qu'il existe une fonction "rechercher" sur le forum...
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Bonjour koala01!
    Merci beaucoup pour les informations que tu viens de donner et je pense que ce que tu viens de donner suffit largement.
    Merci aussi pour les conseils que tu viens de donner, c'est toujours bon de se les remémorés.
    Bon courage à shuriok!

Discussions similaires

  1. Réponses: 9
    Dernier message: 10/01/2007, 09h04
  2. comment renommer mon projet?
    Par PDelph7 dans le forum Delphi
    Réponses: 1
    Dernier message: 05/01/2007, 00h05
  3. tomcat ne veut pas démarrer mon projet
    Par diamonds dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 10/12/2006, 01h48
  4. [C#] Comment organiser mon projet ?
    Par lamyae_84 dans le forum Accès aux données
    Réponses: 8
    Dernier message: 30/08/2006, 09h37
  5. Comment compiller mon projet avec Dev C++
    Par Micheal1221 dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/07/2006, 12h38

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