begin process at 2012 05 27 20:16:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > JOUR DE NAISSANCE

JOUR DE NAISSANCE


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :naissance, date, jour, signe Niveau :Débutant Date de création :03/12/2011 Date de mise à jour :05/12/2011 14:19:02 Vu / téléchargé :3 769 / 250

Auteur : fredg19

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Ce programme fait apparaître le jour de semaine de votre naissance, le signe astrologique, la pierre précieuse et le signe astrologique chinois, tout ça selon la date de naissance inscrite.



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip KISIEL CD INFO DRIVE par kisiel0147852
Source avec une capture SUPPRESSION DES REDONDANCES DE FICHIERS par cyberntique
Source avec Zip ÉDITEUR DE RECTANGLES EN CONSOLE par seoseo
CONVERSION DE FICHIER EN FICHIER BMP par seoseo
Source avec Zip DETECTEUR EJP par idpro

 Sources en rapport avec celle ci

Source avec une capture ALGORITHME DE MAURICE KRAITCHIK (1882�1957) par thebroyeur
JOUR A PARTIR D'UNE DATE MM/JJ/YYYY par elkasimi2007
Source avec Zip Source avec une capture DELAMBRE par ralebole
AFFICHE DU JOUR PAR RAPPORT À UNE DATE par Pacifica
COMMENT SAVOIR QUEL JOUR ÉTAIT-ON À UNE TELLE DATE? par tekila_bandita

Commentaires et avis

Commentaire de buno le 05/12/2011 10:36:50 administrateur CS

Hello,
ça manque beaucoup de commentaires je trouve.
De plus, je trouve tes fonctions de "recherche astrale" un peu longue. Tu peux t'inspirer de ce snippet par exemple: http://codyx.org/snippet_connaitre-signe-astrologique_947.aspx pour faire la même chose avec le signe chinois et la pierre, non?
Après, par la suite, tu peux rajouter l'arbre, le "chiffre clé" (je ne sais plus comment il s'appelle),...

Commentaire de fredg19 le 05/12/2011 12:55:58

En réponse à votre message Buno, je trouve mon code parfait comme il l'est.

Commentaire de buno le 05/12/2011 14:18:40 administrateur CS

Je m'en doute, sinon tu ne le posterais pas. ;)
Après, ce sont juste des remarques, à prendre ou pas.

Commentaire de CptPingu le 05/12/2011 16:28:02 administrateur CS

Bonjour.

Très sympathique comme programme. J'ai tout de même quelques petites remarques.

Remarques techniques:
- C'est un grand classique :), mais évite les "using namespace", voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace
- Évite aussi les "system", tu perds en portabilité pour une fonctionnalité très limitée.
- Tu ne vérifies pas les erreurs d'entrées, ce qui fait qu'on peut entrer dans une boucle infinie si on tapes quelque chose dont ton programme ne s'attend pas. Ex: "Inscrivez le jour de votre naissance" => 01/01/1900 => boucle infinie :(. Pour gérer ça correctement, utilise la technique décrite sur cette page du forum: http://www.cppfrance.com/forum/sujet-VERIFICATION-ENTREE-CIN_1544419.aspx
- Pense à bien activer tout les flags de warning quand tu codes, en compilant j'ai trouvé pas mal de soucis potentiels, je te les copie colle:
jour.cpp: In function 'void EnregistrerInfoJourNaissance(std::vector<TypeDateNaissance>)':
jour.cpp:488:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
jour.cpp: In function 'bool RecupererInfoJourNaissance(std::vector<TypeDateNaissance>&)':
jour.cpp:505:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
jour.cpp: In function 'void AfficherDernieresRecherches(const std::vector<TypeDateNaissance>&)':
jour.cpp:523:45: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
jour.cpp: In function 'bool ValiderDateNaissance(TypeDateNaissance&, int&)':
jour.cpp:238:2: warning: control reaches end of non-void function [-Wreturn-type]

En gros, tu mélanges entiers signés et non signés, et dans l'une des fonctions, il manque un return.
- Il y a quelques petites inélégances:
  * Par exemple, un else n'est pas nécessaire après un return (puisque le return est débranchant).
  * Utilise directement return dans tes cases, lorsque tu n'as qu'une valeur à retourner.
Ex:
int DeterminerCodeMoisNaissance(int& p_mois_naissance)
{
  switch(p_mois_naissance)
  {
    case 1: return 1;
    case 2: return 4;
   // etc...
  }
}
  * Inutile de passer un type pod (int, float, char, etc...) en référence si tu ne le modifies pas. Donc int& => int (En plus sizeof(int&) >= sizeof(int)).
  * De même, si tu passes une structure en référence (cette fois la référence est justifiée) mais que tu ne la modifies pas, alors il faut ajouter un "const" devant.
  * Un std::vector devrait normalement être passé en référence (sinon bonjour les copies dans "EnregistrerInfoJourNaissance").
  * Il manque un return 0 à la fin de ton main.

