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

Questions (langage C)

Jarozse
Jarozse
Niveau 10
18 décembre 2004 à 13:08:00

Bonjour,

J´ai un projet en C à faire ( à compléter plus exactement), et j´ai deux questions à ce propos.

1) Un nouveau type est défini, le type labyrinthe :

typedef struct {
int compteur;
unsigned char mur;
} Cellule;

typedef struct {
int largeur;
int hauteur;
int epais_mur;
int larg_cel;
int haut_cel;
Cellule **cel;
int *balayage;
gray **dessin;
} Labyrinthe;

Pour prendre les éléments d´un nouveau type, j´ai appris nouveautype.élémentquelonveut, mais là on utilise nouveautype->élémentquelonveut Est-ce que c´est la même chose ? ( je voudrais avoir confirmation avant de faire bugguer tout le programme :) )

2) J´ai le compilateur Dev-C++ sur mon ordi. Je sais compiler un fichier source unique, mais là il faut compiler plusieurs fichiers . c et . h, et lors de la compilation, il précise qu´il ne trouve pas les fichiers appelés.
Par exemple, au début de main.c, j´ai

  1. include " labyrinthe.h"

Et le log de la compilation me sort
pgm.h No such file or directory

Ma question est donc, comment on compile le tout ?

Bon, c´est certainement tout simple, surtout que l´on a pas terminé le cours et que l´on va certainement voir ça ultérieurement, mais j´aimerais prendre un peu d´avance avec les vacances.

Merci d´avance.

JeanYvesYves
JeanYvesYves
Niveau 10
18 décembre 2004 à 14:03:45

1)
non :
a.b et a->b sont différents :
cela téclairera + si je te dis que :

a->b < => ( *a).b

ça dépend donc si tu as une structure ou un pointeur vers une structure :

Voici 2 exemples : :

Labyrinthe L;
L.largeur=3; / / bon
L->largeur=3; / / faux

sinon :

Labyrinthe* L;
/ / malloc de structure
L.largeur=3; / / faux
L->largeur=3; / / bon

2)
copie tes fichiers . h et . c dans ton projet sur la gauche de DevC++.

Jarozse
Jarozse
Niveau 10
18 décembre 2004 à 17:36:11

Ok merci bien !

buz-l-orage
buz-l-orage
Niveau 10
19 décembre 2004 à 01:22:59

utilises tux spluS mieux pour coder

gollumkawder
gollumkawder
Niveau 10
19 décembre 2004 à 01:56:08

utilise ta tete, c´est mieux pour coder...

JeanYvesYves
JeanYvesYves
Niveau 10
19 décembre 2004 à 15:13:21

L´avantage du C ou du C++, c´est qu´il est completement portable.
Donc pour répondre à buz-l-orage : non, Tux n´est pas mieux pour coder.
Il n´est peut etre pas moins bien, mais je ne vois pas pkoi ce serait mieux
( je sais de quoi je parle, j´en ai fait sous Tux aussi)

dnob700
dnob700
Niveau 10
19 décembre 2004 à 16:10:17

" L´avantage du C ou du C++, c´est qu´il est completement portable. "

c´est qu´il peut être complétement portable je dirait, parce que faire du code non portable c´est pas très dur, surtout dès qu´on se mets à faire des appli un tant soit peu complexe pour lesquelles on a besoin des service de l´OS a moins de passé par des lib portable, mais qui limite les possibilités...

JeanYvesYves
JeanYvesYves
Niveau 10
19 décembre 2004 à 19:22:02

évidemment, si tu pilotes de la WinAPI, ou du X11, ou de l´OS ( unistd.h est non portable)
bien sur qu´il faut faire attention ( bien que QT, WxWindows, GLUT, SDL, etc...) sont des libs qui permettent de faire de la WinAPI ou des jeux sur les 2 systemes avec le meme code....

Mais bon, pour un probleme de structure, Windows ou Linux n´ont rien a voir la dedans : kif. kif.

buz-l-orage
buz-l-orage
Niveau 10
19 décembre 2004 à 21:31:22

oue ´fin je prefere clairement tux pour coder ( en c/c++ en tout cas).
suis loin d´etre anti bilou et pro tux mais pour coder perso, y´a pas photo.

JeanYvesYves
JeanYvesYves
Niveau 10
19 décembre 2004 à 22:22:01

Tu as remplacé :
" utilises tux spluS mieux pour coder"
-->
" oue ´fin je prefere clairement tux pour coder "

merci d´avoir corrigé !
Ne jamais généraliser son cas personnel :)

lag-it
lag-it
Niveau 10
19 décembre 2004 à 23:05:47

Mouaif mouaif...

Perso avec Visual C++ . net comme ide ( et un bon compilateur derrière pour ceux que ca gêne) je suis comblé sous windows :)

Après il est fort possible que d´autres languages soient plus agréables à coder sous linux, mais pour C/C++, windows jouit de très solides arguments.

Et puis vu que je ne me sert que de wxWidgets, OpenGL et SDL, pas de soucis de portabilité...

dnob700
dnob700
Niveau 10
20 décembre 2004 à 00:05:00

" et un bon compilateur derrière pour ceux que ca gêne"

t´utilise quoi ?

Jarozse
Jarozse
Niveau 10
20 décembre 2004 à 01:34:33

Heu...pour coder il n´y a pas besoin juste d´un éditeur de texte ? Pour compiler je dis pas, mais comme je me sers de Dev C++ comme roue de secours(à l´école je travaille sous Linux), je m´en fiche de savoir si c´est la meilleure manière ou non.

kufa
kufa
Niveau 9
20 décembre 2004 à 02:22:21

" L´avantage du C ou du C++, c´est qu´il est completement portable. "

Heu oui enfin en theorie.
Moi je passe mon temps a faire du code portable, enfin quand je dis portable c´est pour 3-4 plateforms comletement differentes, chacune avec leur compilo. Et ben c´est BCP de travail...

JeanYvesYves
JeanYvesYves
Niveau 10
20 décembre 2004 à 08:17:57

Oui, mais bon, la on parle de " structs", pensez vous vraiment que le sujet soit un ( 150000eme) débat sur Linux ? ( je sais, c´est moi qui ai vivement répondu, mais bon...)

Oui, sinon, coder revient a taper du code sous un bloc note, puis a la compiler.

Enfin bref, meaculpa pour avoir répondu sur le sujet " Linux", si tu as d´autres questions en C, je serai ravi d´y répondre !

lag-it
lag-it
Niveau 10
20 décembre 2004 à 11:03:58

dnob700 > J´utilise celui fourni avec la version 2002 de Visual C++ . net : j´ai rien changé.
Mais certains lui repprochent certaines choses, ils ont donc la possibilité de ne conserver que l´ide.

kufa
kufa
Niveau 9
20 décembre 2004 à 14:36:03

jyy: je n´ai jamais dis que je codais pour pinguin, et ce n´est pas la cas, et encore moins ce que je voulais dire. Je parlais du fait que les compilos sont tous plus ou moins conformes ( a part comeau ; ) a la norme, et c´est comme ca qu´on se retrouve avec des
for( int i = 0; i < 2; ++i ) ;
for( int i = 0; i < 3; ++i ) ;
qui ne compilent pas sous certaines version de visual.
Si on parle de C, les implementations du C99 sont tres aleatoires, mais bon je pense pas qu´il utilise les fonctionalites du languages qui ne sont pas implementees correctement partout ; )

JeanYvesYves
JeanYvesYves
Niveau 10
20 décembre 2004 à 23:08:55

kufa > tout a fait d´accord :)

dnob700
dnob700
Niveau 10
21 décembre 2004 à 03:17:45

mais alors le int dans l´initialisation de la boucle c´est à la norme où pas ?

parce que je pensais que c´était le cas, et puis j´ai appris que non.

en tout cas, toute les version du Visual C++ que j´ai vu passer l´acceptait à moins de le désactiver dans les option du compilo, par contre mingw ne l´accepte pas par exemple.

lord_kalipsy
lord_kalipsy
Niveau 10
21 décembre 2004 à 04:36:04

Chaque compilo est un peux différent alors même avec une norme . ... Il faut de tout pour faire un monde hein ! :-p

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