loka
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
loka

forum de loka
 
AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment :
Cdiscount : -30€ dès 300€ ...
Voir le deal

 

 conversion monetaire

Aller en bas 
AuteurMessage
romain
Rang: Administrateur
romain


Nombre de messages : 346
Date d'inscription : 01/08/2004

conversion monetaire Empty
MessageSujet: conversion monetaire   conversion monetaire EmptyJeu 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;
}
Revenir en haut Aller en bas
 
conversion monetaire
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
loka :: Informatique :: Programmation :: C et C++ :: C-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser