CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Mes premiers programme en c++ :bave:

Neofungamer
Neofungamer
Niveau 22
25 août 2012 à 17:08:25

Merci Chris. (je ne connais que le sens "théorie des langages") On avait un super cours à la fac. J'ai vraiment aimé. C'était un cours sur la compilation au sens large et évidemment, on a bouffé de l'automate. A ce sujet, le dragon est un livre vraiment top. (je me stoppe là c'est un peu HS)

hyrulink2
hyrulink2
Niveau 7
25 août 2012 à 17:33:14

"quel relation avec .hpp ?"
Pour qu'une fonction soit inline il faut l'implanter dans le .hpp sinon elle ne peut pas être inlinée, car l'inlining se fait à la compilation et non au linkage mais bon comme dit Chris tu verra ça plus tard.

godrik
godrik
Niveau 30
25 août 2012 à 18:01:22

La question des fonction inline est assez complique. A moins d'avoir un probleme de performance clair et identifie, laisse faire ton compilateur, il est assez intelligent comme ca.

Iliketo
Iliketo
Niveau 10
25 août 2012 à 18:56:37

"En tout cas bonne continuation, tu sembles bien parti"
Merci sa fait plaisir a entendre :-)

Pour les question c'est vrai que dernièrement je me suis lâché :hap:

hyrulink2 et godrik je vais faire comme vous dite :-)

chris pour la fonction j'y est presque pas touché .
je n'arrive pas a utilisé correctement les booléens et je veut pas allé plus loin :-(

http://pastebin.com/PgjCAijP

le code marche mais les valeur de b sont tous remplacer par true , on peut dire que le vector est supprimé :(

chris_27
chris_27
Niveau 10
25 août 2012 à 19:08:18

Ça ne peut pas vraiment marcher ton affaire... car tu as un problème évident de typage :

« string b = a; » :d) donc b est une string
« b[y] = true; » :d) donc b est un tableau de booléen (type bool[])

Or un objet n'a normalement qu'un seul type. :(

Je préconise que tu remplaces les "string XXX = ... ;" par des "char XXX[] = ... ;" déjà. Et pour b, c'est carrément un : « bool b[28]; » qu'il te faut.

chris_27
chris_27
Niveau 10
25 août 2012 à 19:09:27

PS: l'op n'est pas censé savoir que true c'est 1 et qu'il n'utilise pas le caractère dont le code ascii est 1, donc que par la magie des casts, le code fonctionne pour l'usage qu'il en fait.

Iliketo
Iliketo
Niveau 10
25 août 2012 à 21:52:46

Chris j'ai fait comme tu ma dit mais j'ai 3 erreur que je n'est pas compris :
:d) https://image.noelshack.com/fichiers/2012/34/1345923959-screenshot001.png
Et voici la fonction que j'ai fait :
:d) http://pastebin.com/KaXnfkm3
Et le fichier.h :
:d) http://pastebin.com/gW4wDDPQ

chris_27
chris_27
Niveau 10
25 août 2012 à 22:19:36

Alors...

Lignes 11 à 37 c'est de l'hérésie. Tu peux tout remplacer (connement) par la chose suivante :

char a[] = "abcdefghijklmnopqrstuvwxyz '";

1) Comme je l'ai dis avant, c'est toujours mieux de donner une valeur à la déclaration d'une variable
2) avec cette syntaxte, tu n'as PAS à donner la taille du tableau "a", donc tu ne va pas te gourrer là dessus. :-)

Quand à l'erreur, elle est très claire. Habitue toi à la rencontrer souvent. Tu appelles un fonction gen qui prend en entrée un caractère (quantité de type char, c'est ce que dit ton .h). Or toi, tu donnes comme argument la quantité "a" qui est de type "char[]" ou encore "char*" (lire dans les deux cas "tableau de caractères", car les types se lisent de droite à gauche et le "[]"/"*" peut être lu "tableau"). ça ne colle pas, et c'est ce que l'erreur te dit.

