Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#4001 Le 23/10/2011, à 17:31

Kanor

Re : Topic des Couche-Tard (43 bis)

Πυλάδης  il y a bien un probléme de sécurité avec scanf ?

Hors ligne

#4002 Le 23/10/2011, à 17:39

Pylades

Re : Topic des Couche-Tard (43 bis)

Pis tiens, je me sens d’humeur à le faire, alors je vais décortiquer ce qui ne va pas dans ton code.

#include <math.h>

WTF!? Tu n’utilises pas ce fichier, alors pourquoi l’inclure ?

int main ()

Prototype incorrect de main. Généralement, on a int main(void) ou int main(int, char**).

printf ("Saississez une lettre de l'alphabet en minuscule : ");

printf sert à formater du texte. Pour écrire un chaîne, on utilise puts ou fputs.

scanf ("%c",&car);

scanf sert à faire des lectures formatées. Si tu veux juste récupérer le premier caractère du flux, c’est getchar, getc ou fgetc.
   

if ((car=='a') || (car=='e') || (car=='i') || (car=='o') || (car='u') || (car='y'))

En plus de l’erreur soulignée par le Rouge, je n’aime pas cette forme car je la trouve trop brouillonne. C’est peut-être personnel, mais je trouve if (strchr("aeiouy", car)) beaucoup plus lisible.

getchar ();

WTF!? Tu vas lire le flux sans aucune raison ? Mais pourquoi ?


Voilà pour mes remarques ! tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#4003 Le 23/10/2011, à 17:42

Pylades

Re : Topic des Couche-Tard (43 bis)

Kanor a écrit :

Πυλάδης  il y a bien un probléme de sécurité avec scanf ?

Disons que l’appliquer à l’entrée standard qui est tout sauf une entrée formatée, et ce sans vérifications, c’est aimer les risques. Mais si on l’utilise correctement, elle n’est pas une faille de sécurité.

Et là, le problème c’est surtout qu’il n’y a aucune raison de l’appeler.

Dernière modification par Πυλάδης (Le 23/10/2011, à 17:44)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#4004 Le 23/10/2011, à 17:44

Вiɑise

Re : Topic des Couche-Tard (43 bis)

C'est gentil pylade mais si ma réponse est ainsi c'est tout bonnement parce que
*roulement de tambour*
J'utilise des instructions qui ont déjà été abordées dans le manuel avant d'arriver à cet exercice.

pour le int main ()… bah j'attends un jour de trouver 3 personnes à la suite qui seront d'accord sur la bonne chose à faire et de donner des arguments.  Parce que pour l'instant, tout le monde a sa version de "la bonne chose à faire" et ça troll alors dans le doute autant faire comme le prof…

Et et la librairie math, juste par réflexe idiot car je m'en suis servie sur les 8 derniers mini programmes que j'ai faits…

edit : printf PEUT faire autre chose que juste afficher une chaine de caractère… mais il peut aussi faire plein d'autres trucs. Alors je le mets toujours comme ça quand je modifie le programme ça va plus vite.
Je gagne quoi en mettant puts?

Dernière modification par Вiɑise (Le 23/10/2011, à 17:47)

Hors ligne

#4005 Le 23/10/2011, à 17:52

Pylades

Re : Topic des Couche-Tard (43 bis)

Вiɑise a écrit :

pour le int main ()… bah j'attends un jour de trouver 3 personnes à la suite qui seront d'accord sur la bonne chose à faire et de donner des arguments.  Parce que pour l'instant, tout le monde a sa version de "la bonne chose à faire" et ça troll alors dans le doute autant faire comme le prof…

ISO/IEC 9899:TC3, 5.1.2.2.1 Program startup, §1 a écrit :

The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters:
int main(void) { /* ... */ }
or with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared):
int main(int argc, char *argv[]) { /* ... */ }
or equivalent; or in some other implementation-defined manner.

Вiɑise a écrit :

edit : printf PEUT faire autre chose que juste afficher une chaine de caractère… mais il peut aussi faire plein d'autres trucs. Alors je le mets toujours comme ça quand je modifie le programme ça va plus vite.
Je gagne quoi en mettant puts?

Tu gagnes juste à utiliser la fonction qui sert à afficher une chaîne, et pas la fonction qui sert à formater une chaîne. printf attend une chaîne de format, pas une chaîne à afficher.


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#4006 Le 23/10/2011, à 17:53

Sir Na Kraïou

