romain Rang: Administrateur
Nombre de messages : 346 Date d'inscription : 01/08/2004
| Sujet: conversion monetaire Jeu 16 Mar à 12:22 | |
| - Code:
-
/* Programme de conversion monétaire */
#include <stdlib.h> #include <stdio.h>
#include <conversions-monetaires.h>
#define CAR_OPTION '-' #define OPTION_AIDE 'h' #define OPTION_EURO 'e' #define OPTION_FRANC 'f'
static void message_usage(char *nom_de_la_commande) { fprintf(stderr, "Usage: %s {-e|-f} somme\n", nom_de_la_commande); fprintf(stderr, " %s -h\n", nom_de_la_commande); }
static void afficher_usage_et_sortir(char *nom_de_la_commande) { message_usage(nom_de_la_commande); exit(EXIT_FAILURE); }
static void afficher_aide_et_quitter(char *nom_de_la_commande) { message_usage(nom_de_la_commande); fprintf(stderr, "\nCette commande permet de convertir en euros une somme exprimée\n" "en francs, et réciproquement. Le sens de la conversion dépend\n" "de l'option utilisée :\n" " -f : conversion en euros d'une somme exprimée en francs;\n" " -e : conversion en francs d'une somme exprimée en euros.\n" "L'option -h permet d'obtenir un message d'aide.\n"); exit(EXIT_SUCCESS); }
int main(int argc, char *argv[]) {
if (argc == 1) afficher_usage_et_sortir(argv[0]); if (argv[1][0] != CAR_OPTION) afficher_usage_et_sortir(argv[0]); if (argc == 2 && argv[1][1] == OPTION_AIDE) afficher_aide_et_quitter(argv[0]); if (argc != 3) afficher_usage_et_sortir(argv[0]);
float montant = atof(argv[2]);
if (argv[1][1] == OPTION_EURO) printf("%.2f E -> %.2f F\n", montant, conversions_euros_vers_francs(montant)); else if (argv[1][1] == OPTION_FRANC) printf("%.2f F -> %.2f E\n", montant, conversions_francs_vers_euros(montant)); else afficher_usage_et_sortir(argv[0]);
return EXIT_SUCCESS; }
| |
|