Bref, dans ton .h (et ton generateur.hpp), il faut mettre des "char*" quand tu veux que le type corresponde à une chaine de caractères. :oui:

Au passage, la (une des) bonne extension pour le ficher header (= fichier de déclarations) c'est .hpp pour le C++. Le .h c'est pour les fichiers headers du langage C, qui est différent du C++. Toi, tu te dois d'utiliser ".hpp" et non ".h".

Neofungamer
Neofungamer
Niveau 22
25 août 2012 à 22:21:26

Ta fonction gen semble prendre en paramètre un caractère alors qu'en fait, tu essaies de lui donner un tableau de caractères en paramètre.

Donc il y a un souci dans la déclaration de ta fonction gen()

Iliketo
Iliketo
Niveau 10
25 août 2012 à 23:40:53

pendant que j'ai posé la question j'ai essayé avec string .
une erreur sauvage apparaît :hap:
:d) https://image.noelshack.com/fichiers/2012/34/1345928754-screenshot002.png
:d) http://pastebin.com/WGjRevNx
:d) http://pastebin.com/YbckT1su
j'ai ensuite essayé le char avec votre solution
:d) https://image.noelshack.com/fichiers/2012/34/1345930652-screenshot002.png
:d) http://pastebin.com/Bunmzb0V
:d) http://pastebin.com/sxTR2NS7

chris_27
chris_27
Niveau 10
25 août 2012 à 23:46:02

Cette fois, ça pue le code::blocks en carton... Mets tous tes fichiers dans le même dossier (le dossier Sources).

Dans tous les cas, tu comprendras plus tard qu'un dossier "Headers" ça n'a pas vraiment de sens.

Iliketo
Iliketo
Niveau 10
25 août 2012 à 23:53:41

Je savais que se debugger ne m'aimeais pas :hap:

Et sinon pourquoi tu ma conseiller d'utiliser des char et pas des string ?
j'aime pas les char sa rajoute un /0 sans me demander la permission :nah:

J'ai aussi une question sur linux , sa fait 2 fois que j'essais de télécharger la version boot ici http://cdimage.debian.org/debian-cd/current-live/i386/iso-hybrid/
je choisi debian-live-6.0.4-i386-kde-desktop.iso

je grave l'iso mais une fois que je boot sur le cd linux veut pas se lancé sa me met invalid karnel erreur x ( x sa veut dire plein de numéro après )

vous pensé que j'ai téléchargé la mauvais chose ou que j'ai mal gravé ? :(

chris_27
chris_27
Niveau 10
26 août 2012 à 00:36:41

"j'aime pas les char sa rajoute un /0 sans me demander la permission" :d) Et tu t'imagines :
1) que c'est pour t'embêter,
2) que string il ne fait pas la même chose dans ton dos
? :o))

Le problème de string, c'est que c'est une classe, et que avant de faire de la programmation orientée objet (POO), il faut déjà faire de la programmation tout court. :oui:

Je t'avoue franchement que pour faire une fonction qui doit renvoyer une chaîne de caractères, string ça ira mieux. Mais c'est du gâchis de passer direct à string car le problème qu'on rencontre avec le 'char[]' (qui est le vraiment type primitif pour les chaînes de caractères) est vraiment fondamental... à tel point que c'est une des essences même de la POO cachée par string. Il faut être conscient de ce problème avant de faire de la POO, sinon ce qu'on voit n'a pas tout son sens.

"debian-live-*" :d) ha... parce que ça marche maintenant les iso du projet debian-live ? :question:

Moi, je te suggérerai le cd dit "netinstall", de décocher tout à l'installation, et de t'occuper vraiment de la liste des softs à installer qu'après le premier reboot. C'est pas la façon la moins intimidante, mais elle est très fiable sauf si ton accès au réseau est problématique (wifi pas reconnu de base... par exemple). Demande conseil sur le forum linux.

Neofungamer
Neofungamer
Niveau 22
26 août 2012 à 00:45:30

Dans ton dossier Sources : je ne vois pas generateur.cpp Où est-il?

