Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Programmation > Langage C++ > Vos questions sur la suite des cours > Lecture du sujet

Vos questions sur la suite des cours

Cours de programmation C++

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  ...  29  30  31  32  33  34  35  ...  93  94  95  96  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  ...  29  30  31  32  33  34  35  ...  93  94  95  96  Suivante
Hors ligne -ed- # Posté le 21/03/2007 à 22:16:45
C is a sharp tool
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
Citation : Kreeg
Dans le fond il n'a pas tout à fait tort ; winsock n'est pas, seule, portable.

Ni plus ni moins plus que les sockets BSD...

Ce sont des API systèmes que l'on peu rendre d'usage portable si on est pas un abruti enferré dans un discours du genre "Windows çaÿ le mal"...


Emmanuel Delahaye.
Non à la pub sur l'alcool sur Internet.

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/


Image utilisateur
 
Hors ligne charly 90 # Posté le 22/03/2007 à 14:45:12
Avatar
Groupe : Bannis
et sinon skyper j'ai répondu a ta question?

The paradise was full.So, i came back... :ange:
 
Hors ligne Darth Killer # Posté le 25/03/2007 à 01:33:42
Dark Burner !
Avatar
Groupe : Membres
Bonjour tout l'monde !

D'abord bravo à M@tteo pour son superbe tuto (même si pas fini :p )
Ayant des bases de PHP je me suis amusé à comparer régulièrement et mieux comprendre comment il procédait dans son coeur :p
Mais vivement la suite, ça met l'eau à la bouche, surtout cette histoire de surcharge d'opérateur, c'est turlupinant :D

Celà dit, j'ai rencontré un os quand j'ai commencé SDL avec C. J'ignore pourquoi, mais le titre de mes fenêtres refuse de contenir des accents, exactement comme la console DOS. Or à en juger les screenshots de M@tteo il est sensé gérer. Je pige pas... o_O

J'utilise la dernière version de Code::Blocks avec mingw32. Par ailleurs j'utilise la derière version de SDL (la 1.2).

Edit : je pose ici ma question car je vois pas l'intérêt de créer un topic pour ça, simple précision. ;)
Édité le 25/03/2007 à 01:37:31 par Darth Killer

Rien de tel qu'une âme perdue comme p'tit dej'...
Projet : CoX Bind Manager
Image utilisateur
 
Hors ligne M@teo21 # Posté le 25/03/2007 à 14:15:58
Doh ! Nuts. Mmh, donuts !
Avatar
Admins
Salut,

C'est peut-être un coup d'une version différente de la SDL qui gère les charset différemment. Je sais qu'il y a une astuce pour que les accents marchent mais que ça marche pas "tout seul". Te prends pas trop la tête là-dessus si tu veux mon avis ;)

Ce qui se conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.

Nicolas Boileau (je suis fan)
Comment commenter une news sur le SdZ ?
Suivez l'aventure du SdZ et de Simple IT sur notre blog !
 
Hors ligne Darth Killer # Posté le 25/03/2007 à 14:44:49
Dark Burner !
Avatar
Groupe : Membres
Bah il se trouve que je vais avoir dans un de mes progs un é incontournable dans la barre titre donc si tu te souviens de cette astuce je suis preneur. Merci :)

Rien de tel qu'une âme perdue comme p'tit dej'...
Projet : CoX Bind Manager
Image utilisateur
 
Hors ligne PianoPâriss # Posté le 30/03/2007 à 13:33:26
Mac Pro Bi-Xeon user
Avatar
Groupe : Membres
Suite à une remarque pertinente de -ed-, nous avons remarqué qu'il y a une 'faute' dans le cours C/C++ partie "Afficher le contenu d'une variable".

Il y est mentionné que pour afficher un flottant avec un printf(), on utilise "%lf", ce qui n'est pas tout à fait exact.
On doit utiliser "%f" ! :)

Plus d'infos: http://www.siteduzero.com/tuto-50-1224-14831.html#r14831



P.P.
Édité le 30/03/2007 à 14:07:54 par PianoPâriss

Youtube Symphony Orchestra
J'ai Windows 7 ^^ (euh, c'est le vrai hein...)
Piano©~1
 
Hors ligne Dark-Side # Posté le 31/03/2007 à 10:32:05
Groupe : Bannis
Citation : M@teo21
Citation : Dark-Side
Citation : M@teo21
Pour l'instant justement, la mise à jour du tuto Linux est plus urgente. Tu verras bientôt pourquoi.

Bon ben je verrais ;)
Pis c'est pas pour ma petite personne hein :p j'avais pas réussi à attendre je me suis acheté un bouquin y'a quelques mois :D
Bonne continuation ;)


Dans ce cas pourquoi dis-tu deux messages plus haut que tu fais partie des gens qui vont se lancer dans le C++ ? Quelque chose d'incohérent dans tes propos...


Bon je vais pas relancer (enfin si mais c'est la dernière fois promis) je parlais pas de moi mais des pauvres gars qui commençaient seulement, enfin bon je comprends que tu passe un peu vite sur un message comme le mien (= dont personne à rien à foutre parce qu'il est trop con :D )
++ et bonne continuation !
Hors ligne lmghs # Posté le 04/04/2007 à 23:10:30
Groupe : Membres
Bonsoir,.

Le dernier chapitre sur les classes est sorti. Très bien, et bravo.
D'autant que l'on a eu quelques messages de personnes confrontées à ce problème de double destruction ces derniers jours. Autant dire que le chapitre tombe à point nommé.

Evidemment, j'ai une remarque à formuler -- je sais, je suis indécrotable. :euh:

C'est au sujet de l'opérateur d'affectation qui est passé sous silence.
Il y a un règle de qualité qui stipule que Citation
lorsque l'on a besoin de d'expliciter le constructeur de copie, ou l'opérateur d'affectation, alors on a besoin d'expliciter l'autre opération.
[1]

<culture>
Il y a des variations de cette règle. Ce que j'ai cité, c'est vraiment son noyau. Ces variations ont été appelées "règle des 4" (destructeur, et constructeur par défaut en plus), "règle des 3" (destructeur en plus), ou encore "règle des 2" (vive le RAII). La compréhension du C++ et les années qui passent réduisent le nombre d'éléments liés par la règle.
Bref.
</culture>

Même si le chapitre ne traite pas des opérateurs, on peut être sûrs que l'on verra des débutants écrire
Code : C++
Personnage p1(.....);
Personnage p2;
p2 = p1; // NB pour ceux qui lise ce message: cette initialisation
       // en deux phases est considérée comme du mauvais style en C++

De fait, je pense qu'il est bon de signaler au minimum "que l'on a dû expliciter le constructeur de copie, et que c'est pareil pour l'opérateur d'affectation ; même si vous ne verrez comment on l'écrit qu'au prochain chapitre"

[1] "expliciter" != "définir". En effet on peut très bien définir un constructeur de copie protégé, et interdire (déclaration privée sans définition ) l'opérateur d'affectation ; ce qui est un classique dans les hiérarchies polymorphes.


PS: Ce chapitre peut s'avérer être une excellente démonstration de l'encapsulation.
Il aurait fallu disposer d'un accesseur vers l'arme dès le chapitre précédent, et montrer que l'on ne fait qu'adapter l'accesseur et que .. tadah! ça marche encore.

PPS: le QCM concernant les ordres de suppression.
"Aucune importance" est la réponse la moins incorrecte. La plus meilleure (oui, ce n'est pas français, et c'est volontaire) aurait dû être : "on supprime X qui s'occupera de supprimer Y dont il a la responsabilité".
Si pas de responsabilité établie => l'ordre nécessaire est dépendant de que feront les deux destructeurs.
Si on est capable d'avoir accès à Y (pour activer sa destruction avant celle de X), alors il n'y a pas de question de savoir si on pourra y avoir accès ou pas après : on stocke sa valeur dans un pointeur temporaire et basta, on le détruira après.
Tout est lié à la question de savoir comment on attribue les responsabilités.
 
Hors ligne p_zarby # Posté le 05/04/2007 à 11:13:52
Avatar
Groupe : Membres
j'attend avec impatoence la suite du tuto de Kaly, vous avez une idé de quand il va sortir

Zzp :p
 
Hors ligne J3tDrive # Posté le 05/04/2007 à 14:11:20
Regarde ma signature ...
Groupe : Membres
Quand les cours sur opengl continuerons ???

"L'union fait la force,
Ici on n'est tous pareil, chacun d'entre nous.
Tous les matins moi je fait un grosse merde au toilette, tu vois ce que je veux dire.
Moi je suis pas le best, pas le number one" LIM
 