Remarques conceptuelles:
- Pourquoi demander à l'utilisateur s'il veut "commencer" ? Autant commencer directement. S'il veut quitter il le peut. En revanche, à l'usage, c'est assez lourd de devoir dire à chaque fois "oui je veux utilise le programme, sinon je ne l'aurais pas lancé".
- Ne pourrais-tu pas demander la date entière à l'utilisateur ? Tu détectes ensuite le jour, mois et année et s'il celui-ci n'a pas tout entrée, tu lui demandes les informations restantes. Ça serait plus agréable.
- Si l'idée du dessus est peu compliqué à mettre en place, précise au moins le format attendu dans la question (Ex: Jour (DD), Mois, (MM), Année (YYYY)).
- Pour le format du fichier, une ligne par entrée aurait été plus pratique, non ?

Remarques facultatives:
- Si tu utilises vraiment Dev-C++, attention ce projet est abandonné depuis des années, et le compilateur embarqué avec est trèèès vieux. Met à jour le compilateur embarqué ou utilise un IDE plus récent (Visual studio express, Qt Creator, Code::Blocks, ...).
- Essaie de coder en anglais (tu auras des noms plus courts et ça évitera le mélange anglais/français entre ton code et la STL par exemple). Si tu cherches à travailler professionnellement en informatique, tu verras que l'anglais est la langue à utiliser.
- Commente ton code. Par exemple avec doxygen. Voir: http://0217021.free.fr/portfolio/axel.berardino/articles/ecrire-de-bons-commentaires
- Utilise des "assert" dès que tu le peux. Ce sont de véritables barrières de sécurité pour ton code.

En espérant que ces remarques constructives te soient utiles.

Commentaire de Pasokoniidesuka le 06/12/2011 13:56:53

@CptPingu ; J'ai lu le tuto et jusqu'à la moitié je me suis dit : "Ouais c'est un choix perso." Mais bon à lire jusqu'à la fin on fini par comprendre mieux. Je n'ai pas fait de C/C++ depuis un bail et a mon avis c'est pas près de recommencer mais moi le using namespace std je l'ai appris dans les livres de C++ (donc comme tu dis à peu près : dans les salles de cours).

Commentaire de fredg19 le 06/12/2011 17:41:51

tout à fais exact Pasokoniidesuka, j'ai appris les bases de C++ dans les salles de cours

Commentaire de fredg19 le 24/01/2012 01:38:47

@CptPingu, je suis d'accord avec les fameuses améliorations que tu as emmené, mais pour ce qui est de ta manière d'empêcher les boucles infinies avec les erreurs d'entrées, je crois que ça ne marche qu'avec les chiffres et les nombres, pas avec les caractères, enfin, je ne sais pas si ça peut marcher aussi pour les caractères. Merci de ton aide!

Commentaire de CptPingu le 24/01/2012 10:19:19 administrateur CS

>> je crois que ça ne marche qu'avec les chiffres et les nombres, pas avec les caractères
Je ne comprends pas ta question. Un caractère est un nombre, donc pas de souci avec ça. Si tu parles d'une chaîne de caractère, le problème ne se pose pas non plus.

Commentaire de fredg19 le 24/01/2012 18:15:39

@CptPingu dans mon code, au début, quand l'on choisis oui pour commencer ou non pour mettre fin au programme (ce qui me sert de sentinelle), si je fais une faute d'entrée, le programme va entré dans une boucle infinie, comment je peux remédier à ça?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

création de fichier [ par freeze ] Salut à tous,je voudrais créer un fichier qui reprendrai la date du jourPar exemple 0110022.zip pour un fichier zip du 01/10/2002En fait je voudrais é compiler en c++ avec la date [ par Ganaga ] Bonjour, Je cherche un moyen de compiler un programme en c++ qui inclu la date du jour en dur. &#199;a permettrai d'indiquer dans un fichier ex&#233; calendrier [ par chinois57 ] bjr tt le monde mon prof de math ma demander de faire un calendier perpituel en C mais je coince un peu bcp "please help me" ma source est :#include & SQL et date ! [ par Nixeus ] Bonjour à tous !Le programme que je développe doit comptabiliser des passages ( carte magnétiques) chaque jour ( afin d'en faire des statistiques)Voic programmatione en C [ par badramus ] bonjour tout le monde j'aimerais que vous m'aidez pour un projet &#224; rendre le 15 mai&nbsp;le projet present&#233; ci dessous1&nbsp; pour une date donner la date avec le jour et mois et annee [ par abdokayane ] bjr svp je cherche une applaication avec langage c qui permet de donner le date avec le jour le mois et l annee lorsq je veux ajouter des jours par ex probleme de constucteur urgent [debutant] [ par yanne1985 ] salut class date{ int jour,mois,annee; public: date(int jour=0, int mois=0, int annee=0)     {     this-&gt;jour=jour;     this-&gt;mois=mois;     t aide pour dvpmt C [ par Stuntfire62 ] Bonjour,j' ai un pb pour un code en C, j'ai plusieurs choses a faire.je dois écrire une fonction permettant de comparer deux dates dans un tableau qui Pseudo-code [ par Caine10 ] Coucou, j'ai un petit soucis avec l'éxercice  suivant... j'ai grand besoin d'aide ^_^"L'utilisateur encode en une seule fois une date sous la forme AA trouver une date [ par sacredead ] bonsoir, j'aimerais avoir un peu d'aide pour créer un sous programme (en C) qui renverrait une date en fonction d'un indice de jour. par exemple, le 1


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales