 | Forum Le CBNA Le Forum du CBNA a pour but de vous aider dans l'utilisation de GameMaker. Premier forum Francophone sous GameMaker, vous trouverez des .gmd, .gm6, .gmk, scripts, logiciels et d'autres ressources sur Le CBNA. |
| | | | Auteur | Message |
|---|
M@d_Doc Modérateur 'Programmation'

Age : 18 Inscrit le : 12 Fév 2005 Messages : 4055 Localisation : 47°44'8.04 : ────────── : Projet Actuel : trouver un contrat Avancement :
  (100/100)
| Sujet: Structure C++ Mer 16 Jan - 21:11 | |
| Est ce que quelqu'un pourrait m'expliquer ce qu'est concretement struct en C++ ? Parce que j'ai du mal à piger le concept et l'utilité du schlm... scmilb... du truc  _________________ Click for a free cookie |
|  | | daminetreg - Administrateur -

Age : 18 Inscrit le : 11 Fév 2005 Messages : 16209 Localisation : Siege du CBNA! : ────────── : Projet Actuel : Game Maker Human Input Avancement :
   (60/100)
| Sujet: Re: Structure C++ Mer 16 Jan - 22:59 | |
| Une structure? C'est assez simple, en fait au lieu de devoir appellé les variables une à une, une structure est un groupement de variables, ça permet entre autre, de faire des listes chaînées, qui sont très utiles pour stocker des grands tableaux qui se modifient en permanence, et donc pour faire des tris par insertion par exemple.
Je vais illustrer les structures, rapidement, en faisant une structure personnage. On va dire d'ailleurs qu'une Structure c'est comme un objet dans Game Maker, qui ne peut cependant pas prendre de code, il peut seulement stocker des variables mais c'est pour illustrer.
Donc: On met toujours une majuscule pour les noms de structure, c'est une règle non obligatoire mais la plupart des programmeurs font ainsi, dans l'idée de bien reconaîtres variables et structures de variables.
| Code: | struct Personnage { char nom[20];
int x; int y; int force; }; |
Une structure se définie en dehors des fonctions, en général on les défini dans des .h, mais pour un rapide test tu peux le faire au dessus du main. On vient en fait de créer un nouveau type de variable, de nom: struct Personnage.
Ce que l'on peut faire c'est carrément créer un nouveau type, plutôt que de toujours devoir écrire struct Personnage dans notre code, on pourra par exemple juste ecrire: Sperso pour le type de structure qu'on créera. Ainsi avant ou après la définition de la structure on écrira:
| Code: | typedef struct Personnage Sperso; |
On aura ainsi un alias pour notre nouveau type de variable, qui n'est en fait qu'un groupement de plusieurs variables.
Ensuite dans les fonctions, dans main par exemple, on va créer une structure du type qu'on a défini. C'est un peu comme l'instance d'un objet, cependant on utilise pas ce vocabulaire pour une structure. Il faut y faire attention.
| Code: | int main (void) { Sperso MonPersonnage;/* Créer une structure de type Sperso et de nom MonPersonnage... */
/ *On va maintenant entrer les valeurs qui seront contenues dans les différentes variables de MonPersonnage. */ MonPersonnage.nom = "Bryan"; MonPersonnage.x = 12; MonPersonnage.y = 23; MonPersonnage.force = 2;
/* Nous allons maintenant les afficher */ printf("%s - %d - %d - %d",MonPersonnage.nom,MonPersonnage.x,MonPersonnage.y,MonPersonnage.force);
return 0; }
|
Voilà, cela affichera donc les valeurs stockées dans la structure, il faut savoir que les structures peuvent paraître inutiles au premier abord, mais au contraire cela permet beaucoup de chose: trimbaler qu'une variables lors des appels de fonction, si on créé un thread POSIX on ne peut passer qu'un argument, donc qu'une variable, en faisant une structure on peut passer plusieurs variables, en faisant passer la structure. C'est également très utile pour toutes les données vouées à être triées, car on peut faire des listes chaînées (des structures reliées entre elles par un pointeur vers la structure suivante et un pointeur vers la précédente).
Voili voilou, si jamais tu as encore des question, ou si je me suis trompé dans la syntaxe, n'hésites pas. _________________
 Mon CV
Tous Ensemble! Réalisons! I want (and I need) to show you my work, but the time is against me. |
|  | | M@d_Doc Modérateur 'Programmation'

Age : 18 Inscrit le : 12 Fév 2005 Messages : 4055 Localisation : 47°44'8.04 : ────────── : Projet Actuel : trouver un contrat Avancement :
  (100/100)
