
| Page Précédente 1 2 3 4 5 6 7 ... 50 51 52 53 Suivante | |||||
| Auteur | Message | ||||
|---|---|---|---|---|---|
| 1 visiteur sur ce sujet (1 Anonyme) | |||||
| Page Précédente 1 2 3 4 5 6 7 ... 50 51 52 53 Suivante | |||||
shareman
|
# Posté le 22/10/2008 à 17:34:40 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Reprise du dernier message de la page précédente :
Correction pour zReaderEnvois des résultats à réponse : 10 J'ai donc décidé d'apporter la correction du premier exercice de ce topic aujourd'hui. Un codage "simple" pour atteindre le but de l'exercice n'aurait pas dû poser de gros problèmes. Tout ce qu'il fallait savoir se trouvait dans le tutoriel de m@teo21. Dans les codes que j'ai reçu, c'était quasiment toujours de la qualité et tous les codes fonctionnaient correctement. Je reprocherais donc juste à certains de ne pas permettre à l'utilisateur de zReader de retourner au menu. Voici donc mon code, il n'est pas parfait mais exploite déjà pas mal de notions du tuto de m@teo21 : Secret (cliquez pour afficher) Code : C
Nous avons ici une utilisation des notions de structure, d'allocation dynamique, de define, de manipulation des fichiers, etc... Ce soir encore j'espère : le prochain exercice.
Édité
le 22/10/2008 à 18:32:50
par shareman
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
noob4ever
|
# Posté le 22/10/2008 à 17:45:20 | ||||
|
戦争は変わった
Ville : Gilly sur isère |
Tu rends les corrections en C99 ? Sinon, attention aux déclarations de variable à un endroit arbitraire.
|
||||
shareman
|
# Posté le 22/10/2008 à 18:00:23 | ||||
charlotte <3![]()
Ville : Mertzwiller |
En C99 oui.
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
Erosquare
|
# Posté le 22/10/2008 à 18:16:44 | ||||
![]()
|
Quand on fait des corrections, faudrait penser à bien vérifier son code.Code : Console
|
||||
yoch
|
# Posté le 22/10/2008 à 18:28:52 | ||||
![]()
|
Citation : correction
Code : C
Cette fonction est mauvaise, car si l'utilisateur appuie effectivement sur entrer, rien ne se passe ! Ceci fonctionne correctement : Code : C
Sinon, je trouve un peu dommage que le probleme évoqué plus haut par DzEt4 n'ait pas été traité dans la correction. |
||||
shareman
|
# Posté le 22/10/2008 à 18:30:59 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Arf, une erreur c'est glissé dans le code ? Je l'ai codé rapidement juste avant de poster alors c'est possible, je vais rapidement voir sa.
Effectivement pour getchar(), c'est parce que j'ai d'abord écrit wait() puis j'ai ajouté buf() sans y prêter attention. Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
yoch
|
# Posté le 22/10/2008 à 18:38:34 | ||||
![]()
|
Pour le reste, il suffit de tester correctement les fopen(). (la fonction creat aussi n'est pas safe)
Édité
le 22/10/2008 à 18:39:45
par yoch
|
||||
Erosquare
|
# Posté le 22/10/2008 à 18:42:17 | ||||
![]()
|
Évite également de donner des noms à tes fonctions qui existent déjà. Bon d'accord, wait() n'est pas POSIX mais c'est un appel système qui existe sur les systèmes linux.
|
||||
shareman
|
# Posté le 22/10/2008 à 18:43:21 | ||||
charlotte <3![]()
Ville : Mertzwiller |
yoch : C'est pas très beau, j'aurais aussi pu faire en sorte que l'utilisateur entre le nom et l'extension du fichier mais bon, les débutants auront ainsi l'occasion de découvrir certaines techniques. Si j'ouvre en w, inutile de tester fopen.
Erosquare : Oui, merci pour l'info. Je suis sous windows.
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
yoch
|
# Posté le 22/10/2008 à 18:46:44 | ||||
![]()
|
Citation : crys'
Si j'ouvre en w, inutile de tester fopen. Tu crois ? Essaye de mettre <enter> comme nom de fichier (par exemple)...
Édité
le 22/10/2008 à 18:52:42
par yoch
|
||||
shareman
|
# Posté le 22/10/2008 à 19:02:04 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Ah d'accord. Ok, j'ai un peu raté ma correction car j'ai fais sa trop vite. Je prendrais mon temps la prochaine fois.
Le prochain exercice, moins complexe et plus abordable pour les débutants : Titre : zBinary N° et mois : 2, octobre Sujet : Algorithmique, binaire ObjectifL'objectif de cet exercice est de réaliser un convertisseur de valeurs en base décimal (10) vers la base binaire (2). L'exo vous entraînera à l'algorithmique et à la compréhension de la base binaire. C'est un très bon exercice et tout ce qu'il vous faut se trouve sur ce site. Cherchez par exemple le tutoriel sur les conversions de bases ou essayer de trouver une autre méthode pour déterminer une valeur binaire. Code : Console - Exemple
edit : Le programme ne devra que convertir les entiers positifs sur l'intervalle [0;+inf[ . Bonne chance !
Édité
le 22/10/2008 à 22:22:59
par shareman
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
Brugnar
|
# Posté le 22/10/2008 à 19:08:34 | ||||
|
Pong 4ever
études : IUT Annecy |
|||||
shareman
|
# Posté le 22/10/2008 à 19:35:16 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Effectivement, c'est un exercice bien connu.
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
-Triskel-
|
# Posté le 22/10/2008 à 20:17:50 | ||||
@lias azerty ou samyazerty... ![]()
|
Ouais ! ça te dérange si je te passe (dans un futur proche) mon code, avec en plus l'hexa et l'octal (même si l'octal est plus trop utiliser je trouve ça marrant
).D'ailleurs si je puis me permettre de conseiller amusez vous à coder le convertisseur en rajoutant donc l'hexadécimal (base 16) et l'octal (base 8). PS: crys'> si ça te dérange que je propose un truc tu me dit j'édite mon message . Que tu n'ai pas l'impression que je te pique ton topic (très bien fait d'ailleurs).
L'impossible est impossible! Linux: y a moins bien, mais c'est plus cher! --------------------------------------------------------------------------------------------------------------------------- Logram: OS évolutif et performant (www.logram-project.org) |
||||
zx-spectrum
|
# Posté le 22/10/2008 à 20:29:15 | ||||
http://www.worldofspectrum.org![]()
|
Bonjour,
Le nombre décimal(en base 10) à convertir en base 2 : est il un entier ou un réel ? doit on s'occuper en plus de son signe (négatif ou positif)? Et si en plus on rajoute une puissance de 10 .......... -----> ici l'excercice ne serait plus pour des novices si c'est le cas ? En tout les cas c'est hors de ma portée ! @+ |
||||
shareman
|
# Posté le 22/10/2008 à 20:37:20 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Non, uniquement les entiers positifs sur l'intervalle [0;+inf[ .
Pour la proposition de -Triskel-, il n'y a pas de soucis, vous pouvez m'envoyer un convertisseur de bases qui gère l'hexa et l'octal si vous le souhaitez mais n'en faites pas trop.
Édité
le 24/10/2008 à 23:38:54
par shareman
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
zx-spectrum
|
# Posté le 22/10/2008 à 20:46:17 | ||||
http://www.worldofspectrum.org![]()
|
ouf j'ai eu peur
ca va etre un peu plus simple. je m'attele à la tache pour la base 8 & 16 @+
|
||||
-Triskel-
|
# Posté le 22/10/2008 à 21:08:15 | ||||
@lias azerty ou samyazerty... ![]()
|
En fait je crois que j'ai fait des heureux
!
L'impossible est impossible! Linux: y a moins bien, mais c'est plus cher! --------------------------------------------------------------------------------------------------------------------------- Logram: OS évolutif et performant (www.logram-project.org) |
||||
mcyrb
|
# Posté le 22/10/2008 à 21:39:16 | ||||
![]()
études : Paris 6 - Université Pierre et Marie Curie (Jussieu) |
Pour un supplément, la conversion en base n serait sans doute plus intéressante, parce que l'octal et l'hexa, avec les formats de printf en une seule ligne de code c'est réglé.
|
||||
shareman
|
# Posté le 22/10/2008 à 21:43:13 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Effectivement, c'est pourquoi le sujet est la conversion en binaire. Mais si les participants font aussi l'octal et l'hexa, ils devront coder une fonction qui le fait par eux-même et pas utiliser l'astuce printf.
Pour l'idée de la base n, je pense que c'est une mauvaise idée parce que c'est un exercice qui n'est pas trop à la porté d'un débutant, restons le plus basique possible.
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
-Triskel-
|
# Posté le 22/10/2008 à 21:47:43 | ||||
@lias azerty ou samyazerty... ![]()
|
Oui, codé un convertisseur pour la base n, je pense pas que ça soit à la portée de tous... je sais même pas pour moi
![]() EDIT: ah bah si au fait c'est fait !
Édité
le 23/10/2008 à 21:37:24
par -Triskel-
L'impossible est impossible! Linux: y a moins bien, mais c'est plus cher! --------------------------------------------------------------------------------------------------------------------------- Logram: OS évolutif et performant (www.logram-project.org) |
||||
mcyrb
|
# Posté le 22/10/2008 à 21:57:14 | ||||
![]()
études : Paris 6 - Université Pierre et Marie Curie (Jussieu) |
Au final le principe de conversion d'une base à l'autre est toujours le même, quelle que soit la base utilisée, et ceux qui codent également l'hexa et l'octal, en s'y prenant correctement ils vont vite s'en rendre compte.
La seule difficulté est de trouver une représentation adéquat des caractères pour une base > 10, (voire une base > 36 en reprenant le principe de la représentation hexadécimale), mais rien n'empêche de fixer n dans l'intervalle [2;10]. |
||||
shareman
|
# Posté le 22/10/2008 à 22:20:58 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Je suis d'accord, c'est toujours le même principe.
Donc les zér0s qui voudront coder un convertisseur dont la base est au choix ont bien sûr le droit. Mais si j'ai fixé l'exo sur la base binaire, c'est parce que c'est primordial de bien connaître cette base si l'on programme (quel est la base compréhensible par un ordinateur ?) et quoi de mieux qu'un convertisseur pour bien assimiler la chose. D'autre part, il existe de nombreuses techniques pour trouver la valeur binaire d'un nombre dans une autre base. Les divisions, les soustractions ... mais aussi l'accès directe aux bits de l'ordinateur ! D'ailleurs, je crois que c'est cette méthode que je vais utiliser lors de la correction. Je ne compte pas tout vous révéler dés maintenant quand même. Allez, au boulot !
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
yoch
|
# Posté le 22/10/2008 à 22:50:59 | ||||
![]()
|
Citation : mcyrb
Pour un supplément, la conversion en base n serait sans doute plus intéressante, parce que l'octal et l'hexa, avec les formats de printf en une seule ligne de code c'est réglé. Je trouve moi aussi que c'est une bonne idée de penser a la généricité des fonctions lorsque l'on code. C'est d'ailleurs précisément ce que j'ai fait dans mon code. Mais mon prog ne propose que le binaire, l'octal et l'hexa, car je trouve les autres pas très utiles. |
||||
Human-Behind
|
# Posté le 23/10/2008 à 09:51:48 | ||||
To live for love.![]()
|
Bonjour à tous,
Faut il faire un menu pour zBinary ? Ou bien on demande juste le nombre à "convertir" en base n , on affiche le resultat et on quitte le programme une fois que c'est fait ? Personellement, j'ai fait de tel maniere que l'utilisateur puisse convertir son nombre en base n (n >=2 et n <=10)
|
||||
shareman
|
# Posté le 23/10/2008 à 13:28:56 | ||||
charlotte <3![]()
Ville : Mertzwiller |
je pense que le mieux serait un programme sans menu (ce n'est pas important ici) mais qu'il tourne en boucle tant que l'utilisateur n'a pas tapé une certaine valeur (par exemple une négative ou pourquoi pas un caractère ou une chaîne).
Human-Behind : Ton programme convertit en base n mais quel est la base de départ (la base du nombre que l'utilisateur veut convertir) ? Au choix aussi ? Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
Human-Behind
|
# Posté le 23/10/2008 à 14:14:33 | ||||
To live for love.![]()
|
Citation : crys'
Human-Behind : Ton programme convertit en base n mais quel est la base de départ (la base du nombre que l'utilisateur veut convertir) ? Au choix aussi ? La base de départ est la base decimal ( 10 ) , il faut aussi laisser le choix de la base de départ à l'utilisateur ? Sa vas devenir compliqué |
||||
Jaloyan1
|
# Posté le 23/10/2008 à 19:23:13 | ||||
Sms = portable,forum = clavier![]()
|
c'est un peu complexe pour un débutant non?(c'est de l'ironie, c'est sur que c'est pas très difficile)
Moi sa m'avais paru très difficile, car je ne maitrisais pas les tableaux. Mais ce qui serait très instructif, ca serait de voir les différents algorithmes utilisés par les zéros, bon je vais me lancer dans celui la aussi sans consulter d'autres algos, avec le bon vieux algo que j'avais appris il y a 2 ans rien que pour frimer devant les copains.
Édité
le 23/10/2008 à 19:23:48
par Jaloyan1
Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. int x = 0;
x >?= (a < b)?((a < c)?((a < d)?a:d):((c < d)?c:d)):((b < c)?((b < d)?b:d):((c < d)?c:d));
Quelqu'un a compris ce que ce code fait? |
||||
shareman
|
# Posté le 23/10/2008 à 19:49:33 | ||||
charlotte <3![]()
Ville : Mertzwiller |
Citation : Human-Behind
La base de départ est la base decimal ( 10 ) , il faut aussi laisser le choix de la base de départ à l'utilisateur ? L'énoncé fixé à la base, c'est uniquement un convertisseur décimal -> binaire. ![]() edit : Je vais fixer la date de la correction cette fois.
Édité
le 23/10/2008 à 19:50:22
par shareman
Nouvel atelier : Codez votre propre petit préprocesseur pour langage C ! Citation : Woody Allen Si l'au-delà existe, c'est à quelle distance du centre ville, et c'est ouvert jusqu'à quelle heure ? |
||||
zx-spectrum
|
# Posté le 23/10/2008 à 21:06:08 | ||||
http://www.worldofspectrum.org![]()
|
bonjour
j'affiche mon code. Qu'en penses tu ? @+ Secret (cliquez pour afficher) Code : C
|
||||
Brugnar
|
# Posté le 23/10/2008 à 21:11:06 | ||||
|
Pong 4ever
études : IUT Annecy |
Bonsoir,
trop d'appel à printf , tu pourrais l'appeler beaucoup moins souvent. Au lieu de faire :Code : C
Tu peux faire : Code : C
Sinon la partie conversion me semble pas mal. |
||||
Retour au forum "Langage C" ou à la liste des forums
Le Site du Zéro vous proposera bientôt de nouveaux cours partant de Zéro dans d'autres domaines que l'informatique !