Re : Topic des Couche-Tard (43 bis)

Pourquoi vous n’codez trollez pas sur le TDCCT ?

Dernière modification par na kraïou (Le 23/10/2011, à 17:56)


Descendant de Charlemagne et de LUCA.
Bleu, en l'hommage d'un truc bleu. :'(
C'est pas du bleu.
C'est pas le lac de Genève, c'est le Lac Léman.

Hors ligne

#4007 Le 23/10/2011, à 17:55

Вiɑise

Re : Topic des Couche-Tard (43 bis)

Πυλάδης a écrit :
Вiɑise a écrit :

pour le int main ()… bah j'attends un jour de trouver 3 personnes à la suite qui seront d'accord sur la bonne chose à faire et de donner des arguments.  Parce que pour l'instant, tout le monde a sa version de "la bonne chose à faire" et ça troll alors dans le doute autant faire comme le prof…

ISO/IEC 9899:TC3, 5.1.2.2.1 Program startup, §1 a écrit :

The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters:
int main(void) { /* ... */ }
or with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared):
int main(int argc, char *argv[]) { /* ... */ }
or equivalent; or in some other implementation-defined manner.

smile


Вiɑise a écrit :

edit : printf PEUT faire autre chose que juste afficher une chaine de caractère… mais il peut aussi faire plein d'autres trucs. Alors je le mets toujours comme ça quand je modifie le programme ça va plus vite.
Je gagne quoi en mettant puts?

Tu gagnes juste à utiliser la fonction qui sert à afficher une chaîne, et pas la fonction qui sert à formater une chaîne. printf attend une chaîne de format, pas une chaîne à afficher.

Désolée mais je ne vois pas l'intérêt ^^'

Hors ligne

#4008 Le 23/10/2011, à 18:02

Pylades

Re : Topic des Couche-Tard (43 bis)

Bah les « some other implementation-defined manner », c’est généralement sur des systèmes très particuliers, comme en embarqué. Donc si tu fais du code général, tu te restreins aux prototypes généraux.


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#4009 Le 23/10/2011, à 18:03

Вiɑise

Re : Topic des Couche-Tard (43 bis)

Mais en fait… j'arrive pas à piger l'intérêt, ce que faire des 2 premières manières indiquées va changer.
Bon en attendant mon enseignant étant un peu obtus je vais faire comme lui, moins risqué, et je changerai de manière de faire le main quand je comprendrai l'intérêt de cela.

Hors ligne

#4010 Le 23/10/2011, à 18:08

Shanx

Re : Topic des Couche-Tard (43 bis)

Вiɑise a écrit :

Bon en attendant mon enseignant étant un peu obtus je vais faire comme lui, moins risqué, et je changerai de manière de faire le main quand je comprendrai l'intérêt de cela.

Comem quoi y’a pas qu’en prépa… tongue


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#4011 Le 23/10/2011, à 18:09

Pylades

Re : Topic des Couche-Tard (43 bis)

Bah ça sert juste à faire du code correcte. Avec mes options, mon compilateur m’envoit chier si je lui montre un prototype comme ça.

Et accessoirement, plop() c’est très différent de plop(void). Dans le premier cas, il n’y a pas de vérifications sur les arguments (et ça c’est dangereux) ; alors que dans le second, la fonction ne prend pas d’arguments. Rien à voir.


Et puis temps qu’on est dans le thème, voici de la bonne culture : http://grim7reaper.no-ip.info/languages … ions.shtml. tongue

Dernière modification par Πυλάδης (Le 23/10/2011, à 18:11)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#4012 Le 23/10/2011, à 18:09

Compte anonymisé

Re : Topic des Couche-Tard (43 bis)

na kraïou a écrit :

Pourquoi vous n’codez trollez pas sur le TDCCT ?

+42, retard de lecture, et bonne nuit
[edit] trop tôt pour le moindre point, mais tant pis :S [/edit]

Dernière modification par golgoth42 (Le 23/10/2011, à 18:10)

#4013 Le 23/10/2011, à 18:13

Вiɑise

Re : Topic des Couche-Tard (43 bis)

Pas de vérification sur les arguments sur un scanf, oué là je vois comment ça peut être dangereux…

Pas de vérification sur les arguments du main, je vois pas.

Hors ligne

#4014 Le 23/10/2011, à 18:13

Pylades

Re : Topic des Couche-Tard (43 bis)

