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

J´aide les personne en C/C++

LGV
LGV
Niveau 28
30 juin 2004 à 00:38:23

là y´a deux écoles pour le this :

ceux qui le mettent PARTOUT ! pour bien montrer ce qui appartient à la classe

et y´a ceux qui utilisent une convention de nommage pour distinguer les membres ; la plus courante étant m_ ( comme member), on trouve aussi beaucoup de _ tout court

à toi de voir ce que tu préfères, mais apres tu dois pouvoir écrire des trucs genre :

m_pToto->toto()(Toto::TOTO)

en sachant qui est quoi ; bon c´est crade juste pour l´exemple, mais c´est une bonne pratique. Tu peux fouiller sur le net pour trouver un PDF nommé " C++ Coding Standard", y sont détaillées les pratiques les plus courantes

LGV
LGV
Niveau 28
30 juin 2004 à 00:39:27

^^^^ ooops, parenthésage foireux... bref, c´était juste pour l´exemple ; )

Pseudo supprimé
Pseudo supprimé 30 juin 2004 à 00:54:42

TechSlash Posté le 29 juin 2004 à 23:53:16

> arnaud-le-vrai

Est-ce que ta question est en rapport avec le C++ ( je veux dire, est-ce que tu cherches à comprendre ce langage en particulier) ? Si c´est le cas, je pense que le site de lapintade donne suffisement d´information pour savoir où aller pour commencer ( ça couvre un peu de tout en ce qui concerne faire des jeux en fait):
http://perso.wanadoo.fr/ck/Langages.htm

Si tu cherches à comprendre la programmation au sens général, tu aurais probablement dû partir un nouveau topic... Sinon je suppose que tu devrais te trouver un bouquin et faire des recherches sur le web. Voici un site quand même:
http://fr.wikipedia.org/wiki/Programmation

:d) Je te remercie beaucoup :-))) TechSlash

techslash
techslash
Niveau 8
30 juin 2004 à 00:55:30

J´ignore pourquoi mais

m_pToto->toto()(Toto::TOTO)

m´a fait rigoler :)

Merci LGV

fanofgame
fanofgame
Niveau 6
30 juin 2004 à 11:48:22

bonjours a tous je debute en C et je trouve pas l´erreur dans le code suivant :

  1. include < stdio.h>

int main();
/ /déclaration
char reponse;
/ /attente de la réponse
reponse = getchar();
/ /absorbe la validation de la réponse par enter
getchar();
/ /si on a appuyé sur ´o´
if ( reponse == ´o´);
{
printf(" l´utilisateur a appuye sur ´o´ " );
}
/ /ou sur ´n´
else if ( reponse == ´n´);
{
printf(" l´utilisateur a appuye sur ´n´ " );
}
/ /sinon
else;
{
printf(" mauvaise reponse " );
}

j´aimerai que qulq´un me dise ou ai l´erreur et m´explique pourqois c´est une erreur ! !!
merci

Ceacy
Ceacy
Niveau 3
30 juin 2004 à 11:56:31

" int main();
/ /code"

Ce serait pas plutôt :
int main()
{
/ /code
}

?

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2004 à 11:58:45

j´arrive en retard : j´étais pas la hier soir :)

TechSlash >
ce que tu fais ici :
mastring s = " plouf";

je sais pkoi ça plante sur le delete :

en 1 seule ligne, tu fais bcp de choses :
tout se passe comme si tu faisais :

mastring tmp("plouf");
mastring s=tmp;

reprenons la ligne totale :
mastring s = " plouf";

il voit " plouf", c´est un const char*, donc il va construire une instance de mastring, en utilisant le constructeur mastring(const char*) que tu as défini.
Apres, a ton avis, cette instance, c´est s ?
--> NON.
en effet, l´instance créée est le " tmp" si on décompose
ensuite, il voit que tu fais mastring s;
il appelle donc le constructeur mastring(void); que tu as défini.
Et ensuite, il va faire un =, donc comme TU N´AS PAS SURCHARGE L´OPERATEUR = ( et la est ton erreur)
il copie betement tmp dans s, champ à champ.
Ainsi

tmp.txt est un pointeur qui pointe sur la zone A273412F ( par exemple), et s.txt est également un pointeur qui pointe sur A273412F

" tmp" se détruit automatiquement, appelant son destructeur, et donc LIBERE A273412F.
et quand s est deleté, il essaie de libérer A273412F, or ça a déja été libéré
--> PLANTAGE.

voila, donc si tu veux qu´une classe soit robuste, il faut qu´elle aie :
constructeur par défaut ( que tu as mis)
constructeur par copie ( que tu as mis)
surcharge du = ( que tu as oublié)

Ruffi
Ruffi
Niveau 9
30 juin 2004 à 11:59:15
  1. include < stdio.h>

