France Hardware : Forums de discussion - Découvrez notre nouveau comparateur d'offres Internet
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
29 582 membres enregistrés - 2 069 993 posts - 122 247 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Debuter en language C
157 connectés(record : 2799 le 29 May 2016 - 15 h 34)

Vous devez vous connecter pour répondre au topic.
1,2 | Suivant
Debuter en language C

stephaninho


Messages : 13
Inscrit le 03/06/06
Ville : paris
Non connecté
  Posté le 03 June 2006 - 11 h 00 m 19 s
Bonjour,

Je suis, à l'origine, dans les sciences plus liées à la mécanique.. malheureusement pour les accrocs de la programmation, je vais, durant quelques temps, sacager un peu ce language qui permet de faire des choses si interessantes.
J'aimerais un coup de pouce pour m'y mettre. J'ai regarde sur ce forum, d'autre et meme sur google et j'ai pris Gcc mais je n'arrive pas à le faire fonctionner, je ne sais pas par ou commencer, j'ai divers cours mais entre compilateur, editeur et tout l'ensemble du language je suis perdu. :chepa:
si quelqu'un pouvait m'orienter un peu, je serai très reconnaissant.

Merci :)


Message édité 1 fois, la dernière par stephaninho le 03 June 2006 - 11 h 02.


bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 03 June 2006 - 19 h 46 m 01 s
ben d'abord, que veux tu dire, à propos de gcc, par "je n'arrive pas à le faire fonctionner" ??? gcc est un compilo, pas un IDE, donc c'est en mode commande, dans le shell si tu es sur linux, en invite de commande si tu es sur windows.

Sinon, il est préférable d'avoir un IDE, et tu peux prendre Bloodshed C++ qui est basé sur gcc justement (tu peux faire du C ou du C++, au choix)

Si tu as parcouru le forum, tu as surement vu qu'il est vivement conseillé d'acquérir un bouquin genre le K&R pour bien débuter, parce que le C c'est pas tout à fait comme VB ou PHP, c'est un peu aride, et faut quasiment un permis de port d'arme pour en faire :D

Tu peux bien sûr revenir poser des questions ici, soumettre des bouts de code qui te posent problème, etc.

Ah, encore un truc : c'est bien du C que tu veux faire ? pas du C++ ? parce que c'est très différent, contrairement à ce que disent certains qui se contentent d'à-peu-près (ce qui ne pardonne pas souvent en programmation sérieuse)

Une dernière chose : en français, langage ne prend pas de u après le g ;)




La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


stephaninho


Messages : 13
Inscrit le 03/06/06
Ville : paris
Non connecté
  Posté le 03 June 2006 - 19 h 53 m 47 s
:hello:

Merci pour langage, inatention de ma part :)

Ne m'en veut pas mais je n'ai rien compris à ton premier paragraphe, je suis débutant et ce mot prend tout son sens ici, avec mon cas !

J'ai effectivement regarde dans le forum mais bien des notions me manquent pour comprendre :chepa:

J'ai télécharge, daprès un cours que j'ai, le compilateur gcc (http://www.delorie.com/djgpp/zip-picker.cgi) malheureusement je n'arrive pas à le faire tourner. Je prendrai le logiciel que tu m'a gentillement conseillé. J'ai télécharge Dev C mais il ne m'inspire pas.

Merci pour les lignes de codes, pour le moment j'en suis à trouver les bons logiciels lol

C'est effectivement le C que je veut programmer, je suppose que c'est une bonne base avant le C++. l'occasion de mon apprentissage est la mise en programme d'un autre programme réalisé préalablement sous excel. C'est un artifice de calcul fastidieux. Divers éléments sont à prendre en compte et j'aimerais faire un petit programme adapté.

Si tu as des conseils, ils sont les bienvenus, des tutoriaux ou même des logiciels lol

merci !




bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 03 June 2006 - 20 h 19 m 46 s
j'ai relevé le coup de "langage/language" parce que beaucoup de monde fait la faute (qui n'en est pas une en anglais, ça doit être pour ça)

Bon, reprenons. Pour le 1er § en effet j'ai été un peu abscons. Donc, un IDE c'est disons une plate-forme graphique de développement : un éditeur pour écrire son code, des menus, des boutons etc etc pour compiler, débugguer, etc. Ce que tu as chargé c'est juste le compilateur, disons le programme qui va lire ton code source et le transformer en code exécutable. Faudra faire un truc du genre "gcc monprog.c", et tu avoueras que c'est pas du plus grand pratique ! Alors qu'avec un IDE tu cliques sur "compiler", et dans une fenêtre tu as le résultat : les éventuelles erreurs avec le numéro de ligne et la ligne de code, tu double-cliques dessus et hop, tu te trouves sur la ligne qui merde. Y'a plus qu'à savoir corriger, c'est super non ?

DevC++ est très simple d'utilisation, intuitif en plus. Mais en effet, si tu es total débutant, y'a des notions qui doivent te manquer. Dans ce cas (et dans tous les autres cas en général) on peut dire que google est ton ami ! Et plus généralement tout le net, d'ailleurs.

Donc, au début, tu vas tatonner, t'énerver, te décourager, et puis si tu insistes, tu vas voir que ça vient tout doucettement. De toute façon, quand tu auras peiné un peu, l'accès à d'autres IDE, environnements ou compilateurs te sembleront familiers, t'en fais pas.

Pour ce qui est de ton code, tu peux très bien l'écrire (avec notepad, même) et poser tes questions ici, y'aura bien quelqu'un pour t'aider !

Allez, vas-y, lance toi !

P.S. : j'ai pas été des plus clairs cette fois ci encore, hein ? :hot:



La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


stephaninho


Messages : 13
Inscrit le 03/06/06
Ville : paris
Non connecté
  Posté le 03 June 2006 - 20 h 51 m 44 s
Pas de problèmes.. cependant je n'ai pas "abscons" dans mon dictionnaire :chepa:

Sisi tu as été nettement plus clair, merci beaucoup d'avoir fait l'effort :) ! Il faut voir si maintenant, moi j'ai bien compris lol. En fait, une IDE serait un programme doté d'une interface et composée de toute les fonctions d'un programme tel que Gcc, et même d'autre, sauf que j'aurai moins de choses à faire, c'est ça ?

Pour Dev C, je vais faire en sorte de m'y mettre patiemment. De toute façon il n'y pas de raisons que je n'y arrive pas.

Je ferai ça pour les codes, en espérant que tous auront ta patiente !

Merci beaucoup !

Ca y est j'y suis... je me lance... :D


Message édité 1 fois, la dernière par stephaninho le 03 June 2006 - 20 h 52.


bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 03 June 2006 - 20 h 59 m 12 s
abscons : imbitable :lol:

Un IDE c'est une plate-forme de développement, qui n'est pas un compilateur mais qui utilise un compilateur. Il n'a donc aucune fonction de gcc, qui lui est "externe" et indépendant ! D'ailleurs, tu pourrais très bien en bricolant un peu faire utiliser à ton IDE un autre compilo.

Sinon, tu auras autant de choses à faire mais pas en ligne de commande, en cliquant, ce qui est plus abordable que se souvenir d'un tas de commandes...

Tu as raison : y'a pas de raison que tu n'y arrives pas. Et pour la patience, tu n'as qu'à explorer un peu les topics de programmation : les gens viennent ici pour aider, suffit de faire un peu de boulot (et pas demander aux autres de le faire à ta place) pour qu'ils te corrigent, t'expliquent, complètent ton code.

Allez, d'ici un jour ou deux, on va voir des bouts de code qui te posent problème !

A+ et bon courage.



La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


stephaninho


Messages : 13
Inscrit le 03/06/06
Ville : paris
Non connecté
  Posté le 03 June 2006 - 21 h 09 m 58 s
merci d'avoir appris un mot :yes:

D'accord, je vais voir si je m'en sort !

Merci beaucoup pour ton aide :)




stephaninho


Messages : 13
Inscrit le 03/06/06
Ville : paris
Non connecté
  Posté le 04 June 2006 - 12 h 57 m 49 s
Salut à tous !

Après les conseils de Bernie, je me suis lancé dans la programmation en C et je me vois déja avec des souçis ! J'ai ici, un programme récupéré sur le net mais je n'arrive pas à le faire fonctionner. Pour être franc, je me demande si je n'ai pas mal installé Dev C car lorsque j'execute, il me dit que le programme n'a jamais été compilé même si je viens de le faire et je n'ai rien réussi à voir s'afficher l'écran !

le voici :