Neofungamer
Neofungamer
Niveau 22
26 août 2012 à 01:01:21

Pour debian, tu peux essayer de l'installer sur une machine virtuelle comme virtual box. Tu verras si ton CD fonctionne.

Iliketo
Iliketo
Niveau 10
26 août 2012 à 01:14:18

"que c'est pour t'embêter ?"
Sa ma traversé l'esprit ouai :hap:
"que string il ne fait pas la même chose dans ton dos"
:d) http://www.cuantocabron.com/images/templates/mother-of-god-template.jpg

"Je t'avoue franchement que pour faire une fonction qui doit renvoyer une chaîne de caractères, string ça ira mieux. Mais c'est du gâchis de passer direct à string car le problème qu'on rencontre avec le 'char[]' (qui est le vraiment type primitif pour les chaînes de caractères) est vraiment fondamental... à tel point que c'est une des essences même de la POO cachée par string. Il faut être conscient de ce problème avant de faire de la POO, sinon ce qu'on voit n'a pas tout son sens. "

Je comprend mais....string est un objet ? :cute:
donc si je prend l'exemple du string un objet c'est une fonction toute prête que l'en utilise sans avoir a la reoprogrammer ? si c'est sa c'est pas aussi difficile que je croyais .
Je laisse faire mon débugger pour bien compliquer la chose :hap:

"wifi pas reconnu de base"
:snif2:

neofungamer :d) https://image.noelshack.com/fichiers/2012/34/1345936206-screenshot003.png Il sont sur le même fichier :(

En faite il me reste a apprendre quoi avant de commencer la poo ?
d'après le sdz ( je sais c'est pas la référence a prendre mais j'ai que sa sous la main donc on fera avec :hap: ) il reste :
-Lire et écrire dans un fichier .
-Les pointeur.
Après il attack directe la parti sur la poo
Vous en pensé quoi vous ? :(

Iliketo
Iliketo
Niveau 10
26 août 2012 à 01:15:09

Pour debian, tu peux essayer de l'installer sur une machine virtuelle comme virtual box. Tu verras si ton CD fonctionne.

Je vais essayé sa :-)

chris_27
chris_27
Niveau 10
26 août 2012 à 01:20:51

Techniquement, string est une classe. Dire "string toto;" crée un objet toto (de type string).

"c'est une fonction toute prête que l'en utilise sans avoir a la reoprogrammer ?" :d) non, là c'est pas du tout ça. Disons pour faire simple que string, c'est un bon vieux char[] des familles sous un gros enrobage pour rendre les choses plus "user friendly". Donc oui, ça parait plus sexy, mais oui, c'est moins efficace et à utiliser à bon escient et SURTOUT en connaissance de cause.

"En faite il me reste a apprendre quoi avant de commencer la poo ? " :d) à peu près tout le programme de programmation niveau L1/L2. Crois-moi :
1/ il y a du boulot avant de pouvoir prétendre attaquer la POO correctement,
2/ la POO c'est énormément moins utile que ce que les gens croient (corollaire: c'est souvent très mal utilisé, pour notre malheur à tous).

Neofungamer
Neofungamer
Niveau 22
26 août 2012 à 01:21:08

En fait, generateur.cpp est bien dans ton dossier cryptographie. (physiquement c'est bon)

Mais dans le panneau de droite sur code::block, je ne le vois pas! Et il est très important pour code::block de le voir pour qu'il puisse faire son boulot correctement.

code:block se moque de savoir où ton fichier est, ce qui compte c'est qu'il puisse trouver où il est. Pour l'ajouter, un glisser déposer doit suffire je pense. (J'ai pas manipuler ce machin depuis 10 ans, mais de mémoire je ne pense pas dire de bêtise)

Caudheur
Caudheur
Niveau 8
26 août 2012 à 01:21:37

J'ai trouvé le tuto sur "lire et écrire dans un fichier" assez médiocre. Sous prétexte qu'il est destiné à des grands débutants, ils se permettent de faire un cours rachitique :(

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment