#include <stdio.h> const char* getAstrologicalSign(int day, int month) { static const char* signs[12] = {"Capricorn", "Aquarius", "Pisces", "Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius"}; static const int dayTransition[12] = {20, 18, 20, 19, 20, 21, 22, 22, 22, 23, 22, 21}; const int index = day <= dayTransition[(month % 12) - 1] ? (month - 1) % 12 : month % 12; return signs[index]; } int main() { printf("%s\n", getAstrologicalSign(13000, 201000)); return 0; }
Modifié par cptpingu le 30/07/2013 à 12:26
- Modulo pour éviter des dépassements de bornes (month > 12 == segfault)
- Ajout de constitude
- Ajout d'un \n dans le printf
- Attention les commentaires en C sont "/* */" et non "//"