1 #include <stdio.h>
2 #include "local.h"
3 main ( )
4 {
5 int n, N;
6 n = 0;
7 printf ("hello\n");
8 }


Alors, la sintaxe me pose probleme. Dans dev C, lorsqu'on demande un projet d'application windows, il met, à la place de <stdio.h> <windows.h>... je suppose que mon problème est de savoir à quoi correspond cette "lettres" entre guillemets. J'ai lu que ça correspondait au fichier qui contient les définitions des entrées-sorties standard mais, encore une fois, j'ai du mal à comprendre, c'est un fichier qui regroupe des instructions, notamment "printf" ?

Aussi, pourquoi l'une est entre guillemets et l'autre entre quotes, j'ai cru voir que, pour ce cas, le logiciel allait chercher dans le repertoir local puis, s'il n'y es pas, ira au même endroit que le premier entre crochets. Quelle est l'utilité de faire ça ?

Autre chose, main correspond, d'après mes lires, à la première appelée du programme... à quoi sert il s'il n'y à rien entre parenthèses ? J'ai vu parfois int main ou in main (void) mais je ne comprend pas les explications :chepa:

Merci d'avance...

Stéphane.




bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 04 June 2006 - 17 h 36 m 46 s
hé hé, je vois que tu fais les mêmes erreurs que tout le monde ! (et ça m'a l'air normal)

Voyons ça... Ce prog que tu as récupéré sur le net est comme beaucoup de progs, mal écrit. Et oui, c'est pas parce qu'on le trouve sur internet que c'est propre ! Voici le code un peu plus standard.
    Code     
1. #include <stdio.h>
2. int main(void)
3. {
4.     printf("hello\n");
5.     return 0;
6. }

Pour faire tourner ce code dans devc++, il te faut créer un projet, le plus simple qui soit : prends le mode "console" ou quelque chose d'approchant, parce que tu ne vas pas commencer par créer des fenêtres Windows (tu as du choisir un truc du genre "windows project" c'est donc normal qu'il te jette)

Le code maintenant :
#include <stdio.h> : tu inclus un fichier d'en-tête standard (les <>) qui correspond à une bibliothèque de fonctions standard que tu vas utiliser (ici, printf). En effet, les guillemets signalent au compilo que le fichier d'en-tête que tu veux inclure n'est pas "système" mais utilisateur (donc à aller rechercher... dans le ou les répertoires que tu auras indiqué(s) à DEVC++)

int main(void) le "point d'entrée" de ton prog. int parce que à la sortie main renvoie toujours un integer, void parce qu'on n'attend aucun paramètre. Si tu veux que le prog accepte un ou des paramètres, le prototype devient
int main(int argc, char **argv) : argc est un integer qui donne le nombre de paramètres passés + 1 et char **argv est le tableau de caractères contenant les paramètres. Je développe pas plus, faudra que tu apprennes comment on appelle une fonction, etc.

printf("hellon"); : tu veux écrire à la console le mot hello ; le n étant le caractère "spécial" permettant de faire un retour chariot. printf étant une fonction, on a mis "hellon" entre parenthèses : c'est le paramètre passé à printf, pour lui dire quoi imprimer.

return 0; : je sors de main en retournant la valeur zéro. Remarque que 0 n'est pas entre parenthèses : return n'est pas une fonction. Mais si tu en mets, ça marchera quand même.

Pour t'informer un peu, va donc voir la très sérieuse FAQ de fr.comp.lang.c ça peut te permettre de clarifier quelques trucs (mais c'est pas un tuto non plus, rien ne vaut un bouquin), sinon, sur les sites universitaires on trouve toujours des cours en ligne, du code, etc... j'avais il y a quelques temps utilisé avec profit celui là ça permet de se mettre le pied à l'étrier, même si ça évite pas l'achat d'un bouquin genre K&R...

Bon courage, et excuse moi d'être parfois confus, je ne suis pas très très pédago :unhappy:

EDIT : p*tain de \ qui passe pas !


Message édité 2 fois, la dernière par bernie38 le 05 June 2006 - 16 h 21.

La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


Petit_PimoOosE
rsqrtps & pshufb

Messages : 4 617
Inscrit le 15/06/03
Ville : Montréal
Non connecté
  Posté le 05 June 2006 - 05 h 39 m 17 s
Juste une petite précision sur "à quoi ça sert, les fichiers d'inclusion utilisateur" : à partir d'un certain moment, quand ton programme devient assez gros (en fait, non, le plus tôt est le mieux...), la bibliothèque standard du C ne va plus te suffire et tu vas vouloir découper ton programme en petits morceaux - les fonctions et les modules.
Les fichiers d'inclusion seront le lien qui permettront à chaque module ce que lui-même et les autres proposent comme fonctions/services.

Une chose important à noter est qu'un .h lui-même n'est pas le module, il ne contient pas (enfin, ne devrait pas contenir, de manière générale) de code, simplement des définitions qui permettent
1. de savoir ce que les modules ont comme fonctions
2. à quoi ressemblent les fonctions pour savoir comment les appeler.

Sans les .h, ont peu toujours jouer avec les mécanismes d'inférence de signature du C, mais c'est jouer avec le feu...

edit : dans ce cas, grâce à stdio.h, on sait par exemple qu'on a accès à la fonction int printf(const char *, ...), et que celle-ci prend en paramètre une chaîne de caractères - qui ne sera pas modifiée - ainsi qu'un nombre variable de paramètres de n'importe quel type (tout dépendant de la première chaîne), ainsi qu'elle retourne un entier.
On sait aussi par exemple que l'on a accès à FILE * fopen(const char *, const char *), qui prend deux chaînes de caractères non modifiées et qui retourne un pointeur vers une structure de fichier.

Mais rien ne dit, dans ce fichier, comment ces fonctions fonctionnent. Ça, c'est le rôle de la bibliothèque C standard, qui est associée au programme pendant la phase de lien.


Message édité 1 fois, la dernière par Petit_PimoOosE le 05 June 2006 - 05 h 45.

Huile de fraise.

stephaninho


Messages : 13
Inscrit le 03/06/06
Ville : paris
Non connecté
  Posté le 05 June 2006 - 15 h 25 m 56 s
Merci bernie.

J'ai trouvé bon nombre de programmes similaires à celui-ci et effectivement je me perd un peu. Pour comprendre, j'ai besoin d'un programme et de le décortiquer. Je peux ainsi faire des tests et comparer les résultats.

1 - Tu m'as dis que lorsque j'écris #include <studio.h> je dis au logiciel qu'il devra aller chercher des instructions dans un dossier que j'aurai défini à Dev c. Mon inquiètude, pour ce cas, est que je n'ai absolument rien défini à Dev C :chepa: !

Effectivement, avec tes explications j'ai bien mieux compris le petit programme. Juste quelques remarques. \n, ce n'est pas retour à la ligne ? j'ai lu sur un cours (celui de Christian Bac, de 2000) que \r était le retour chariot. Si, d'ailleurs tu pouvais m'expliquer la différence je te serais bien reconnaissant.

2 - Aussi, lorsque je test ce petit programme, la fenêtre s'ouvre mais ne reste pas affichée. J'ai du bidouiller et je suis tombe sur une instruction qui disait "system("PAUSE")" j'ai supposé que c'était pour que la fenêtre ne se ferme pas et j'ai eu raison (première satisfaction :D).
Pourrais-tu m'expliquer pourquoi avec la version que tu m'a donnée elle ne reste pas affichée ?

3 - Autre chose, void sert, d'après ce que j'ai compris, fait savoir au compilateur qu'on attend pas de paramètre. Seulement j'ai essayé de le faire sans et ça marche aussi, enfin la fenêtre ne reste pas affichée mais ça marche comme la correction que tu m'a fournie.

4 - Une derniere chose au sujet du programme. Pourquoi on écrit return 0 ? J'ai cherché dans divers cours mais je n'ai pas trouve. D'ailleurs, j'ai essayé de mettre autre chose pour voir (2, 10, 100) mais ça ne change rien.

5 - On ne se moque pas de mes essais, même si, pour toi, ils doivent sembler absurde lol !

Mais si tu es doué comme pédagogue ! Il faut dire que mes questions sont un peu dans tout les sens, je suis à la phase difficile, celle ou aucun élément n'est encore bien ancré, tout bouge, donc j'ai du mal et c'est pour ça que la, j'ai essayé de structuré un peu plus mes questions, histoire que tu t'y retrouve lol
Derniere chose, si tu as un bouquin à me conseiller... Je travaille pour le moment avec divers cours ensemble (l'imprimante vient de sortir 124 feuilles lol)

Petit Pimoose, merci pour ta précision ! Ne m'en veux pas mais je lui loin de ce niveau la, je n'ai pas compris grand chose de ton explication lol




Woofy
Totalement inutile, complètement indispensable

Messages : 31 592
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 05 June 2006 - 15 h 37 m 50 s
1) \r renvoie le curseur en début de ligne. \n renvoie a une nouvelle ligne. Sous windows il faut faire \r\n, sous linux \n seulement pour ajouter une nouvelle ligne. D'ou la confusion de notre bon vieux Bebert :P
Sinon, pour les includes systèmes (<stdio.h> par exemple) c'est défini tout seul par le compilateur il me semble (pas sur de moi la) tu n'a rien a faire.

2) La fenêtre ne reste pas affichée car il doit ouvrir un terminal. Hors, quand tu lance un terminal comme ça, a la fin du programme, le terminal se ferme. Pour modifier ca, ouvre un terminal (démarrer > executer > cmd dans windows) et execute ton nouveau programme a partir d'ici.

3) oui mais c'est plus propre de mettre le void (moins de warnings a la compilation)

4) par definition, quand un programme s'execute bien, il renvoie 0 ou 1, ou -1 (ou un code d'erreur) s'il y a eu un problème. Et comme ton main renvoie un int, tu es obligé de mettre une valeur a return. Ca ne fais rien vu que il n'y a aucun programme sensé attraper la valeur de retour en fait ^^.




bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 05 June 2006 - 16 h 03 m 38 s


Le 05 juin 2006 - 15 h 37, Woofy a écrit :
1) \r renvoie le curseur en début de ligne. \n renvoie a une nouvelle ligne. Sous windows il faut faire \r\;n, sous linux \n seulement pour ajouter une nouvelle ligne. D'ou la confusion de notre bon vieux Bebert :P

hé non woofy. Le C prend taotalement en charge le \n et le transforme correctement selon la plateforme. C'est une des grosses forces du C : la portabilité.
D'ailleurs, tous mes programmes en C standard (donc portables sur Unix, Windows, OS/400, etc) ont juste \n et ça marche parfaitement.

Beaucoup de monde fait la confusion, qui vient du fait qu'en natif sous unix, le retour chariot (ou retour à la ligne) est 0xA ou 10 en binaire, ou encore \n en C; sous windows c'est 0xD 0xA ou 13 10 en binaire, ce qui peut aussi, en C s'écrire \r\n, alors que dans les vieilles versions de MacOS c'était 0xA 0xD :D


Sinon, pour les includes systèmes (<stdio.h> par exemple) c'est défini tout seul par le compilateur il me semble (pas sur de moi la) tu n'a rien a faire.

Exact. Quand on installe DEV-C++, il amène aussi le compilo (portage de gcc sur windows je crois) et les fichiers d'en-tête nécessaires, il n'y a donc pas de chemin à spécifier.


2) La fenêtre ne reste pas affichée car il doit ouvrir un terminal. Hors, quand tu lance un terminal comme ça, a la fin du programme, le terminal se ferme. Pour modifier ca, ouvre un terminal (démarrer > executer > cmd dans windows) et execute ton nouveau programme a partir d'ici.

ou sinon, on peut mettre un getch() juste avant le return, et là le pgm attend une action quelconque au clavier


3) oui mais c'est plus propre de mettre le void (moins de warnings a la compilation)

en effet, si on veut être puriste on écrit void printf("hello\n"); d'autant plus que si le compilo est réglé un peu sévèrement, en effet on aura des warnings signalant que la fonction renvoie une valeur.


4) par definition, quand un programme s'execute bien, il renvoie 0 ou 1, ou -1 (ou un code d'erreur) s'il y a eu un problème. Et comme ton main renvoie un int, tu es obligé de mettre une valeur a return. Ca ne fais rien vu que il n'y a aucun programme sensé attraper la valeur de retour en fait ^^.

C'est pas tout à fait par définition, c'est par convention... Mais je chipote, là !
ça aurait pu servir si par exemple ton pgm C était appelé par un .bat, qui le lance et doit analyser si ça s'est bien passé ou pas pour continuer ou s'interrompre.

