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++

Rikkuman4
Rikkuman4
Niveau 10
23 mai 2005 à 18:37:37

En fait j´ai recommencé mon rpg sous console, il sera plus sérieus plus propre, mieux fait en gros !
avec une vrais histoire des combats et avec des pontuation lol, mais sans graphisme ! :-d

Rikkuman4
Rikkuman4
Niveau 10
23 mai 2005 à 18:43:10

endl; c´est pour revenir a la ligne mais pour soté des ligne ont fait comment ?

dnob700
dnob700
Niveau 10
23 mai 2005 à 18:44:56

cout < < endl < < endl;

Rikkuman4
Rikkuman4
Niveau 10
23 mai 2005 à 18:55:18

ok merci car avant je fesais

cout""<<endl; :)

sonic66
sonic66
Niveau 10
23 mai 2005 à 19:40:53

int nombchar(char* a)
{
int *b;
int c=0;
while(a[c]!=*b++)
{
c++;

  • b=a[c];

}
return c;
}

ceci est censé determiner le nombre de char que contient un tableau , mais le probleme est que :

while(a[c+1]!=*b++)

au moment ou la condition ne sera pas respecté , ben a[c+1] n´existera pas et donc ca bug

une solution?

sonic66
sonic66
Niveau 10
23 mai 2005 à 19:44:57

?

Matbox2
Matbox2
Niveau 7
23 mai 2005 à 19:48:07

Tu n´aurais pas le code entier s´il te palit parce que là je vois pas bien à ce que correspond *b avant l´instruction while

sonic66
sonic66
Niveau 10
23 mai 2005 à 19:50:05
  • b est créé ici , avant while , b na pas de valeur^particuliere ( c´est une fonction)

et aussi , pourquoi kje suis obligé de mettre int nombchar(char* a)

a la place de int nombchar(char a) pour que ca marche?

sonic66
sonic66
Niveau 10
23 mai 2005 à 19:50:58

je remet le code car ya eu un changement d page :)

int nombchar(char* a)
{
int *b;
int c=0;
while(a[c]!=*b++)
{
c++;

  • b=a[c];

}
return c;
}

Matbox2
Matbox2
Niveau 7
23 mai 2005 à 19:52:32

Si tu n´affectes pas un espace mémoire à b le pointeur pointera n´importe où donc *b++ correspond à rien.

sonic66
sonic66
Niveau 10
23 mai 2005 à 19:53:59

ben au debut c t le but , b pointe sur rien , donc c pas pareil que a[c] et on sort du while ^^

sonic66
sonic66
Niveau 10
23 mai 2005 à 20:05:36

:up:

dnob700
dnob700
Niveau 10
23 mai 2005 à 23:22:13

quelle horreur...

tu n´a pas le droit d´utiliser b sans lui donner une adresse. oublie le.

En C, pour connaitre la fin d´unechaine, on mets un zéro comme dernier caractère, donc tu peut faire :

int nombchar(char* a)
{
int c=0;
while(a[c]!=0)
{
c++;
}
return c;
}

JeanYvesYves
JeanYvesYves
Niveau 10
23 mai 2005 à 23:47:03

sonic66 > si tu veux qu´au début le pointeur ne pointe sur rien, il faut le lui dire explicitement :

int* b = NULL;

sinon, tu risques d´avoir n´importe quoi comme valeur.

fait attention a ce genre de lignes :

while(a[c]!=*b++)
c´est du code contracté. Autant c´est une spécificité du C de contracter, mais personnellement ( c´est mon point de vue) je préfere du code + lisible :

while(a[c]!=*b)
{
b++;
. ..
}

et ça enleve le " probleme" de priorités du coup : en effet, si tu fais

  • b++, est ce que ça veut dire :

( *b)++ ou *(b++) ? ??

la 2e forme est la bonne, mais c´est pas trivial, séparer élimine le probleme :)

sesshoumaru
sesshoumaru
Niveau 4
24 mai 2005 à 03:32:54

Mr JeanYvesYves, je viens de decouvrir avec horreur vos tutos sur le C++
Je suis vraiment degouté !

Pourquoi ne suis je pas tombé sur ce site depuis plusieurs années???????

Franchement je trouve que c´est les meilleurs tutos de toute cette planete ! !!!
Vous etes un genie ! !!! :D
non content d´etre efficaces vos tutos sont parfois rigolos et on y navigue plus facilement que la normale ! . .. meme si j´etais assez doué en programmation ( MIAS inside), je n´y comprenais que dalle . .. et maintenant le C++ me parais " au moins" abordable ( alors que ma premiere approche m´avais laissé un goût amer... Je trouve qu´il devrais exister plus de profs en mias comme vous :D . ..
merci pour tout vos tutos, j´essayerai de perseverer :D comme ca la prochaine fois que je posterai ce sera pour comprendre des trucs d´un niveau superieur :D
merci :)

sesshoumaru
sesshoumaru
Niveau 4
24 mai 2005 à 05:25:38

Hum . .. bon je me suis arrété aux programmes pou le gerer lesimages avec les SDL car le compilateur me fais de [linker error] reference to ´SDL_init´... et j´en passe :)
puis ID returned exit status . ..

j´ai pourtant bien installé les fichiers pour le SDL de dev c++ . .. quelqu´un a deja rencontré ce probleme ? ou dois je tout reinstaller ?

Ptival
Ptival
Niveau 10
24 mai 2005 à 07:42:13

Vérifies que ton linker soit bien ( dans l´ordre) :

-lmingw32 ( Sous Dev-C++ il me semble que c mieux de linker ça)
-lSDLmain
-lSDL
( éventuellement :
-lSDL_image
-lSDL_mixer
-lSDL_nimportequoi
. ..)

[Enfin si tu es sous VC++ les libs se linkent pas pareil mais l´ordre est le même]

Vérifies aussi que ta fonction main soit de cette forme :

int main(int argc, char**argv)

JeanYvesYves
JeanYvesYves
Niveau 10
24 mai 2005 à 10:05:22

Sesshoumaru >
" je viens de decouvrir avec horreur vos tutos sur le C++
Je suis vraiment degouté ! "
--> oh l´enfoiré ! ! :snif2:

" Franchement je trouve que c´est les meilleurs tutos de toute cette planete"
--> Ah ! ! :) j´avais mal compris alors, lool !

Merci a toi :) Je continue a ajouter des tutos au compte goutte :)
" Je trouve qu´il devrais exister plus de profs en mias comme vous"
J´ai déja fait des cours de soutien, mais bon, apres, quand j´ai quitté la fac, j´ai plus eu le droit, snif !

Pour ton erreur des [linker erreur] elle est classique : tu as oublié de linker les librairies : regarde dans mon tuto 2.0 installation de SDL.
Ptival a raison :)
Quel compilo utilises tu ?

tibauzou
tibauzou
Niveau 9
24 mai 2005 à 13:19:02

JYY---> :salut: j´ai télécharger sur ton site les tutos de C++ mais quand je les ouvre, ca me rebdre un code sur mon projet devC++, ce code, modifie t-il vraiment le jeu ou, il compte pour du beurre juste pour la démonstration? :merci:

Happyman
Happyman
Niveau 6
24 mai 2005 à 13:32:15

JYY : Moi, quand je clique sur " télécharger SDL sur Dev C++" Ca me met " Impossible d´afficher la page" ! !! Comment faut faire :snif: ? ??

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