Rechercher : dans
Par :

Fonction de saisie en language C (debutant)

Dernière réponse le 17 nov 2007 à 19:55:52 Help!, le 17 nov 2007 à 13:54:26 
 Signaler ce message aux modérateurs

Bonjour,



je cherche une fonction de saisi de commande. la commande peut prendre 3 formes:

exemple de commande:
commande:r 1 2 (separation des caracteres par un espace)
commande:t 5
commande:h

Je dois pouvoir recuperer les valeurs entrées par l'utilisateur.La premiere commande est une lettre.La commande peut comporter 1 caractere ou 1 caractere et 1 entier ou 1 caractere et 2 entiers.


Quelle solution ???

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Fonction de saisie en language C (debutant) » dans :
Introduction au langage C Voir Petite histoire du C Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie...
Les classes en langage C++ VoirLa notion d'objet Le langage C est un langage procédural, c'est-à-dire que c'est un langage permettant de définir des données grâce à des variables, et des traitements grâce aux fonctions. L'apport principal du langage C++ par rapport au...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...

1

fiddy, le 17 nov 2007 à 14:04:14

Salut,


Tu peux utiliser fgets(...) et ensuite fonction de la longueur de la chaine stockée dans fgets tu en déduis si tu dois utiliser
fscanf("%c %d %d",...) ou les autres.

Si, tu connais pas ces commandes, n'hésite pas à le dire, je serai plus précis ;). En tout cas, tu es en possession de l'idée lol

Cdt
Google is your friend

Répondre à fiddy

2

Help!, le 17 nov 2007 à 14:10:23

Je connais pa tro,
Est ce que tu peux me donner les qq lignes de code (fscanf ou fgets).
Merci d'avance

Répondre à Help!

3

fiddy, le 17 nov 2007 à 17:30:25
  • +1

Re,

#include <stdio.h>

int main(){
  char buf[7];
  fgets(buf,7,stdin);
  int a,b;
  char commande;

  switch(strlen(buf)){
    case 2:
       commande=buf[0];
       break;
    case 4:
       commande=buf[0];
       a=buf[2]-'0';
       break;
    case 6:
       commande=buf[0];
       a=buf[2]-'0';
       b=buf[4]-'0';
       break;
    default: puts("choix incorrect");
  }
  
  return 0;
}


Voilou, j'espère que tu sauras tirer parti de cet exemple ;)

Cdt
Google is your friend

Répondre à fiddy

4

 help, le 17 nov 2007 à 19:55:52

Merci!

Répondre à help
Collection CommentÇaMarche.net