Sinon, steph, pour le bouquin : le K&R autrement appelé Kernighan & Ritchie, ces deux gars sont les inventeurs du langage C, on peut leur accorder une certaine confiance ;)
Tu le trouveras à la Fnac, ou dans toute librairie sérieuse, ou encore sur le net (amazon, etc) La règle, avec le K&R, c'est de commencer par le début, et de faire les exercices avant de passer au chapitre suivant.
Mais tu peux te servir du PDF que je t'ai cité en lien, c'est pas mal pour se dégrossir un peu.

pour ce qui est de me moquer, ben... ça me rappelle exactement mes débuts, quand j'ai voulu apprendre tout seul. J'ai pas mis longtemps pour me rendre compte que tout seul, j'étais pas de taille si je voulais faire du C un peu autrement que comme un cochon !

EDIT : bordel, les anti-slash ne passent pas !


Message édité 2 fois, la dernière par bernie38 le 05 June 2006 - 16 h 09.

La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


Woofy
Totalement inutile, complètement indispensable

Messages : 31 592
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 05 June 2006 - 16 h 21 m 39 s
moi c'est le topic qui passe pas sous firefox, ca me le fait planter, obliger de passer par IE :/

Bebert : je m'en doutais, mais je n'ai jamais fait de C sous windows (uniquement du C++... MFC powa :D:); donc pour ne pas dire de connerie, je n'ai pas parlé du C.


Message édité 1 fois, la dernière par Woofy le 05 June 2006 - 16 h 22.


bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 05 June 2006 - 16 h 27 m 54 s


Le 05 juin 2006 - 16 h 21, Woofy a écrit :
moi c'est le topic qui passe pas sous firefox, ca me le fait planter, obliger de passer par IE :/

Bebert : je m'en doutais, mais je n'ai jamais fait de C sous windows (uniquement du C++... MFC powa :D:); donc pour ne pas dire de connerie, je n'ai pas parlé du C.

pas compris ta dernière phrase... puisqu'on parlait de C. D'ailleurs, en C++ c'est \n aussi sous windows, non ? C'est le principe de la portabilité, qui a du être étendue au C++, ou sinon Bjarne Stroustrup (orthographe non garantie) est une brelle !



La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


Woofy
Totalement inutile, complètement indispensable

Messages : 31 592
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 05 June 2006 - 16 h 40 m 55 s
Chai pas, en C++ j'utilise endl :D: Mais surement puisque c'est dérivé du C.
Bon on est en train de le perdre la !




bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 05 June 2006 - 16 h 47 m 33 s


Le 05 juin 2006 - 16 h 40, Woofy a écrit :
Chai pas, en C++ j'utilise endl :D: Mais surement puisque c'est dérivé du C.
Bon on est en train de le perdre la !

oui c'est vrai, steph, écoute pas nos élucubrations fumeuses et genre "philosophie de comptoir" !



La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


stephaninho


Messages : 13
Inscrit le 03/06/06
Ville : paris
Non connecté
  Posté le 05 June 2006 - 22 h 20 m 33 s
Merci bernie de m'encourager ! Tout seul on y arrive pas :yes: ! lol Tu sais, je lis vos "élucubrations" mais malheureusement mis à par certaine info que j'ai lues par çi ou par la, je ne comprend absolument rien, donc aucun risque que je m'attarde sur ça lol

Cependant, pas mal de choses sont éclaircies, j'avance, doucement mais sûrement. Je sens quand même que c'est flou sur certain points mais ça va passer.

En ce qui concerne l'affichage des fenêtre, quel est la diférence entre l'instruction que j'avais écrite "system("pause")" et getch() ? Aussi, l'explication de woofy sur le terminal est intéréssante mais je n'ai pas bien compris.. Qu'est ce qu'un terminal :chepa:

(rohhh il est vraiment nul steph...) lol

je vais regarder encore les cours que j'ai ici et la et je commanderai le bouquin que tu m'as conseillé. J'ai effectivement deviné que c'était les initiales des créateurs du C mais comme ils en ont fait plusieurs, je pensais que tu en avais un préféré ;).
Celui-ci est bien ? http://images-eu.amazon.com/images/P/2100487345.08.LZZZZZZZ.jpg

Merci encore à tous ! demain, la suite des aventures "d'un mécanicien perdu dans le monde de l'électron" !! On pourrait faire une série avec ce thème : un adepte de la mécanique appliqué perdu sur une île deserte avec juste un ordinateur et sa batterie pour parodier une série déja sur nos écrans...

