dentmane
Messages postés2Date d'inscriptionsamedi 13 novembre 2004StatutMembreDernière intervention 5 janvier 2005
-
4 janv. 2005 à 21:25
cs_Nashua
Messages postés48Date d'inscriptionlundi 29 novembre 2004StatutMembreDernière intervention16 mars 2005
-
5 janv. 2005 à 20:41
Bonjour,
Je suis débutante en C et je dois faire un projet mais j'ai un peu de mal à démarrer donc si vous avez des pistes à me proposer pour commence se serait très sympa. voilà le projet:
Il faut écrire un programme qui va gérer une liste de chaînes de caractères et les ranger correctement.
Le programme recoit sur stdin une chaîne de la forme "X chaîne" :
X représente la commande souhaitée
Chaîne la chaîne concernée par la commande
a chaîne >> ajoute une chaîne à la liste
A chaîne >> ajoute une chaîne si elle nest pas déjà présente dans la liste
d chaîne >> détruit toutes les occurrences de la chaîne dans la liste
D chaîne >> détruit la première occurrence de la chaîne dans la liste
f chaîne >> si la chaîne est présente dans la liste affiche 1 sinon affiche 0
En fait, la clé du projet est que les différentes commandes doivent etre exécutées en un temps le plus faible possible(la rapidité est le critère majeur.
meech
Messages postés209Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention14 août 2007 4 janv. 2005 à 22:17
Salut,
Quelques précisions s'il te plaît :
+ toutes ces actions doivent-elles être réalisées au sein d'un seul et unique programme ?
+ les chaînes ajoutées (ou retirées) doivent-elles être stockées dans un fichier ?
+ si j'ai bien compris la finalité est d'obtenir un programme exécutable dont l'utilisation serait de ce genre : commande [option] < chaine
cs_Nashua
Messages postés48Date d'inscriptionlundi 29 novembre 2004StatutMembreDernière intervention16 mars 2005 5 janv. 2005 à 06:53
Commence par faire une liste chainee ainsi que tous les utilitaires
adcell ( ajoute une cellule dans la liste) destroycell ( detruire une
cellule) et ainsi de suite.
Lorsque tu as fait tout cela traite l'interface qui peut etre comme l'exemple ci-dessous.
char line[30];
memset (line, 0, sizeof(line));
while ( fgets(line,sizeof (line) ,stdin) != EOF) {
/* verification de la syntaxe de la ligne saisie qui doit etre commande (a A d D f) argument */
switch ( line [0] ){
case 'a' :
adcell();
break;
case 'A':
adcell();
break;
case 'd':
destroycell();
break;
case 'D':
destroyfirstcell();
break;
case 'f':
testcell();
break;
default :
fprintf ( stdout,"Erreur de saisie la commande est inconnue %c",line[0]);
}
memset (line, 0, sizeof(line));
}
Attention ce n'est pas un vrai code mais un exemple!!!!
dentmane
Messages postés2Date d'inscriptionsamedi 13 novembre 2004StatutMembreDernière intervention 5 janvier 2005 5 janv. 2005 à 19:47
merçi a vous deux c gentil!
sinon meech pour te repondre toutes ces actions doivent etre faites dans un seul programme; il n'est pas précisé si les chaines ajoutées doivent etre enregistrées dans un fichier. En fait, c'est à nous de choisir la meilleure façon de les enregistrer pour que les différentes options soient éxécutées en un temps le plus bref possible(c'est le criètre principal de notation! :-( ) Et t'as bien compris la finalité du programme.
Penses tu Nashua que choisir la liste chainée soit la solution la plus rapide et la plus simple pour faire cela?