
| Page Précédente 1 2 3 4 5 6 ... 50 51 52 53 Suivante | |||||||
| Auteur | Message | ||||||
|---|---|---|---|---|---|---|---|
| 2 visiteurs sur ce sujet (1 membre et 1 Anonyme) : m@tteo78 | |||||||
| Page Précédente 1 2 3 4 5 6 ... 50 51 52 53 Suivante | |||||||
shareman
|
# Posté le 16/10/2008 à 23:55:35 | ||||||
charlotte <3![]()
Ville : Mertzwiller |
Reprise du dernier message de la page précédente :
Postes ton code, il n'y a pas de problème. Ce n'est que ainsi que l'on pourra te répondre.
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 ? |
||||||
gouttegd
|
# Posté le 17/10/2008 à 00:06:39 | ||||||
Serenity is a RAID 1 array.![]()
|
Citation : noob4ever
Citation : Pas de titre Mon second problème est que ça ne me plait pas de limiter la taille de l'adresse donnée et la taille du texte que l'on veut écrire dans le fichier choisit, y a-il un moyen pour éviter ça ? (j'ai penser a l'allocation dynamique mais je ne veut pas non plus demander a l'utilisateur de prévoir le nombre de caractères qu'il compte taper )C'est les limites de la console, la solution est de passé en IHM avec une RichTextBox. Quelles limites ? Il suffit d’allouer un bloc mémoire d’une taille donnée (arbitraire), et au cours de la saisie, de redimensionner le bloc si besoin (avec realloc), jusqu’à ce que la saisie soit terminée. Nul besoin de sortir le mode graphique (a fortiori une RichTextBox) pour ça...
Édité
le 17/10/2008 à 00:07:05
par gouttegd
« Je vous aiderai si vous me promettez d'aider quelqu'un d'autre en retour. » --- Anonyme « Soyez vigilant lorsque vous vous exprimez dans un forum électronique. Vos fautes de frappes et de syntaxe vous poursuivront pour l'éternité. » --- Linus B. Torvalds De la gestion automatique des dépendances... |
||||||
Fion
|
# Posté le 17/10/2008 à 09:55:14 | ||||||
![]()
Ville : Besançon |
Re salut!
Merci noobforever pour l'info! Mais même après lecture et relecture du tuto de matheo, moi pas comprendre XD je comprend pourquoi il faut vider le buffer, mais je comprend pas la fonction clean :S C'est ok merci
Édité
le 17/10/2008 à 10:05:27
par Fion
|
||||||
yoch
|
# Posté le 17/10/2008 à 13:09:48 | ||||||
![]()
|
Citation : gouttegd
Quelles limites ? Il suffit d’allouer un bloc mémoire d’une taille donnée (arbitraire), et au cours de la saisie, de redimensionner le bloc si besoin (avec realloc), jusqu’à ce que la saisie soit terminée. Nul besoin de sortir le mode graphique (a fortiori une RichTextBox) pour ça... +1 Mais je précise qu'en C standard, pas évident de suivre ce qui se passe au cours de la saisie (tant que l'utilisateur n'appuie pas sur entrée). Je crois qu'il faut donc faire appel a une lib tierce (ou l'API système) pour cela.
Édité
le 17/10/2008 à 13:13:12
par yoch
|
||||||
gouttegd
|
# Posté le 17/10/2008 à 17:32:04 | ||||||
Serenity is a RAID 1 array.![]()
|
@ yoch : Ah bon ?
Code : C
Il n’y a là que du C standard, et sauf erreur bête de ma part (je n’ai pas le temps de tester), ça marche. On peut ainsi lire une ligne entière (jusqu’au premier caractère '\n', c’est-à-dire jusqu’à un appui sur la touche <Entrée> si on lit depuis le terminal), quelque que soit sa longueur : Code : C
C’est plus ou moins le comportement de la fonction (non standard) getline de la bibliothèque C GNU. Donc, nul besoin de changer le comportement du terminal pour lire les caractères un par un (ce qui, effectivement, serait impossible avec la seule bibliothèque C standard). « Je vous aiderai si vous me promettez d'aider quelqu'un d'autre en retour. » --- Anonyme « Soyez vigilant lorsque vous vous exprimez dans un forum électronique. Vos fautes de frappes et de syntaxe vous poursuivront pour l'éternité. » --- Linus B. Torvalds De la gestion automatique des dépendances... |
||||||
noob4ever
|
# Posté le 17/10/2008 à 17:33:21 | ||||||
|
戦争は変わった
Ville : Gilly sur isère |
Citation : gouttegd
Citation : noob4ever Citation : Pas de titre Mon second problème est que ça ne me plait pas de limiter la taille de l'adresse donnée et la taille du texte que l'on veut écrire dans le fichier choisit, y a-il un moyen pour éviter ça ? (j'ai penser a l'allocation dynamique mais je ne veut pas non plus demander a l'utilisateur de prévoir le nombre de caractères qu'il compte taper )C'est les limites de la console, la solution est de passé en IHM avec une RichTextBox. Quelles limites ? Il suffit d’allouer un bloc mémoire d’une taille donnée (arbitraire), et au cours de la saisie, de redimensionner le bloc si besoin (avec realloc), jusqu’à ce que la saisie soit terminée. Nul besoin de sortir le mode graphique (a fortiori une RichTextBox) pour ça... On est d'accord, il y a une différence entre trouver un algorithme pour prévoir une marge de manoeuvre, faire des realloc et peut-être même se taper des memory leak et tout le blabla, et faire une petite richtextbox toute jolie. |
||||||
gouttegd
|
# Posté le 17/10/2008 à 17:37:34 | ||||||
Serenity is a RAID 1 array.![]()
|
@ noob4ever : Lis le code juste au-dessus, et dis-moi que l'API Win32 est plus simple.
« Je vous aiderai si vous me promettez d'aider quelqu'un d'autre en retour. » --- Anonyme « Soyez vigilant lorsque vous vous exprimez dans un forum électronique. Vos fautes de frappes et de syntaxe vous poursuivront pour l'éternité. » --- Linus B. Torvalds De la gestion automatique des dépendances... |
||||||
noob4ever
|
# Posté le 17/10/2008 à 17:51:40 | ||||||
|
戦争は変わった
Ville : Gilly sur isère |
Citation : gouttegd
@ noob4ever : Lis le code juste au-dessus, et dis-moi que l'API Win32 est plus simple. Dit moi si ça est plus simple ? Code : C
|
||||||
gouttegd
|
# Posté le 17/10/2008 à 18:00:12 | ||||||
Serenity is a RAID 1 array.![]()
|
OK, GTK+, si tu préfères. Et maintenant que tu as créé ta jolie RichTextBox, tu t’en sers comment ? Comment tu réagis aux entrées de l’utilisateur, comment récupères-tu le texte saisi ?
De toute façon, peu importe. Tu affirmais qu’il fallait passer à une IHM en mode graphique pour saisir du texte, ce qui est absurde et je te l’ai montré. Après, si tu ne veux pas le reconnaître ou si tu préfères ajouter une dépendance à un toolkit graphique pour un truc aussi élémentaire, c’est ton problème.
Édité
le 17/10/2008 à 18:01:38
par gouttegd
« Je vous aiderai si vous me promettez d'aider quelqu'un d'autre en retour. » --- Anonyme « Soyez vigilant lorsque vous vous exprimez dans un forum électronique. Vos fautes de frappes et de syntaxe vous poursuivront pour l'éternité. » --- Linus B. Torvalds De la gestion automatique des dépendances... |
||||||
noob4ever
|
# Posté le 17/10/2008 à 18:08:11 | ||||||
|
戦争は変わった
Ville : Gilly sur isère |
Citation : Pas de titre
ajouter une dépendance à un toolkit graphique pour un truc aussi élémentaire, c’est ton problème. élémentaire ? lol ?! et le problème de dépendre à GTK+ qui est portable ? On est pas dans la même longueur d'onde, mais si tu préfères faire compliqué je respecte ton choix .EDIT: j'oubliais, j'ai effectivement dit Citation : Pas de titre C'est les limites de la console, la solution est de passé en IHM avec une RichTextBox. Et je sais que tu es très rigoureux donc pour me corriger je remplace "limites" par inconvénient?
Édité
le 17/10/2008 à 18:10:46
par noob4ever
|
||||||
gouttegd
|
# Posté le 17/10/2008 à 18:11:48 | ||||||
Serenity is a RAID 1 array.![]()
|
Si tu préfères faire des programmes en mode graphique, je respecte ton choix.
Mais ne viens pas prétendre que la solution est de « passé (sic) en IHM » (sous-entendu, IHM graphique), parce que les autres solutions te semblent plus compliquées.[edit]Citation : noob4ever EDIT: j'oubliais, j'ai effectivement dit Citation C'est les limites de la console, la solution est de passé en IHM avec une RichTextBox. Et je sais que tu es très rigoureux donc pour me corriger je remplace "limites" par inconvénient? Non, tu remplaces toute la phrase par « je ne saurais pas le faire en mode console, donc je te propose de le faire en mode graphique à la place. » Là, ce sera correct.
Édité
le 17/10/2008 à 18:14:34
par gouttegd
« Je vous aiderai si vous me promettez d'aider quelqu'un d'autre en retour. » --- Anonyme « Soyez vigilant lorsque vous vous exprimez dans un forum électronique. Vos fautes de frappes et de syntaxe vous poursuivront pour l'éternité. » --- Linus B. Torvalds De la gestion automatique des dépendances... |
||||||
DzEt4
|
# Posté le 17/10/2008 à 18:35:11 | ||||||
![]() |
Salut à tous, je pense que je ais abandonner l'idée de taille non limitée, en effet je n'ai pas tout à fait comprit ton code gouttegd...
Pour le premier problème, voici le code de ma "fonction" lireFichier, j'utilise les fonctions de lecture de M@teo21 dans sa partie sur la saisie sécurisée : Code : C
Édité
le 17/10/2008 à 18:35:38
par DzEt4
«Qui connaît l'autre et se connaît, en cent combats ne sera point défait; qui ne connaît l'autre mais se connaît, sera vainqueur une fois sur deux; qui ne connaît pas plus l'autre qu'il ne se connaît sera toujours défait.» —L'art de la guerre - Sun Tzu |
||||||
gouttegd
|
# Posté le 17/10/2008 à 18:49:09 | ||||||
Serenity is a RAID 1 array.![]()
|
Citation : DzEt4
Salut à tous, je pense que je ais abandonner l'idée de taille non limitée, en effet je n'ai pas tout à fait comprit ton code gouttegd... C’est probablement un peu de ma faute, je l’ai écrit « à l’arrache » et je n’ai pas spécialement cherché à le rendre compréhensible du premier coup par un débutant. Le but était seulement de montrer que c’est parfaitement faisable entièrement en C standard. « Je vous aiderai si vous me promettez d'aider quelqu'un d'autre en retour. » --- Anonyme « Soyez vigilant lorsque vous vous exprimez dans un forum électronique. Vos fautes de frappes et de syntaxe vous poursuivront pour l'éternité. » --- Linus B. Torvalds De la gestion automatique des dépendances... |
||||||
Natal
|
# Posté le 17/10/2008 à 19:24:47 | ||||||
Chaque seconde compte.![]()
|
Salut à tous!
Dite moi s'il vous plait pour quel débutant vous faites ces exercices? Parce que là j'ai entamé des révisons et je pensé que je trouverai des exos sur les fonctions, des boucles etc... des trucks vraiment facile et là j'ai l'impression que vous faite des truck apprit après les pointeurs. (d'après le tuto de M@teo21)Or je fais des révisions pour être sûr de pas me prendre une raclée. (au niveau des pointeurs) Donc si quelqu'un à une idée d'éxo (mise en vrac vite fait) pour les vrais zéros, les vrais nul quoi , qu'il ne se gène pas.ps: (Au faite, j'ai un petit problème, je ne vois pas les message en entier! on dirait que mon écran est trop petit, je crois que c'est un problème de zoom, ou se trouve l'endroit pour le changer? vous savez il est écrit en %^^) Merci!
Édité
le 17/10/2008 à 19:27:36
par Natal
Vous pensez que la vie n'est qu'un long fleuve tranquille? Vous vous trompez! Chaque seconde de votre vie est en danger! |
||||||
shareman
|
# Posté le 17/10/2008 à 20:22:00 | ||||||
charlotte <3![]()
Ville : Mertzwiller |
Salut,
Ces exercices sont pour ceux qui sont en train de lire les tutoriels de m@teo21. Si tu en as fini le chapitre sur la manipulation des fichiers, tu es en mesure de d'entraîner à l'exercice zReader. Sinon, tu attends le prochain, il viendra assez rapidement. Concernant le sujet, tu seras vite fixé mais si tu as lu la première partie du cours de m@teo21, tu dois pourvoir le faire et tu ne pourras que t'améliorer ! Je conçois ces exercices pour qu'ils soient réalisables pour les débutants. Après il y a aussi plusieurs niveaux de débutants. crys' 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 18/10/2008 à 09:25:25 | ||||||
http://www.worldofspectrum.org![]()
|
bonjour Chris,
j'ai commencé l'exo, merci de prendre du temps avec nous les Zéroszeros Bon ca vaut que cela vaut je me suis pas trop preocupé du contenu du fichier a creer ! je t'envoie mon code.Code : C
Finalement j'ai le problème suivant lors de la creation de mon fichier ! la seule solution que j'ai trouvé c'est de passer par une fonction de system Comment fait on en C, dans l'excellent cours de mateo j'ai pas vu ? Merci, le 000 que je suis !
|
||||||
Brugnar
|
# Posté le 18/10/2008 à 09:39:47 | ||||||
|
Pong 4ever
études : IUT Annecy |
Citation : zx-spectrum
Finalement j'ai le problème suivant lors de la creation de mon fichier ! la seule solution que j'ai trouvé c'est de passer par une fonction de system Comment fait on en C, dans l'excellent cours de mateo j'ai pas vu ? Va relire le tuto de M@téo sur les fichiers, notamment les différent mode d'ouverture de fichiers, les parties en italique. |
||||||
ttthebest
|
# Posté le 18/10/2008 à 09:52:52 | ||||||
![]()
Ville : Paris |
|||||||
zx-spectrum
|
# Posté le 18/10/2008 à 09:54:01 | ||||||
http://www.worldofspectrum.org![]()
|
Merci, Va falloir que je m'achète des binocles !
reponse : mode d'ouverture "a+" merci.
|
||||||
Brugnar
|
# Posté le 18/10/2008 à 09:56:22 | ||||||
|
Pong 4ever
études : IUT Annecy |
Citation : zx-spectrum
Merci, Va falloir que je m'achète des binocles ! reponse : mode d'ouverture "a+" merci. ![]() Il n'y a pas que a+. w, a, w+, a+. |
||||||
mumbly
|
# Posté le 18/10/2008 à 10:02:27 | ||||||
![]()
|
Je suis aussi un gros triple zéro, je fait l'exercice aussi et voila ce que je fait pour créer mon fichier si sa peut t'aider.
Code : C
édité : correction de mon ereure faut toujours ce relire.
Édité
le 18/10/2008 à 10:09:50
par mumbly
|
||||||
Brugnar
|
# Posté le 18/10/2008 à 10:05:03 | ||||||
|
Pong 4ever
études : IUT Annecy |
Code : C
Erreur dans le format, pour une chaine de caractère, c'est %s |
||||||
shareman
|
# Posté le 18/10/2008 à 13:08:12 | ||||||
charlotte <3![]()
Ville : Mertzwiller |
Citation : ttthebest
Au fait crys' quand on t'envoie un code est-ce que tu réponds en disant genre "tu pourrais améliorer ici, ou là" ou "non ton truc bugue ici", etc. ? Quand c'est nécessaire, sinon, je ne fais que regarder vos codes et tester s'ils fonctionnent. Lors de la correction de l'exercice, je pourrais par exemple retenir tel ou tel code et le présenter à tous.
Édité
le 18/10/2008 à 13:09:34
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 ? |
||||||
ttthebest
|
# Posté le 18/10/2008 à 15:04:27 | ||||||
![]()
Ville : Paris |
|||||||
yoch
|
# Posté le 18/10/2008 à 20:14:52 | ||||||
![]()
|
Citation : gouttegd
@ yoch : Ah bon ? Code : C
Il n’y a là que du C standard, et sauf erreur bête de ma part (je n’ai pas le temps de tester), ça marche. On peut ainsi lire une ligne entière (jusqu’au premier caractère '\n', c’est-à-dire jusqu’à un appui sur la touche <Entrée> si on lit depuis le terminal), quelque que soit sa longueur : Code : C
C’est plus ou moins le comportement de la fonction (non standard) getline de la bibliothèque C GNU. Donc, nul besoin de changer le comportement du terminal pour lire les caractères un par un (ce qui, effectivement, serait impossible avec la seule bibliothèque C standard). Mea culpa, je suis stupide de ne pas avoir pensé a fgetc... Merci de m'avoir corrigé ! Je me permet de corriger un petit oubli dans ta fonction : Code : C
J'aurais pensé que l'on ne peut pas corriger la saisie, mais j'ai testé et on peut... Des explications ? |
||||||
gouttegd
|
# Posté le 18/10/2008 à 20:43:21 | ||||||
Serenity is a RAID 1 array.![]()
|
Citation : yoch
Je me permet de corriger un petit oubli dans ta fonction : Code : C
Naturellement, c’était un oubli volontaire, pour voir si tout le monde suivait. ![]() Citation : yoch J'aurais pensé que l'on ne peut pas corriger la saisie, mais j'ai testé et on peut... On n’a pas changé le comportement du terminal, donc celui-ci continue à n’envoyer la saisie à l’application qu’après un appui sur <Entrée>. Tant qu’on a pas appuyé sur <Entrée>, la chaîne saisie est encore au niveau du terminal, et il donc encore possible de l’éditer. À l’appui de <Entrée>, le terminal envoie toute la chaîne à l’application, où elle est stockée dans le tampon de la bibliothèque C associé à stdin. C’est dans ce tampon que fgetc va chercher les caractères un par un. Si tu voulais vraiment recevoir les caractères sitôt après la frappe de la touche correspondante (et non après <Entrée>), il est indispensable de changer le comportement du terminal, ce qui, pour le coup, n’est effectivement pas possible en C standard. « Je vous aiderai si vous me promettez d'aider quelqu'un d'autre en retour. » --- Anonyme « Soyez vigilant lorsque vous vous exprimez dans un forum électronique. Vos fautes de frappes et de syntaxe vous poursuivront pour l'éternité. » --- Linus B. Torvalds De la gestion automatique des dépendances... |
||||||
yoch
|
# Posté le 18/10/2008 à 21:38:55 | ||||||
![]()
|
Merci pour ces precisions !
|
||||||
shareman
|
# Posté le 19/10/2008 à 16:05:43 | ||||||
charlotte <3![]()
Ville : Mertzwiller |
Salut à tous,
Je ne serais pas là du dimanche 26 au jeudi 30, je posterais donc le prochain exercice (et la correction du premier si j'ai le temps) un peu plus tôt que prévu (mercredi ou samedi). Merci pour votre compréhension. 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 20/10/2008 à 18:46:46 | ||||||
http://www.worldofspectrum.org![]()
|
On te souhaites de bonne vacances.
merci pour ton initiative du 000 que je suis ! @+ |
||||||
zoukini22
|
# Posté le 21/10/2008 à 23:32:21 | ||||||
|
|
Conseil très très utile a mon avis, faire beaucoup plus d'exercice. Et aussi des exercices "amusants", par exemple des jeux comme Plus ou moins, ou encore le pendu. Les gens adorent programmer des jeux
a++! |
||||||
shareman
|
# Posté le 22/10/2008 à 17:34:40 | ||||||
charlotte <3![]()
Ville : Mertzwiller |
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 ? |
||||||
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 !