ok ok ... --> je retourne à Dev C... :roll:





Petit_PimoOosE
rsqrtps & pshufb

Messages : 4 617
Inscrit le 15/06/03
Ville : Montréal
Non connecté
  Posté le 06 June 2006 - 05 h 25 m 49 s


Le 05 juin 2006 - 22 h 20, stephaninho a écrit :
Merci bernie de m'encourager ! Tout seul on y arrive pas :yes: ! lol Tu sais, je lis vos "élucubrations" mais malheureusement mis à par certaine info que j'ai lues par çi ou par la, je ne comprend absolument rien, donc aucun risque que je m'attarde sur ça lol

ce qui serait intéressant, c'est que tu y reviennes quand tu te sentiras plus à l'aide :)



En ce qui concerne l'affichage des fenêtre, quel est la diférence entre l'instruction que j'avais écrite "system("pause")" et getch() ? Aussi, l'explication de woofy sur le terminal est intéréssante mais je n'ai pas bien compris.. Qu'est ce qu'un terminal :chepa:

Slors, allons-y dans l'ordre.
Si à la base, le programme affiche une fenêtre qui disparaît rapidement, c'est tout simplement parce que rien dans le programme ne demande à la fenêtre de rester. Et un programme, flemmard comme c'est, n'ira pas faire des choses qu'on ne lui demande pas :D . Donc, histoire de voir le résultat, il y a deux possibilités. Soit on demande au programme de faire une pause, soit on va voir plus bas. Pour faire une pause,, deux solutions t'ont été montrées : system("pause") et getch(). Il y en a d'autres, mais commençons par ça.

system() est une fonction de C qui demande l'exécution par le système d'exploitation d'une commande particulière. En l'occurence, pause, qui affiche un texte du genre "appuyez sur un touche pour continuer" et qui attend que l'utilisateur le fasse pour continuer. getch() (ou ça, du standard, bernie :P ?) est une fonction qui n'est pas dans les "services" standards du C, mais qui est proposée par la plupart des compilateurs et qui attend, elle aussi, que l'utilisateur appuie sur une touche avant de laisser le programme continuer.

L'autre solution, celle de woofy, est d'utiliser un terminal. En fait, terminal, c'est un mot qui a 40 ans ;) et qu'on appelle aussi console. C'est le genre de femêtre que tu obtiens en ouvrant cmd.exe ou "Commandes MS-DOS". Quand on lance le programme depuis Dev-Cpp, le programme crée une fenêtre du genre, puis la rend dès la fin, ce qui fait qu'on n'a pas le temps de voir ce qui se passe. L'avantage d'utiliser une fenêtre "MS-DOS" déjà existante pour exécuter le programme est que celui-ci peut s'en servir pour écrire ce qu'il a à écrire, et qu'il ne la détruit pas en finissant, ce qui permet de garder ses sorties à l'écran.



Je sais, ça fait beaucoup, mais vas-y doucement. Quand ça coince, relis, ça va finir par aller. Le C, une fois qu'on aime, c'est pour la vie ;)


Message édité 1 fois, la dernière par Petit_PimoOosE le 06 June 2006 - 05 h 30.

Huile de fraise.

bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 06 June 2006 - 09 h 58 m 53 s
pimoose : ben oui, getch n'est absolument pas standard, mais c'est un petit truc que je conseille aux débutants qui affichent pour commencer le fameux "hello world". Bien entendu, dans un "vrai" programme, on met pas ça ;)

steph : je peux guère te conseiller sur d'autres livres, ne connaissant que le K&R.
D'autre part, on te parle de terminal, console etc, il faut quand même que tu saches (et c'est très important) que le C ne connait ni écran, ni clavier, ni rien, il connait juste des flux, qui sont une abstraction pour exprimer les entrées et sorties, après on y met ce qu'on veut : un fichier, un clavier, un capteur de température, un microcontrôleur, etc. Tout ça doit te sembler très théorique, mais quand tu auras un peu avancé, tu y repenseras...



La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


1,2 | Suivant
Page genérée en 0.5769 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL | Actualité ADSL | Deligo | Appareil photo | Commande Au Volant
Creative Commons
Message Boards and Forums Directory