Aide langage C
Résolu
code001
-
fabienlele Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
fabienlele Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
SLT,je me quetionne est ce qu'on peut appliquer la commande swhitch avec les chaines de caracteres
bref est ce peut faire
printf("donner votre commande\n");
scanf("%s",com);
switch(com)
{
case "dir":dir(...);break;
case "cd":cov(...);break;
}
sinon donner moi une solution svp
bref est ce peut faire
printf("donner votre commande\n");
scanf("%s",com);
switch(com)
{
case "dir":dir(...);break;
case "cd":cov(...);break;
}
sinon donner moi une solution svp
A voir également:
- Aide langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage visual basic - Télécharger - Langages
- Langage basic gratuit - Télécharger - Édition & Programmation
4 réponses
houla, je pense pas. pour moi switch fonction qu'avec les entiers ( c.à d. int, long... char et enum).
je te conseil de créer une fonction et des variables.
Puis pour le switch :
je n'ai pas tester, il y a peut être des erreurs, en particulier sur strcmp, mais c'est l'esprit.
je te conseil de créer une fonction et des variables.
const char** commandes={"dir","cd",...,0} int commande_no(char* c) { int i=0; while(commande[i]!=0) {if(!strcmp(commande[i],c)) return i; i++; } return -1;//pour l'erreur commande non reconnue }
Puis pour le switch :
switch(commande_no(com)){case 0:...//commande dir case1:... etc.
je n'ai pas tester, il y a peut être des erreurs, en particulier sur strcmp, mais c'est l'esprit.
merci,c'est une bonne solution,mais je suis tombé ds un autre brobleme
en faite j'essai de faire un programme qui simule les commandes de ms_dos sur les repertoires et fichiers avec l'aide des arbres
mon pbleme que le pgramme comprent par exemples:
c:\cd rep1
j'ai pense de faire une fonction qui se charge de prendre la chaine de caractere apres chaque espace ,je me qustionne est ce qu'il ya une fonction predefinie realisant se travaille,sinon es ce qe tu as une autres solution
en faite j'essai de faire un programme qui simule les commandes de ms_dos sur les repertoires et fichiers avec l'aide des arbres
mon pbleme que le pgramme comprent par exemples:
c:\cd rep1
j'ai pense de faire une fonction qui se charge de prendre la chaine de caractere apres chaque espace ,je me qustionne est ce qu'il ya une fonction predefinie realisant se travaille,sinon es ce qe tu as une autres solution
Houla, je suis nul en liste chainée... Père fils machin, je trouve ça lourd et je m'y perd très vite.
pour les chaines de caractère, il y a pas mal de fonction prédéfini dans les entêtes standard (stdio, stdlib...) sinon, il y a aussi string.h
Vois là : https://en.cppreference.com/w/
C I/O et string, tu devrai trouver ton bonheur.
pour les chaines de caractère, il y a pas mal de fonction prédéfini dans les entêtes standard (stdio, stdlib...) sinon, il y a aussi string.h
Vois là : https://en.cppreference.com/w/
C I/O et string, tu devrai trouver ton bonheur.
en faite j'essai de faire un programme qui simule les commandes de ms_dos sur les repertoires et fichiers avec l'aide des arbres
mon pbleme que le pgramme comprent par exemples:
c:\cd rep1
j'ai pense de faire une fonction qui se charge de prendre la chaine de caractere apres chaque espace ,je me qustionne est ce qu'il ya une fonction predefinie realisant se travaille,sinon es ce qe tu as une autres solution
avec la structure
struct arbre
{
char type[2];
char date[9];
char ut[11];
char nom[31];
int taille;
struct arbre *pere;
struct arbre *fils;
};typedef struct arbre ARBRE;
ce programme simule en +- MSDOS c.a.d commende login <utilisateur> ,cd <nom,type.....> ,dir...
type :fichier ou repertoire
date :date de creation
ut:utilisateur
nom:nom de rep ou fich
taille de fich
Configuration: Windows XP
Firefox 1.5.0.3