Hey, il n’y aurait pas un modo pour scinder cette discussion vers le TdC ?


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#4015 Le 23/10/2011, à 18:14

Arcans

Re : Topic des Couche-Tard (43 bis)

Nan, mais moi je la trouve intéressante, même si j’ai rien à y dire… neutral


« Mais je ne suis pas spécialement mécontent de ne pas être cela dit. »
     — Arcans
« Axiome de base de la théorie des ensembles : s'il existe dans un ensemble X un élément x ayant des propriétés potentiellement casse-couille, c'est de la faute d'Arcans. »
    — Le Rouge

Hors ligne

#4016 Le 23/10/2011, à 18:17

Вiɑise

Re : Topic des Couche-Tard (43 bis)

On peut parler de tout ici, on peut bien parler de code de temps à autre >_<
(rogntudju)

mais si tu veux rameute grim ici ça sera plus sportif.

Hors ligne

#4017 Le 23/10/2011, à 18:21

Compte anonymisé

Re : Topic des Couche-Tard (43 bis)

pffff, genre un branlo avec une faucille, il va faire peur aux gens ^^

[edit]chuipulà, je dodo (euh, parait qu'il faut que je miam avant :S ) [/edit]

Dernière modification par golgoth42 (Le 23/10/2011, à 18:22)

#4018 Le 23/10/2011, à 18:27

Вiɑise

Re : Topic des Couche-Tard (43 bis)

/me éteins son PC et prendra le train sous peu…

Hors ligne

#4019 Le 23/10/2011, à 18:32

Pylades

Re : Topic des Couche-Tard (43 bis)

Вiɑise a écrit :

mais si tu veux rameute grim ici ça sera plus sportif.

/summon grim7reaper

Mais je suis quasiment certain qu’il dira tout comme moi, là dessus.


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#4020 Le 23/10/2011, à 18:32

Dr Le Rouge

Re : Topic des Couche-Tard (43 bis)

golgoth42 a écrit :

un branlo avec une faux

Restons rigoureux ! yikes

Dernière modification par Dr Le Rouge (Le 23/10/2011, à 18:33)


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#4021 Le 23/10/2011, à 18:35

helly

Re : Topic des Couche-Tard (43 bis)

Πυλάδης a écrit :

Hey, il n’y aurait pas un modo pour scinder cette discussion vers le TdC ?

Non.
Vous êtes assez grands pour vous prendre la main tous seuls et changer de topic.

Dernière modification par helly (Le 23/10/2011, à 18:35)


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#4022 Le 23/10/2011, à 18:37

Compte anonymisé

Re : Topic des Couche-Tard (43 bis)

Le Rouge a écrit :
golgoth42 a écrit :

un branlo avec une faux

Restons rigoureux ! yikes

certes, mais j'étais pas certain de l'orthographe de l'outil, pis bon, la mort, c'est tellement ridicule, une 'tite faucille, ça lui va bien wink (oupas)

#4023 Le 23/10/2011, à 18:46

Arcans

Re : Topic des Couche-Tard (43 bis)

Et encore un dimanche qui n’a servit à rien.


Faudrait vraiment que j’essaye de remédier à cette perte de temps chronique… neutral


« Mais je ne suis pas spécialement mécontent de ne pas être cela dit. »
     — Arcans
« Axiome de base de la théorie des ensembles : s'il existe dans un ensemble X un élément x ayant des propriétés potentiellement casse-couille, c'est de la faute d'Arcans. »
    — Le Rouge

Hors ligne

#4024 Le 23/10/2011, à 18:48

Grünt

Re : Topic des Couche-Tard (43 bis)

Arcans a écrit :

Et encore un dimanche qui n’a servit à rien.


Faudrait vraiment que j’essaye de remédier à cette perte de temps chronique… neutral

Essaie en faisant des trucs smile


Red flashing lights. I bet they mean something.

Hors ligne

#4025 Le 23/10/2011, à 18:50

Arcans

Re : Topic des Couche-Tard (43 bis)

Déjà essayé, j’ai essayé de commencer à ranger des papiers/l’appart’ aujourd’hui… Je me suis à chaque fois arrêter à l’étape “commencer”. >.<


« Mais je ne suis pas spécialement mécontent de ne pas être cela dit. »
     — Arcans
« Axiome de base de la théorie des ensembles : s'il existe dans un ensemble X un élément x ayant des propriétés potentiellement casse-couille, c'est de la faute d'Arcans. »
    — Le Rouge

Hors ligne