Hors ligne pouranat # Posté le 05/04/2007 à 15:12:56
Groupe : Membres
on peut dire que kayl est désiré ...
mais on peut comprendre aussi qu il a d autres choses a faire ...
Hors ligne Goodwar # Posté le 05/04/2007 à 15:44:41
Kyle XY fan...
Avatar
Groupe : Membres
Citation : m@teo21
Cette partie sera faite pour être comprise uniquement si vous avez lu au moins la partie I et II sur le C. Vous ne pouvez donc pas arriver au milieu du cours et apprendre le C++ comme ça, parce que les bases sont enseignées avant.


Ca veux dire que même si on apprend pas la sdl, on peux quand même passer à cette partie ? Parce que tu as dit à un moment qu'il était important de l'apprendre car kayl allait s'en resservir :

Citation : m@teo21
Notez que pour suivre son cours il faut avoir lu tout mon cours de C / C++ jusqu'à la partie III sur la SDL incluse (Kayl utilise la SDL et OpenGL en même temps, vous verrez)


o_O j'y comprend rien.
Édité le 05/04/2007 à 15:48:57 par

Image utilisateur
 
Hors ligne Darkelfe # Posté le 05/04/2007 à 15:52:29
Apprendre tout sur tout !
Avatar
Groupe : Membres
Pour apprendre le C++, pas besoin de SDL.

Mais si tu veux faire de la prog 3D, le tuto de Kayl est disponible. Kayl utilise la librairie OpenGL, qui doit-être exploiter avec une librairie 2D. Ici, Kayl à choisi d'exploiter OpenGL avec SDL, car M@téo21 propose un tutorial sur l'utilisation de SDL (partie 3).

Envie de partager vos créations avec d'autre programmeurs ? Une seule adresse :
Image utilisateur
 
Hors ligne Goodwar # Posté le 05/04/2007 à 15:58:10
Kyle XY fan...
Avatar
Groupe : Membres
d'accord merci :)

Image utilisateur
 
Hors ligne S-sonic # Posté le 07/04/2007 à 10:23:03
Cours ! Cours !...
Avatar
Groupe : Membres
Vivement la suite des chapitres de Kayl !!
je les attends avec impatience :euh:

S'il n'y a pas de solution à un problème, c'est qu'il n'y a pas de problème...
 
Hors ligne scriptoff # Posté le 07/04/2007 à 11:14:38
While I breath , I hope
Avatar
Groupe : Membres
Citation : Darth Killer
J'ignore pourquoi, mais le titre de mes fenêtres refuse de contenir des accents, exactement comme la console DOS.

normale un char fait 1 octet , un caractère accentué fait 2 octet .

c++ ici


c'est normale qu'il y est pas le methode find dans le tutorielle sur string
Édité le 07/04/2007 à 11:16:09 par scriptoff
Hors ligne Samuel_222 # Posté le 07/04/2007 à 17:29:23
Ah que...
Avatar
Groupe : Membres

Salut,



J'ai été interpelé par une remarque de Mateo à la fin du dernier cours.

Citation : M@teo21
...vous en aurez vraiment besoin dans la partie V lorsque nous travaillerons avec la librairie Qt pour créer des fenêtres, travailler en réseau, etc...


Les applications réseaux sont prévues ? Formidable !
Pourtant, à la relecture du topic prévu à cet effet, je lis :

Citation : Ce que vous saurez faire dans la suite du cours
En effet, nous verrons comment créer des fenêtres avec la librairie QT. Et là, je parle de véritables fenêtres, des GUI comme on les appelle.


Mais pas question de réseau. Notre professeur favori pourrait-il éclaircir ce point ? Saurons-nous créer des applications exploitant le réseau Internet ? Que fera-t-on ? Approfondirons-nous le sujet etc... ?

Merci
Connecté Nesquik69 # Posté le 07/04/2007 à 18:03:51
Slave of the Rythm
Avatar
Groupe : Membres
Il n'en a pas parlé mais il n'a pas dit qu'il n'en parlerais pas ;)

Et en effet, on aura le droit à des explications sur le réseau ;)
 
Hors ligne Jowee # Posté le 08/04/2007 à 15:44:06
Mmmm, du manchot!!!
Avatar
Groupe : Membres
Il me semble qu'il a dit qu'il ne monterait que comment faire pour créer des fenêtres, des boutons...etc. Mais qu'après la doc serait là pour nous! :) (J'aime bien les docs)! Donc on ne fera surment pas de reseau avec M@theo21 et s'il il le fait et bien chapeau car ça ne doit pas être facile...

NALSEP
Nouvel Admirateur Du Language Suprême Qu'Est Le Python!
 
Connecté Nesquik69 # Posté le 08/04/2007 à 15:55:25
Slave of the Rythm
Avatar
Groupe : Membres
Citation : M@teo21
SDL_net que l'on verra dans la partie III sur la SDL n'est absolument pas faite pour les jeux, elle fonctionne pour tout. D'ailleurs les librairies réseau n'ont aucun rapport avec les jeux par définition.

Sinon, dans la partie V sur QT on fera pê du réseau plus poussé, mais j'en doute. La doc sera là pour t'expliquer tout ce que tu peux faire, moi je me concentrerai sur les fenêtres.
Chais pas si vous savez mais gérer le réseau c'est compliqué.

Voilà pourquoi il me semblait qu'on ferait du réseau :p .

Bon, bah c'est clair... il faut attendre de voir ;)
 
Hors ligne Samuel_222 # Posté le 08/04/2007 à 16:00:20
Ah que...
Avatar
Groupe : Membres
SDL_net ? On a pas vu ça... il y a eu un changement de programme entre temps ?
Hors ligne TheDead Master # Posté le 08/04/2007 à 19:20:17
4 8 15 16 23 42
Avatar
Groupe : Membres
Ouai apparemment SDL_net c'est de la merde donc m@t a pas fait le cours dessus.

Je n'ai plus internet depuis septembre 2008 pour une durée indéterminée.

Comité de lutte contre le langage sms et les fautes volontaires sur Internet.
 
Hors ligne Darkelfe # Posté le 11/04/2007 à 11:30:16
Apprendre tout sur tout !
Avatar
Groupe : Membres
Pour sur que SDL_net est nul. Y a pas pire pour faire de la prog réseau.

Envie de partager vos créations avec d'autre programmeurs ? Une seule adresse :
Image utilisateur
 
Hors ligne minirop # Posté le 11/04/2007 à 13:26:27
坂本美緒
Avatar
Modérateurs
Citation : Darkelfe
Pour sur que SDL_net est nul. Y a pas pire pour faire de la prog réseau.

on le sait mais c'est pas une raison pour le crier sur les toits !
*don't feed the troll*

pas commencés - en cours - finis - (dernier tome lu)
manga : Love Hina - Ichigo 100% - Fruits Basket - School Rumble - Death Note - Parmi Eux - One Piece (46) - Naruto (45) - Lovely Complex (10) - Fullmetal Alchimist (22) -> My Manga
IDE multiplateforme pour Qt Image utilisateur !! Qt @ IRC --> #qt-fr@irc.freenode.net
 
Hors ligne akhenathon # Posté le 11/04/2007 à 17:37:33
euh...
Avatar
Groupe : Membres
moi j'aurais une petite chose à dire à Mateo à propo de sa fonction longueurChaine dans le chapitre sur les manipulations des chaines

Citation : M@teo21
Code : C
long longueurChaine(const char* chaine)
{
    long nombreDeCaracteres = 0;
    char caractereActuel = 0;

    do
    {
        caractereActuel = chaine[nombreDeCaracteres];
        nombreDeCaracteres++;
    }
    while(caractereActuel != '\0'); // On boucle tant qu'on n'est pas arrivé à l'\0

    nombreDeCaracteres--; // On retire 1 caractère de long pour ne pas compter l'\0

    return nombreDeCaracteres;
}


je trouve que c'est dommage de faire ici une boucle bête et méchante alors qu'on peut faire beaucoup plus intelligent, instructif et condenser.

Imaginez que vous arriviez à trouver l'adresse du premier caractère et l'adresse du dernier caractère de la chaine, il vous suffit alors de faire une simple soustraction et vous avez la longueur de la chaine de caractère.
D'ailleurs pourquoi je dis 'Imaginez', c'est pas du à faire, il suffit d'utiliser quelques particularités des pointeurs et une propriété des chaines de caractères.

Code : C
long longueurChaine(const char* chaine)
{
  // on fait pointer un pointeur sur le premier caractères de la chaine
  const char *c = chaine;
  // on parcours la chaine
  while(*c) c++;
  // on retourne le résultat avec une simple soustraction
  return (c - chaine);
}


Quelques explications sur cette boucle, ici on utilise à font les pointeurs '*c' renvoie le caractère courant, on peut comparer ce résultat à un boélien car comme beaucoup le savent à chaque caractère correspond un nombre et donc si ce nombre vaut 0 alors on sort de la boucle mais la question c'est quel caractères correspond à 0 en décimal et bien c'est le caractère NULL de fin de chaine.
Enfin si on n'est pas à la fin de la chaine on avance dans la chaine.

Je trouve ce code trés instructif pour les zéros qui n'arrive toujours pas à comprendre les pointeurs et pour leurs faire comprendre l'utilité du caractère NULL de fin de chaine.

WTF :p
Code : SQL
1
DROP DATABASE IF EXISTS WTF
 
Hors ligne bad_woker # Posté le 11/04/2007 à 17:47:41
tout est relatif
Avatar
Groupe : Membres
Je dit peut être une connerie mais si l'espace mémoire juste après la chaine est ocupé, et bien ta boucle s'arrètera plus loin et résultat tu aura une valeure fausse.

L'abus de modération nuit gravement à la consomation...

Tout mes programmes en C et C++ : Mario Box, Lecteur Audio et Bomberman réseau
 
Hors ligne Darkelfe # Posté le 11/04/2007 à 18:01:49
Apprendre tout sur tout !
Avatar
Groupe : Membres
Non, car les chaines de caractères finissent Toujours par le caractère '\0'. Donc il n'y a pas de problème.

Envie de partager vos créations avec d'autre programmeurs ? Une seule adresse :
Image utilisateur
 
Hors ligne akhenathon # Posté le 11/04/2007 à 18:06:40
euh...
Avatar
Groupe : Membres
si ta chaine ne fini pas par un '\0' (caractère NULL) c'est alors une chaine invalide et tu peux la donner à strlen(), je pense que le résultat sera faux aussi et la fonction de mateo aussi renvera alors un résultat faux

c'est la qu'on voit l'utiler du '\0' à la fin de la chaine

WTF :p
Code : SQL
1
DROP DATABASE IF EXISTS WTF
 
Hors ligne bad_woker # Posté le 11/04/2007 à 19:30:36
tout est relatif
Avatar
Groupe : Membres
Oui ok j'avais complètement oublié le \0 désolé

L'abus de modération nuit gravement à la consomation...

Tout mes programmes en C et C++ : Mario Box, Lecteur Audio et Bomberman réseau
 
Hors ligne charly 90 # Posté le 11/04/2007 à 19:45:53
Avatar
Groupe : Bannis
Citation : cita
Je dit peut être une connerie mais si l'espace mémoire juste après la chaine est ocupé, et bien ta boucle s'arrètera plus loin et résultat tu aura une valeure fausse.


à mon avi le système va arrêter ton programme et pour cause:
Interdiction d'allé fouiner dans un emplacement mémoire qui ne t'appartient pas (sauf autorisation ^^ ).
D'ou les messages d'erreur de ce type:
La mémoire ne peut pas être "read" emplacement: 0x0508505 à 0x0508509,
veillez contacter le fabriquant du produit.


et pour les autres qui disent des trucs méchants sur SDL_Net:
ben sachez que SDL_Net c'est bien pour commencé et que c'est amplement suffisant pour la gestion des sockets avec les 2 protocoles de base: (TCP OU UDP) et IP.
Édité le 11/04/2007 à 19:50:34 par charly 90

The paradise was full.So, i came back... :ange:
 
Hors ligne king92world # Posté le 11/04/2007 à 21:29:58
Avatar
Groupe : Membres
Salut à tous les zéros !

Tout d'abord bravo à M@théo pour ses cours sur le C/C++ qui sont très bien expliqués avec une pointe d'humour, ce qui fait qu'on ne s'ennuie jamais en lisant ses tutoriaux !

Sinon je suis en train de programmer un jeu de stratégie tour par tour et j'aimerais utiliser la bibliothèque Qt4. Comme les tutos sur ce thème tardent à sortir ( je ne te blâme pas M@théo, je sais que tu as beaucoup à faire :p ), j'ai trouvé un livre traitant du sujet qui me parait intéressant : Qt4 et C++ : Programmation d'interfaces GUI

Mais je suis débutant en C++ et je me demande si j'arriverais à comprendre ce livre... :euh:

Alors si vous l'avez, est-ce qu'il est abordable pour les débutants et est-ce qu'il est "bien" ?

Merci et bon courage M@théo et tous les zéros !

The SushiMan :D

Projet en C++ et Qt4 :
Modern War ( stratégie tour par tour ) : 6 %
 

Retour au forum "Langage C++" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 158 Zéros connectés | Requêtes SQL 6 requêtes | Temps de génération de la page : Total (SQL) 0.0978s (0.0804s)