[C} DO...While + un condition - C - Programmation
Marsh Posté le 14-12-2005 à 21:56:16
peut etre avec switch ??
la nuit porte conseil (il parait ..) je verrais demain en tout cas si vous
avez pas besoin de dormir pour voir une solution merci d'avance ..
Marsh Posté le 14-12-2005 à 23:05:56
Bouh que c'est pas beau... C'est quoi ce délire avec les () ?
|
Pose des questions si tu ne comprends pas...
Citation : je voudrais savoir comment on peut faire pour que de 1 à 2 cela s'exectue plusieur fois avant de me demander si je veux continuer ... |
Une boucle...
Citation : j'ai pensé a sa mais sa ne marche pas .. (la premiere fois si parfaitement mais la snd ne sarrete plus c'est a dire qu'il me demande un fois si je ve continuer puis il ne me le demande plus ..) |
Un problème probablement dû au mauvais choix de la fonction de saisie. Corrigé ci-dessus. Détails ici :
http://mapage.noos.fr/emdel/notes.htm#saisie
http://mapage.noos.fr/emdel/notes.htm#fichiers
Marsh Posté le 15-12-2005 à 09:49:52
Hum... moi j'ai juste une question sur la ligne
nb[i] = (int) ((double)rand() / ((double)RAND_MAX + 1) * 10); |
Tous ces cast sont-ils vraiment nécessaires ? Dans une opération mathématique, l'ensemble des opérandes est converti dans la valeur de l'opérande le plus fort. Alors je pense qu'elle peut être avantageusement remplacée par la ligne suivante:
nb[i] = (int) (rand() / (RAND_MAX + 1.0) * 10); |
Non ???
Marsh Posté le 15-12-2005 à 12:12:55
salut je pouvais pas me connecter alors j'ai plancher la dessus et j'ai trouver exactement ce que je cherchais
Code :
|
enfaite ton code fais la meme chose que si je suppprime le premier do...while et que j'insere la question dans le 2eme.. seulement je n'ai qu'un essaie (ou 2 de ta facon ..)
Marsh Posté le 15-12-2005 à 12:14:19
Dans ce cas-là tu ferais mieux d'utiliser une boucle for(;;)
Marsh Posté le 15-12-2005 à 12:21:35
est ce que tu peux detailler pour quoi il faudrait mieux ?
ps: apres avoir lu ton code j'ai améliorer le mien
Code :
|
Marsh Posté le 15-12-2005 à 12:42:31
comme sa tu veux dire avec for(;
Code :
|
Marsh Posté le 15-12-2005 à 12:48:44
magiclazy a écrit : est ce que tu peux detailler pour quoi il faudrait mieux ? |
Tu as écris ceci :
int essai = 0; |
Je te propose de l'écrire comme ceci :
int essai; |
(ceci hors considérations de simple logique, parce qu'avec ce que tu as écris, on est bon pour 5 essais, même si on gagne)
magiclazy a écrit : ps: apres avoir lu ton code j'ai améliorer le mien |
1. c'était celui d'Emmanuel, pas le mien
2. ça m'étonnerait que tu l'aies lu. Exemple : c'est quoi ton délire avec les parenthèses ?
Pourquoi tu écris des trucs aussi laids que : essai = (essai + 1) ?!
"essai = essai + 1" ne te convient pas ? (sans compter les syntaxes facilitantes, comme "essai += 1" ou encore "essai++" )
De même, pourquoi répéter les mêmes instructions dans la partie "else" d'un if au final ? Autant n'écrire ces instructions qu'une seule fois, en dehors du if. C'est de la simple logique.
Marsh Posté le 15-12-2005 à 12:53:40
ps: je cherche des tutos pour utiliser des commandes comme fopen ()parceque j'ai un peu du mal avec les man voila
Marsh Posté le 15-12-2005 à 12:56:11
creat() étant une fonction POSIX (comprendre : unixoïdes), je te suggère d'utiliser fopen(), qui est standard.
creat() n'est utile que pour créer un fichier vide avec des droits Unix particuliers.
Marsh Posté le 15-12-2005 à 13:03:42
magiclazy a écrit : ps: je cherche des tutos pour utiliser des commandes comme creat ()parceque j'ai un peu du mal avec les man voila |
http://fr.lang.free.fr/cours/Fichiers_Csyst_v1.0.pdf
Marsh Posté le 15-12-2005 à 13:06:20
merci c'est exactement sa sauf que moi je suis sous win ..
[EDIT] donc c'est pas creat() mais fopen() par exemple ..
Marsh Posté le 15-12-2005 à 13:20:10
magiclazy a écrit : merci c'est exactement sa sauf que moi je suis sous win .. |
Ah ? Tu as parlé de "man" donc je t'ai cru sous Unixlike
http://fr.lang.free.fr/cours/Langa [...] e_v2.0.pdf => il y a un gros chapitre sur les fonctions de la bibliothèque standard et un sous-chapitre concernant les fichiers
Marsh Posté le 15-12-2005 à 13:28:23
parfait merci beaucoup
[EDIT]P130 est ce que tu peux me donner un exemple pour (par exemple) ouvre aa.txt dans C:\ ?
merci d'avance
Marsh Posté le 15-12-2005 à 13:37:57
magiclazy a écrit : ps: je cherche des tutos pour utiliser des commandes comme fopen ()parceque j'ai un peu du mal avec les man voila |
Sinon tu a aussi les pages du sieur Delahaye qui sont pas mal faites je trouve (enfin elles m'ont deja servies ...)
Pour fopen() c'est dans le 2e lien
Emmanuel Delahaye a écrit : http://mapage.noos.fr/emdel/notes.htm#saisie |
Marsh Posté le 15-12-2005 à 13:41:07
effectivement c assez pratique les exemples ..merci
Marsh Posté le 15-12-2005 à 14:02:55
un petit truc quelqun aurait un tuto ou autre pour exiplequer comment lire et utiliser ceci (en autre)
int printf (const char *format, ...);
int fprintf (FILE *stream, const char *format, ...);
int sprintf (char *str, const char *format, ...);
int snprintf (char *str, size_t size, const char *format, ...);
parceque je ne sais j'amais pas quoi remplacer ..
merci
Marsh Posté le 15-12-2005 à 14:15:53
http://www.linux-france.org/articl [...] ntf-3.html
Pour avoir ce genre d'infos, dans google tu tapes "man nomdelafonction" et ca va te donner les man correspondants.Meme si t'es pas copain avec l'anglais ya 99% de chances qu'il y en ait une en francais
Marsh Posté le 15-12-2005 à 14:30:19
magiclazy a écrit : un petit truc quelqun aurait un tuto ou autre pour expliquer comment lire et utiliser ceci (en autre) |
Non. Il y a des limites au tuto. Si tu sais pas ce qu'est un "const char *format" ou un "FILE *stream", alors le seul tuto valable c'est de recommencer au tout début de l'apprentissage du C et essayer de retrouver l'info que t'as sautée ce jour là...
Marsh Posté le 15-12-2005 à 14:54:50
magiclazy a écrit : un petit truc quelqun aurait un tuto ou autre pour exiplequer comment lire et utiliser ceci (en autre) |
Il est temps de suivre un vrai cours de C...
http://www-clips.imag.fr/commun/be [...] NSI_C.html
Marsh Posté le 15-12-2005 à 16:39:29
super merci c'est exactement ce qu'il me fallait
Marsh Posté le 15-12-2005 à 22:28:51
juste un ptit truc parceque je vais pas ouvrir un topic pour sa
comment lancer par exemple netstats -a depuis mon prog en c et enregistrer le resultat dans un txt ?
Marsh Posté le 15-12-2005 à 23:28:59
magiclazy a écrit : juste un ptit truc parceque je vais pas ouvrir un topic pour sa |
system("netstats -a >fic.txt" ) |
ou bien
FILE *fin; |
Marsh Posté le 16-12-2005 à 06:48:13
Si tu veux faire ça à la mano (ce qui est à la fois instructif et plus efficace que les deux solutions ci-dessus), ça se passe comme ça :
Code :
|
Marsh Posté le 16-12-2005 à 15:33:39
sv@er PARFAIT merci bcp
Marsh Posté le 14-12-2005 à 21:54:05
je voudrais savoir comment on peut faire pour que de 1 à 2 cela s'exectue plusieur fois avant de me demander si je veux continuer ...
j'ai pensé a sa mais sa ne marche pas .. (la premiere fois si parfaitement mais la snd ne sarrete plus c'est a dire qu'il me demande un fois si je ve continuer puis il ne me le demande plus ..)
---------------
signature du message