int main(){ / / les instruction suivante sont DANS la fonction main
/ /déclaration
char reponse;
/ /attente de la réponse
reponse = getchar();
/ /absorbe la validation de la réponse par enter
getchar();
/ /si on a appuyé sur ´o´
if ( reponse == ´o´);
{
printf(" l´utilisateur a appuye sur ´o´ " ) ;
}
/ /ou sur ´n´
else if ( reponse == ´n´);
{
printf(" l´utilisateur a appuye sur ´n´ " ) ;
}
/ /sinon
else;
{
printf(" mauvaise reponse " ) ;
}
getchar(); / / pour eviter que le programme se ferme avant d´avoir pu lire la reponse
return 0; / / int main -> doit retourner une valeur entiere
}

Ceacy
Ceacy
Niveau 3
30 juin 2004 à 11:59:44

De plus, les caractères, c´est ´n´ et pas `n` , je crois ; )
( apostrophes ( simple quotes) et non , euh . .. " truc sur la touche 7" )

Et, j´oublais également : pas de " ;" après les if() et elseif() !
if(condition)
{
/ /...
}
else if(autre condition)
{
/ /...
}
else
{
/ /...
}

fanofgame
fanofgame
Niveau 6
30 juin 2004 à 12:13:16

je suis desolé mais meme avec le code de ruffi je peut pas compiler il me retrouve encore des erreur ! !!

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2004 à 12:16:26

marque les erreurs qu´il te donne :)

fanofgame
fanofgame
Niveau 6
30 juin 2004 à 12:18:50

alors il me mais :
C:\Documents and Settings\...[Warning] In function `int main()´:
17 C:\Documents and Settings\...parse error before `else´
21 C:\Documents and Settings\...parse error before `else´
C:\Documents and Settings\...[Build Error] [main8.o] Error 1

voila les eurreur qu´il me marque ! !!

Ruffi
Ruffi
Niveau 9
30 juin 2004 à 12:24:50

Regarde ce qu´a dit Ceacy ( j´avait pas vu cette erreur tout de suite ) :

Et, j´oublais également : pas de " ; " après les if() et elseif() !
if(condition)
{
/ / ...
}
else if(autre condition)
{
/ / ...
}
else
{
/ / ...
}

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2004 à 12:25:31

arf ! !! :)

ruffi s´est trompé :

ce n´est pas :

if ( reponse == ´o´);

mais :

if ( reponse == ´o´)

pas de ; apres le if, car sinon, ça le fini, alors qu´il faut bien qu´il continue ( les {} qu´il y a derriere lui appartiennent)

et pareil pour tous les if

Ruffi
Ruffi
Niveau 9
30 juin 2004 à 12:28:05
  1. include < stdio.h>

int main(){ / / les instruction suivante sont DANS la fonction main
/ / déclaration
char reponse;
/ / attente de la réponse
reponse = getchar();
/ / absorbe la validation de la réponse par enter
getchar();
/ / si on a appuyé sur ´o´
if ( reponse == ´o´)
{
printf(" l´utilisateur a appuye sur ´o´ " ) ;
}
/ / ou sur ´n´
else if ( reponse == ´n´)
{
printf(" l´utilisateur a appuye sur ´n´ " ) ;
}
/ / sinon
else
{
printf(" mauvaise reponse " ) ;
}
getchar(); / / pour eviter que le programme se ferme avant d´avoir pu lire la reponse
return 0; / / int main -> doit retourner une valeur entiere
}

--------------

voila.
Le probleme venait que ton if se finissait lorsque tu metait le ; ( il aurait fait les instructions entre acolades {} a chaque fois)
L´ereure venait donc que le else n´etait alors plus ataché avec un if.

Ruffi
Ruffi
Niveau 9
30 juin 2004 à 12:29:02

je m´etait pas trompé, j´ai recopier son ereur sans y avoir preté atention :(

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2004 à 12:31:23

po grave , ça nous arrive a tous de faire des erreurs, c´est de l´inattention, C humain :)

mais faut bien préciser le message d´erreur du compilo, pour qu´on puisse la trouver rapidement :)

fanofgame
fanofgame
Niveau 6
30 juin 2004 à 12:39:07

ok la prochaine fois je preciserai et la je vous remercie tous. je trouve que vous ete super car c´est pas tout le monde qui perderai sont tps pour aider des debutant qu´il connaisse meme pas.
MERCI

JeanYvesYves
JeanYvesYves
Niveau 10
30 juin 2004 à 14:25:01

pas de soucis :ok:

LGV
LGV
Niveau 28
30 juin 2004 à 15:25:25

JY² : hmm, sauf erreur de ma part, tout compilo modifie un :

MyClass my_instance = my_value;

en un :

MyClass my_instance(my_value);

si le ctor adapté existe ; comme on expliquait hier, logiquement il devrait y avoir 3 opérations d´effectuées ( que tu détailles, les 2 ctos + l´assignation). Mais du au compilo, son code tourne et d´autres erreur étaient situées dans le code.

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