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 :

problème avec F1, F2, et F3 pour trois fonctions


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut problème avec F1, F2, et F3 pour trois fonctions
    Bonjour à tous !

    je débute en langage C et j'utilise Dev-C++

    je suis en train de créer un programme proposant trois sous programmmes calculant l'image d'une fonction (affine, carré et inverse)
    pour l'instant j'y arrive (enfin je pense :-) )
    mais le probleme se complique :
    je voudrai que l'utilisateur puisse accéder au sous programme en appuyant sur F1 (pour la 1ere fonction), F2 (pour la 2eme fonction) et F3 (pour la 3eme)

    voila

    j'ai donc abouti à ce code là :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
     
    int fonction_affine(int a, int b, int u, int v)
    {
       puts("Veuillez entrer a");
       scanf("%d",&a);
       puts("Veuillez entrer b");
       scanf("%d",&b);
       puts("Veuillez entrer u");
       scanf("%d",&u);
       v = a * u + b;
       printf("L'image de u par la fonction affine f est %d\n",v);
       system("PAUSE");
       return 0;
    } 
     
    int fonction_carre(int z, int w)
    {
       int x,y;
     
       puts("Veuillez entrer un nombre");
       scanf("%d",&z);
       w = z * z;
       printf("L'image de z par la fonction carré est %d\n",w);
       system("PAUSE");
       return 0;
    }
     
    int fonction_inverse(int x, int y)
    {
       puts("Veuillez entrer x");
       scanf("%d", &x);
       y = 1 / x;
       printf("L'image de x par la fonction inverse est %d\n",y);
       system("PAUSE");
       return 0;
    }
     
    int main()
    {
       puts("Tapez F1 pour fonction affine, F2 pour fonction carre, F3 pour fonction inverse"); 
       if((keybd_event(VK_F1,0,0,0))&&(keybd_event(VK_F1,0,KEYEVENTF_KEYUP,0)))
       {
          fonction_affine;
       }
       if((keybd_event(VK_F2,0,0,0))&&(keybd_event(VK_F2,0,KEYEVENTF_KEYUP,0)))
       {
          fonction_carre;
       }
       if((keybd_event(VK_F3,0,0,0))&&(keybd_event(VK_F3,0,KEYEVENTF_KEYUP,0)))
       {
          fonction_inverse;
       }
       return 0;
    }
    et voila que les ennuis commencent

    le logiciel refuse de compiler le source
    les raisons :

    -void value not ignored as it ought to be
    - [Warning] In function main

    por ma part je pense que l'erreur se situe dans la fonction Main mais je ne sais pas où

    si vous pouviez m'aider

    Merci d'avance !!!

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Sous Windows, La fonction keybd_event() est utilisée pour simuler l'appui sur une touche ou son relâchement, pas pour obtenir son état.

    Utilise la fonction GetKeyboardState() ou GetKeyState() pour faire ce que tu veux.


    En l'état ton problème vient du fait que keybd_event() ne retourne rien :

    Citation Envoyé par MSDN
    VOID keybd_event(

    BYTE bVk,
    BYTE bScan,
    DWORD dwFlags,
    PTR dwExtraInfo
    );
    GetKeyboardState :

    http://msdn2.microsoft.com/en-us/library/ms646299.aspx

    GetKeyState :

    http://msdn2.microsoft.com/en-us/library/ms646301.aspx

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut exemple
    merci de m'avoir répondu si vite

    néanmoins pourrait tu me faire un exemple parce que je galere un peu sur le site en anglais

    merci d'avance

Discussions similaires

  1. [EasyPHP] Problème avec l'installateur de EasyPHP pour implémenter un RSE (Elgg)
    Par mahermaher8989 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 20/06/2011, 17h03
  2. problème avec condition " if " et "liste" pour programme
    Par hypnotief dans le forum Général Python
    Réponses: 10
    Dernier message: 22/03/2011, 21h49
  3. Réponses: 1
    Dernier message: 16/10/2008, 18h49
  4. Réponses: 2
    Dernier message: 09/08/2008, 13h30
  5. problème avec média player par défaut pour les vidéos ?
    Par tomguiss dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 18/10/2005, 14h08

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