dans un programme je vais etre amené à devoir taper des lignes du style "modify eta 0.3" lorsque le programme me le demandera.
Vous savez comment faire ?
ce que je veux, c'est taper "modify parametres nouvelle_valeur", que le programme repère que je veux modifier quelque chose, puis qu'il prenne le nom du paramètre à modifier, et enfin qu'il le modifie en tenant compte de la nouvelle valeur (ce n'est pas forcément un entier) que je veux lui donner.
attention, je ne cherche pas à ce qu'il fasse directement dans le programme parametre=nouvelle_valeur, ce serait trop compliqué et dangereux. Apres que le programme ait repéré que je veux modifier quelque chose, je ferai un switch pour savoir quel variable correspond au "paramètre" rentré par les soins de l'utilisateur.
merci :)
si vous voulez d'autres précisions, je suis à votre disposition
-------
Coluche : "Le capitalisme, c'est l'exploitation de l'homme par l'homme. Le syndicalisme, c'est le contraire."
if (strcmp(commande,"quit")==0) {exit(EXIT_SUCCESS);}
sig=0;
} [/code]
et que je fait Ctrl+C, ca marche comme il faut : il marque user > et s'arrete.
en revanche, quand ma fonction est
[code]
void demande (void)
{
char commande[32];
printf ("user > ");
/*scanf("%s",commande);*/
gets(commande);
printf("%s\n",commande);
if (strcmp(commande,"quit")==0) {exit(EXIT_SUCCESS);}
sig=0;
} [/code]
le premier Ctrl-C ne marche pas, enfin ca affiche user > mais ca ne s'arrete pas. C'est le deuxieme qui marche. Je prefererais que ca marche dès le premier moi.
Tu as une idée d'ou ca peut venir ?
-------
Coluche : "Le capitalisme, c'est l'exploitation de l'homme par l'homme. Le syndicalisme, c'est le contraire."
la,j'ai beau reflechir, je vois pas trop d'ou peut venir ton pb de Crtl-C
Cette fonction, c'est un peu juste pour avoir une vue globale du truc...
voila j'utilise les signaux pour pouvoir convertir le Ctrl-C qui quitte le programme en un Ctrl-C qui interromp les calculs et me redonne la main pour que je puisse effectuer certaines modifications.
voici qq fonctions en vrac :
[code]
void handINT ( int signo)
{
sig=1;
}
/* dans main : */
for (i=0;i<nombre;i++) {
/* pas mal de boucles et d'instructions */
signal (SIGINT, handINT) ;
if (sig==1) {demande();} /* si sig=1, c a d si j'ai fait Ctrl-C, je donne la main à l'utilisateur */
}
[/code]
voila, la t'as a peu pret toute la structure importante pour comprendre le but de ma fonction demande(), mais je vois pas pourquoi ca fait ce que j'ai mis dans mon post plus haut
-------
Coluche : "Le capitalisme, c'est l'exploitation de l'homme par l'homme. Le syndicalisme, c'est le contraire."
parceque t'es plus en avance que moi en C alors que je suis en bts informatique
j'ai choisi de passer au C, comme j'avais choisi d'apprendre le visual basic (sans trop de succes) y a environ 6 ans, le perl y a 4 ans, le php y a environ 3 ans. En plus, le passage du php au C s'est fait assez facilement, étant donné qu'il y a assez peu de différence entre les deux langages (le C est juste bcp plus raide).
j'ai jamais eu un seul prof d'info, c'est moi qui ai décidé d'apprendre à programmer pour faire des sites web, puis la le C pour mon tipe.
mais par contre tu dois apprendre plus en détails que moi, moi je n'apprends que ce qui m'est utile pour mon programme, par exemple je connais le strict minimum au niveau des pointeurs (je les utilise que pour faire des tableaux), et je ne connais pas les structures (enfin si j'en ai besoin un jour, j'apprendrai a m'en servir).
En plus, je demande pas mal de renseignements sur les parties de programme que je n'arrive pas à faire sur des forums, ou à deux gars de ma classe qui sont vraiment forts en C.
-------
Coluche : "Le capitalisme, c'est l'exploitation de l'homme par l'homme. Le syndicalisme, c'est le contraire."
ca résoud pas mon probleme de premier Ctrl-C qui marche pas et j'ai l'impression que ca prend aussi le retour-chariot, ce qui est un peu génant pour moi
-------
Coluche : "Le capitalisme, c'est l'exploitation de l'homme par l'homme. Le syndicalisme, c'est le contraire."
enfin j'ai bien plus bossé apres les cours que pendant :D
sinon, y a pas un équivalent en C de la fonction explode ?
ce que je veux c'est deja détecter le nombre d'espaces dans ma chaine, puis comparer les caracteres avant le premier espace à certains mots, et si nécessaire comparer le deuxieme mot à certains mots, puis regarder la fin de la chaine de caracteres
vous savez comment faire ?
-------
Coluche : "Le capitalisme, c'est l'exploitation de l'homme par l'homme. Le syndicalisme, c'est le contraire."
Mais ce que je voudrais c'est faire un switch pour les différentes possibilités de mot0, et pour ca il faudrait que je sache mettre la ligne au dessus sous la forme