| Sujet: Re: Structure C++ Mer 16 Jan - 23:05 | |
| ah oook... en fait ouais ça parait bien utile... J'ai compris le principe... je vais un peu appliquer tout ça pour que ça rentre ^^ _________________ Click for a free cookie |
|  | | daminetreg - Administrateur -

Age : 18 Inscrit le : 11 Fév 2005 Messages : 16209 Localisation : Siege du CBNA! : ────────── : Projet Actuel : Game Maker Human Input Avancement :
   (60/100)
| Sujet: Re: Structure C++ Jeu 17 Jan - 9:46 | |
| J'aurais pu éclaircir encore en disant: que cela permet d'associer plusieurs variables de types différent.
On peut faire des tableaux de structure, ça permet alors d'avoir un tableau contenant tant des int, que des chars ou des pointeurs. C'est principalement usé pour ça, car en C++ on fait le plus souvent des objets lorsqu'il s'agit de regrouper des variables, par contre en C on a que ça.  _________________
 Mon CV
Tous Ensemble! Réalisons! I want (and I need) to show you my work, but the time is against me. |
|  | | lv3895 Utilisateur confirmé: Rang *

Inscrit le : 09 Sep 2007 Messages : 264 : ────────── : Projet Actuel : X Number v.1.02 Avancement :
   (60/100)
| Sujet: Re: Structure C++ Sam 26 Jan - 23:30 | |
| | C'est pratique! En fait, c'est un peu comme du SQL : une table avec plusieurs variable contenant un nombre ou un mot, et quand on fait un MySql Fetch Array (enfin je crois que ça s'appelle comme ça) pour afficher le contenue d'une table, non? |
|  | | daminetreg - Administrateur -

Age : 18 Inscrit le : 11 Fév 2005 Messages : 16209 Localisation : Siege du CBNA! : ────────── : Projet Actuel : Game Maker Human Input Avancement :
   (60/100)
| Sujet: Re: Structure C++ Dim 27 Jan - 21:59 | |
| Tu mélange un peu deux chose: SQL et PHP, mais ce que tu dis est vrai. 
Dans: | Code: | $query_result = mysql_query("SELECT usernarme FROM usertable GROUP BY username;"); $abc = mysql_fetch_array($query_result); echo $abc;
|
mysq_fetch_array() est une commande php qui retourne une à une les enregistrements du résultats d'une requête SQL sur une base de données de type Mysql. Alors que ce qu'on appelle du SQL (Structured Query Language) qui est un langage standard (il y a en plusieurs mais SQL 2 est le plus souvent utilisé) qui permet simplement de parler avec la base de données, toutes les bases de données relationnelles fonctionnent avec SQL.
En général SQL permet simplement de regrouper des champs (vues), créer des index (pour améliorer l'accès aux données), créer des tables, des champs, des relations (pour éviter la redondance de l'information), ajouter des enregistrements, en modifier et supprimer des tables et des enregistrements, également modifier ou créer la structure des tables.
Ensuite on traite les données récupérées, d'où le rôle de mysql_fetch_array qui reçoit un tableau de valeurs généré par MySQL suite à une requête SQL et qui permet de dissocier les différentes lignes du tableau pour les afficher une à une.
Enfin MySQL est un SGBD (Système de Gestion de Base de données) relationnel, et SQL est le langage utilisé pour y accèder mais SQL est utilisé dans toutes les autres SGBD telles que Sybase, SQLite, Oracle etc.
Voili voilou, mais en effet on peut considérer que les structures sont un peu des tables, même si quelque part c'est très différent.  _________________
 Mon CV
Tous Ensemble! Réalisons! I want (and I need) to show you my work, but the time is against me. |
|  | | lv3895 Utilisateur confirmé: Rang *

Inscrit le : 09 Sep 2007 Messages : 264 : ────────── : Projet Actuel : X Number v.1.02 Avancement :
   (60/100)
| Sujet: Re: Structure C++ Lun 28 Jan - 7:36 | |
| Oui, mais c'était juste une petite comparaison de principe. Quand au SQL et au PHP, je m'en fiche j'utilise les deux en même temps donc j'ai pas à différencier tant que ça marche  |
|  | | Gab666 Modérateur 'Zut' & 'Ablationer'

Age : 17 Inscrit le : 02 Aoû 2005 Messages : 5263 Localisation : **I move away from the mic to breathe in : ────────── : Avancement :
  (0/100)
| Sujet: Re: Structure C++ Lun 28 Jan - 14:57 | |
| Par contre Dam parle plus des structures C, en C++, c'est identique à une classe(avec les méthodes, héritage et tout) sauf que si on utilise pas le mot clé public: il est là par défaut contrairement aux classes que c'est private. _________________ PIS MANIAC PREND DES BAINS ! |
|  | | |
| Page 1 sur 1 |
| | Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| | |
| |
|