morpilo a écrit :
j'utilise comme Windows 2000,avec Borland C++.
Bon je montre un petit bout de mon programme:
Code :
- #include<stdio.h>
- #include<string.h>
- //lettre taper l'utilisateur pour acceder a une interface
- char lettre[1];
- //lorsque l'utilisateur tape une touche étendue (F10 ,fléchée..)
- unsigned char c;
- void main(void)
- {
- printf("------MENU JEU D'ECHEC------*\n" );
- printf("Fichier\n" );
- printf("Partie\n" );
- printf("Aide\n" );
- gets(lettre);
- int choix_menu(lettre)
- {
- if (lettre== char[a])
- printf("Menu d'aide" );
- }
|
|
Pense aux balises code : bouton [C/C++]
- main() retourne int. Toujours.
- Il ne faut pas utiliser gets() (c'est un bug)
- Pour saisir une ligne (même de 1 caractère), le mieux est d'utiliser fgets() avec une chaine de 3 : (le caractère, le '\n' et le 0 final)
- Le C n'a pas de fonction natives pour lire le clavier ou ses touches.
Chaque plateforme a ses procédures, et le compilateur dédié fourni les extensions nécéssaires. Avec Borland C en mode console, il est probable que tu ais accès à la bibliothèque conio (les fonctions sont déclarées dans <conio.h> ) et aux fonctions de lecture directe comme kbhit() et getch(). Evidemment, ça rend le code non portable sur une autre plateforme (Unix etc.)
La lecture des touches étendues se fait en 2 fois (0 + code).
Pseudo-code:
c := getch
SI c = 0
SI kbhit
c := getch
; code de la touche 'etendue' (fonctions, fleche etc.)
FIN SI
SINON
; code ASCII d'une touche 'normale'
FIN SI
|
Message édité par Emmanuel Delahaye le 13-12-2004 à 15:22:35
---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/