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 :

Fonction en C


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 147
    Points : 61
    Points
    61
    Par défaut Fonction en C
    Bonjour, je débute dans le langage et je souhaiterai obtenir de l'aide pour

    Ecrire une fonction f1 qui pour un caractère donné :
    – si ce caractère est une lettre minuscule, renvoit la majuscule correspondante
    – si ce caractère est une lettre majuscule, renvoit la minuscule correspondante
    – sinon renvoit le caractère non modifié

    Sachant certains critères que j'ai essayé de déchiffré :
    //Donnees : char C
    //Resultats : char d
    //PE : >
    char f1 (char c) ;
    //PS : ( C in alphabet min -> d=c+ ’A’-’a’) and ( C in alphabet maj -> d=c+ ’a’-’A’) and ( not(C in alphabet) -> d=C )


    Mon problème est que je n'arrive pas très bien à transcrire celà en une fonction en langage C.

    Exemple :
    f1(’a’)=’A’
    f1(’A’)=’a’
    f1(’ ;’)=’ ;’

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Salut,
    je te conseille d'aller regarder comment est faite la table ascii (man ascii si tu est sous un systeme unix)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    char f1(char d)
    {
    if (d >= 'A' && d <= 'Z')
    d += 32;
    else if (d >= 'a' && d <= 'z')
    d -= 32; 
    return (d);
    }

    Voila ... 32 etant la difference 'a' - 'A' ...
    Regarde la table ASCII, ca t'aidera a comprendre.

    Cordialement,
    NeoKript

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 147
    Points : 61
    Points
    61
    Par défaut
    Est-il possible de tester cette fonction avec un "main" ? Si oui, comment faire ?

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    hum hum tu devrait lire un tuto avant de commencer quoi que ce soit ... Regarde dans les tutos de ce site, il y en a des très bien.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    #include <stdlib.h>
     
    char f1(char d)
    {
    if (d >= 'A' && d <= 'Z')
    d += 32;
    else if (d >= 'a' && d <= 'z')
    d -= 32; 
    return (d);
    }
     
    int main(void)
    {
    char c = f1('a');
    printf("%c\n", c);
    return (EXIT_SUCCESS);
    }
    Voila

  5. #5
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Sans postuler le codage des caractères, on peut exploiter les fonctions standard isupper(), islower(), toupper() et tolower() déclarée dans <ctype.h>
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Fonction API
    Par margilb dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/07/2002, 11h11
  3. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19
  4. fonction printf
    Par ydeleage dans le forum C
    Réponses: 7
    Dernier message: 30/05/2002, 11h24
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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