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 :

dm génération ticket de caisse fête de noel


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 1
    Points : 0
    Points
    0
    Par défaut dm génération ticket de caisse fête de noel
    bonjour, je suis en 1ère année de bts, je dois un rendre noté, que j'ai commencé mais je n'y arrive pas, je vous laisse donc mon code que j'ai fait et mon énoncé. merci d'avance pour l'aide
    dmNoel.pdf
    ConsoleApplication1.rar

  2. #2
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 580
    Points : 7 712
    Points
    7 712
    Par défaut
    Bonjour,

    J'ai regardé, tu as mis tant bien que mal des morceaux de l'énoncé dans des fichiers.
    Il faudrait peut-être avoir une stratégie avec un début, un milieu, et un jour une fin.

    Avant d'écrire du code, il te faut l'apprendre. Puis voir comment s'en servir. Tu as dû avoir des cours, tu peux aussi lire les tutoriaux.

    Quand même quelques conseils, sur ce je que j'ai vu.
    • Ça n'est pas une tradition, une commande doit se terminer par un point-virgule, il en manque beaucoup.
    • Les lettres accentuées ne sont pas autorisées dans les noms de variables et de types.


    Essaye par exemple au moins d'écrire une des fonctions demandée dans l'énoncé.

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

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    D'abord, saches que nous ne sommes pas sur faitesmesdevoirs.com! On veut bien t'aider si tu as un problème d'incompréhension, voir un problème d'algorithmie, mais on ne te donnera pas le code tout fait : ce serait le pire service que nous pourrions te rendre.

    Sinon, selon toi, à quoi pourrait servir, selon toi, un paramètre (représentant une chaine de caractères) nommé chLigne (nom très mal choisi, je te l'accorde) dans une fonction nommée AfficherEn-tête

    Autre question similaire : à quoi pourraient servir les paramètres (représentant respectivement une chaine de caractères et un double) nommés respectivement MonArticle (nom moins mal choisi) et montant (nom particulièrement bien choisi) dans une fonction nommée AfficherArticle

    En outre, à quoi correspondent, selon toi, les paramètres double *TabMontant et int nbarticle(noms pas si mal choisis) dans une fonction nommée CalculTotal, même si on ne transmet plus ce genre d'informations sous cette forme depuis près de vingt ans et qu'il semble "peu cohérent" de renvoyer un float alors que toutes les données reçues sont sous la forme de double

    Enfin, la question qui tue : pourquoi nommer ta classe cEnregistrement et pas tout simplement Enregistrement on se fout pas mal que ce soit une classe ... D'ailleurs, pourquoi créer une classe si c'est pour mettre toutes les données dans l'accessibilité publique Autant créer une structure (à l'aide du mot clé struct), c'est d'autant moins d'effort
    Et, pour te rassurer sur le fait que tu n'est peut être pas tout à fait le seul fautif, pourrais tu faire passer un message à ton prof
    Monsieur le professeur,

    s'il est très courageux de votre part d'essayer d'apprendre à programmer à vos étudiants, il serait plus que temps que vous mettiez vos connaissances du C++ à jour : cela fait maintenant près de vingt ans que la classe std::string existe, et qu'il est très largement préférable de l'utiliser en lieu et place de ces horribles char *.

    De même, cela fait tout ce temps qu'il est conseillé d'utiliser la classe std::vector ou ( depuis trois ans, ce qui fait un bail en informatique) la classe std::array pour les tableaux dont on connait effectivement le nombre d'éléments à la compilation en lieu et place des tableau "C style".

    A moins, bien sur, que vous ne vouliez leur apprendre à programmer en C Mais, dans ce cas, vous seriez aimable de ne pas faire passer votre cours pour un cours de C++, car ce sont bel et bien deux langages totalement différents rendant toute confusion extrêmement dangereuse.

    Notez enfin que vous devriez sérieusement veiller à la cohérence de votre énoncé : si toutes les données sont de type double, il semble peu cohérent de renvoyer un total sous la forme d'un float : bien que visiblement sans grande incidence dans votre exercice (après tout, la précision des montants n'excède normalement pas la deuxième décimale), cela pourrait avoir pour effet de faire perdre des données importante pour tout besoin nécessitant une précision plus importante.

    Un compilateur ben réglé aurait d'ailleurs attiré votre attention sur ce fait au travers d'un avertissement, mais, peut-être estimez-vous savoir mieux que le compilateur ce qui peut poser problème Permettez moi d'émettre de très sérieux doute sur le sujet.

    Pouvez vous en outre prendre note du fait que la notation polonaise a été abandonnée depuis bien longtemps déjà (du moins en C++), tant il a été prouvé qu'elle apportait vraiment rien --surtout lorsque l'on utilise les types adéquats :
    1. chNom pourrait très bien s'appeler nom (ou Nom, si vous préférez), on se doute très bien que c'est une chaine de caractères
    2. idem pour chLigne qui pourrait s'appeler ligne (ou Ligne)
    3. idem pour chMonArticle, qui, pour la cause, devrait s'appeler nomArticle (ou NomArticle, pour respecter vos conventions)
    4. tabMontant pourrait s'appeler montants (ou Montants) : le pluriel nous indiquerait clairement qu'il s'agit d'un tableau
    5. il en va de même pour tabEnregistrement qui devrait s'appeler enregistrements (notez encore une fois le pluriel)
    6. Enfin, on se fout pas mal que CEnregistrement soit une classe (une simple struct ferait d'ailleurs l'affaire, pour la cause). Nous pourrions la nommer Enregistrement sans que cela ne pose de problème


    Notez enfin que l'idéal est de choisir une convention de nommage qui permette d'éviter les erreurs entre les types et les noms de variables / de fonctions. La convention de nommage de la STL n'est -- très clairement pas forcément la meilleure, mais une chose est sur : les noms de fonctions et de variables sont tout de suite beaucoup plus repérables quand ils sont écrits en lowerCamelCase (ou tout en minuscules) et les types définis par l'utilisateur sont tout de suite plus repérables lorsqu'ils sont écrits en HightCamelCase.

    Au fait, saviez vous que la seule différence entre le mot clé class et le mot clé struct réside dans l'accessibilité appliqué par défaut (comprenez : avant que l'on ne croise le premier spécificateur d'accès) privée pour le mot clé class, publique pour le mot clé struct. Mais, en dehors de cela, il n'y a absolument rien que l'on puisse faire avec l'un que l'on ne puisse pas faire avec l'autre.

    Enfin, bref : je ne saurais jamais insister assez sur l'absolue nécessité que vous auriez à mettre vos connaissances à jour, car, dans la situation présente, vous ne serez jamais en mesure de former vos étudiants à fournir du code correct et un minimum robuste.

    Bien à vous,

    DUNSKI Philippe
    Expert C++, expert qualité du développement
    auteur du livre Coder efficacement -- bonnes pratiques et erreurs à éviter en C++
    (et je t'avouerai que j'ai fait un effort pour donner une version adoucie de ce que je voulais lui dire, sinon je l'aurais volontiers traité de vieux con rétrograde )

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2002
    Messages
    2 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 835
    Points : 19 205
    Points
    19 205
    Par défaut
    Citation Envoyé par jean5017 Voir le message
    bonjour, je suis en 1ère année de bts, je dois un rendre noté, que j'ai commencé mais je n'y arrive pas, je vous laisse donc mon code que j'ai fait et mon énoncé. merci d'avance pour l'aide
    dmNoel.pdf
    ConsoleApplication1.rar
    On est pas la pour faire tes devoirs, si tu as raté les cours forme toi ici : Cours et tutoriels C++ et FAQ C++ et fait tes exercices toi même.

Discussions similaires

  1. Imprimante Ticket de caisse
    Par JP.NUAGE dans le forum Matériel
    Réponses: 5
    Dernier message: 24/12/2009, 08h50
  2. [Imprimante] Machine à ticket de caisse
    Par popovitch130 dans le forum Périphériques
    Réponses: 3
    Dernier message: 18/03/2009, 18h25
  3. Impression avec une imprimante à ticket de caisse
    Par freud dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2008, 13h50
  4. Réponses: 3
    Dernier message: 19/01/2007, 14h52
  5. [VB]Ticket de caisse
    Par IADJOFOGUE dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 19/01/2006, 22h20

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