vince73 Posté(e) le 12 août 2005 Partager Posté(e) le 12 août 2005 Bonjour, alors voilà je commence dans la programmation en C et j'utilise dev c++ comme programme. je veux juste mettre un simple code pour qu'il affiche hello. Je vous mets se que j'écris dans le compilateur: #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { system("PAUSE"); return EXIT_SUCCESS; } #include <stdio.h> main() { printf("hello\n"); return 0; } Voilà et mon problème est que lorsque je fais compiler et exécuter il me met une ligne en rouge avec une croit a gauche??qu'el est le probleme?J'utilise un programme pour programmer en c ou pas?merci de m'aider je suis super débutant! Lien vers le commentaire Partager sur d’autres sites More sharing options...
LePhasme Posté(e) le 12 août 2005 Partager Posté(e) le 12 août 2005 la tu as du code en C++ et en dessous ton code en C crée un nouveau fichier et efface tout, ensuite tape ton code et ca devrait aller. Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince73 Posté(e) le 12 août 2005 Auteur Partager Posté(e) le 12 août 2005 merci bcp voilà j'ai fait se que vous avez dit et la mon fichier se lance mais il apparait une petite seconde et je ne vois pas hello?merci bcp monsieur! Lien vers le commentaire Partager sur d’autres sites More sharing options...
LePhasme Posté(e) le 12 août 2005 Partager Posté(e) le 12 août 2005 Oui c'est normal l'invite de commande se ferme directement, pour éviter ca 2 solutions : - tu ouvres l'invite de commande et tu lance le programme par elle. - tu met un getc() ; à la fin du programme, ensuite pour qu'il se ferme tu entre une lettre puis enter. Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince73 Posté(e) le 12 août 2005 Auteur Partager Posté(e) le 12 août 2005 etes vous sur que c'est bien getc() ? et je dois mettre ça comme nouvelle fonction? désolé mais je débute Lien vers le commentaire Partager sur d’autres sites More sharing options...
LePhasme Posté(e) le 12 août 2005 Partager Posté(e) le 12 août 2005 c'est getchar() ; désolé j'ai confondu les 2. Sinon, arrête de me tutoyer, je suis pas ton boss ou un de tes prof Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince73 Posté(e) le 12 août 2005 Auteur Partager Posté(e) le 12 août 2005 ça ne marche tjrs pas snif voilà le code #include <stdio.h> main() { printf("slt\n"); return 0; } get char() il n'y a pas un programme gratuit plus performant pour le c? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patator Posté(e) le 12 août 2005 Partager Posté(e) le 12 août 2005 ça ne marche tjrs pas snif voilà le code#include <stdio.h> main() { printf("slt\n"); return 0; } get char() il n'y a pas un programme gratuit plus performant pour le c? Et les points virgules, bon sang! Essaie ça: #include <stdio.h> int main() { printf("slt\n"); getchar(); return 0; } Tu ne peux pas appeller une fonction comme ça n'importe où dans ton code. N'importe quel compilateur te dira que c'est faux, même les super chers... Il y a peut-être un souci avec le code du dessus. Je n'ai pas de compilo d'installé pour le moment sur ma bécane, mais ça devrait tourner. Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince73 Posté(e) le 12 août 2005 Auteur Partager Posté(e) le 12 août 2005 ouais ça marche c'est super!mais donc si je comprend bien on #include qui est une directive, ensuite main qui lance le programme, printf qui affiche le texte,getchar qui laisse se texte afficher, et return?mais cmt sdaviez)vous que c'était gechar que je devais mettre?et pour le int devant main il sert a quoi? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patator Posté(e) le 12 août 2005 Partager Posté(e) le 12 août 2005 ouais ça marche c'est super!mais donc si je comprend bien on #include qui est une directive, ensuite main qui lance le programme, printf qui affiche le texte,getchar qui laisse se texte afficher, et return?mais cmt sdaviez)vous que c'était gechar que je devais mettre?et pour le int devant main il sert a quoi? Je suis devin. En fait, le C a ses passages obligés. Petit "cours rapide". Il existe des fonctions déjà toutes faites en C: afficher quelque chose par exemple (fonction printf). Mais au départ, le compilateur (le machin qui te traduit ton code C en un truc executable [la ferme les puristes... ]) ne sait pas cela. Il faut donc lui indiquer le prototypage de la fonction, c'est à dire la tête qu'elle a (paramètres, etc). Il y a donc des instructions qui vont être lues et executées avant la compilation par le "pré-processeur". Les instructions du pré-processeur sont celles avec # devant. Ici, on dit: #include <stdio.h> Le préprocesseur comprend qu'il faut inclure à cet endroit du fichier le fichier stdio.h qui est un fichier header .h qui comprend le prototypage des fonctions standard d'entrées/sorties (stdio=>standard input output). Ensuite, tout programme C commence par une fonction "main" fonction qui est appelée en premier à l'execution. Le prototypage de la fonction varie avec les compilateurs: certains sont plus restrictifs que d'autres. En général, c'est "int main()" mais j'ai vu aussi des "void main()" qui passaient très bien. Les paramètres du "main" permettent de passer des arguments à l'appel du programme. Toute fonction est entourée par {} pour la délimiter. OK, on a donc: #include <stdio.h> int main() {} Maintenant, que met-on dans la fonction main? On veut faire afficher un truc? Pas de problème. On sait qu'il faut utiliser printf, fonction d'affichage de C. On ajoute donc: printf("Salut\n"); (Avec le ";"). Ensuite, pour garder la fenêtre ouverte (la fenêtre qui execute le programme), on rajoute la fonction qui permet de saisir un caractère (l'inverse de printf en gros) qui est la fonction getchar(). Ne pas oublier le ";". Puis, la coutume (et ici l'obligation si "int" est avant main) dit qu'il faut faire retourner un truc au main. On lui dit donc: return 0; (pour lui dire de retourner 0). Voilà. Les diverses commandes du langage peuvent être trouvées sur le net. Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince73 Posté(e) le 12 août 2005 Auteur Partager Posté(e) le 12 août 2005 ok merci bien pour votre petit cour! le pire c'est que je me suis acheté un livre pour apprendre le langage c mais je ne comprends po bien et ça m'ennuie car j'aimerais faire programmeur plustar mais la j'ai encore un probleme: #include <stdio.h> int interger_add(int x, int y ) { int result; result= x + y; getchar(); return result; } int main() { int sum; sum = integer_add( 5, 12); printf("5+12 donne%d.\n" sum); getchar() return 0; } dans se code ques ki a ki ne va pas?il me met use firts integer_add? C'est super compliqué la programmation n'empeche mais bon je tiens le coup! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patator Posté(e) le 12 août 2005 Partager Posté(e) le 12 août 2005 Bon, de tête, je n'ai pas de compilo sous la main: #include <stdio.h> int interger_add(int x, int y ) { int result; result= x + y; // getchar(); : Pas besoin ici, le getchar ne sert dans le truc précédent uniquement à empêcher la fenêtre de se refermer à la fin de l'execution. return result; } int main() { int sum; sum = integer_add( 5, 12); printf("5+12 donne%d.\n", sum); //Manque une virgule getchar(); //Manque encore le ";" return 0; } La programmation n'est pas compliquée, il faut juste se tenir à des règles dictées par le compilateur. Ca devrait passer. Si le code ne passe pas, il se peut que j'ai oublié un truc.... Lien vers le commentaire Partager sur d’autres sites More sharing options...
chrarus2004 Posté(e) le 12 août 2005 Partager Posté(e) le 12 août 2005 pour l' execution de ton petit prog soit bien sur l' ecran tu peux mettre apres #include<stdio.h> void main () { clrscr(); printf("bonsoir"); getch(); } Lien vers le commentaire Partager sur d’autres sites More sharing options...
LePhasme Posté(e) le 12 août 2005 Partager Posté(e) le 12 août 2005 Perso, comme c'est ton premier langage je te conseillerai d'abord de lire la theorie du bouquin puis faire les exercices parce que la t'as l'air de vouloir programmer sans support. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patator Posté(e) le 12 août 2005 Partager Posté(e) le 12 août 2005 Perso, comme c'est ton premier langage je te conseillerai d'abord de lire la theorie du bouquin puis faire les exercices parce que la t'as l'air de vouloir programmer sans support. Oui, je crois que les bases ne sont pas du tout vues. Oups, je parle comme un prof! Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince73 Posté(e) le 13 août 2005 Auteur Partager Posté(e) le 13 août 2005 non mais se qui a c'est que après chaque chapitre de théorie il me propose de faire un exercice pour voir si g compris lol c pas grave Merci bcp mais je compris absolument pas les renvois de valeur peux tu m'expliquer cela super clairement? Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince73 Posté(e) le 13 août 2005 Auteur Partager Posté(e) le 13 août 2005 au fait il bloque sur la ligne sum = integer_add( 5, 12); mais pourquoi?as-tu des cours super simple pour me venir en aide? Lien vers le commentaire Partager sur d’autres sites More sharing options...
astero-H Posté(e) le 13 août 2005 Partager Posté(e) le 13 août 2005 int interger_add(int x, int y ) Allez j'te mets un gros (énorme ?) indice Et dis toi bien que la prog c'est de l'apprentissage de syntaxes (les langages de prog) et que quelque soit le langage ces syntaxes sont très rigoureuses. La syntaxe du C étant réputée comme étant une des plus stricte . Donc faut être très vigilant au niveau des fautes de frappe... Lien vers le commentaire Partager sur d’autres sites More sharing options...
playstation.2.fg Posté(e) le 13 août 2005 Partager Posté(e) le 13 août 2005 Perso je conseillerai à vince73 de peut etre essayer un autre langage. Ou sinon de chercher des bons tutos, parce que tu demandes fait parti des bases du C/C++. Sans elles tu va pas aller bien loin. Lien vers le commentaire Partager sur d’autres sites More sharing options...
astero-H Posté(e) le 13 août 2005 Partager Posté(e) le 13 août 2005 Bah si il essaye un autre langage ça sera le même problème A part à la fac la plupart des profs enseignent la prog avec le C. Personnelement je pense que c'est mieux de commencer par du C car : - Passer du C à un autre langage c'est facile - Ça donne de bonnes bases pour bien programmer (pour faire des trucs propres quoi !!) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patator Posté(e) le 13 août 2005 Partager Posté(e) le 13 août 2005 Allez j'te mets un gros (énorme ?) indice Et dis toi bien que la prog c'est de l'apprentissage de syntaxes (les langages de prog) et que quelque soit le langage ces syntaxes sont très rigoureuses. La syntaxe du C étant réputée comme étant une des plus stricte . Donc faut être très vigilant au niveau des fautes de frappe... J'étais plus occupé à chercher les ";" et autres que je ne l'ai pas vu celle-là. Pour l'apprentissage, le C est pas mal je trouve. C'est assez chiant au départ, mais il est vrai que quand on connaît le C, le reste est plus simple. Lien vers le commentaire Partager sur d’autres sites More sharing options...
vince73 Posté(e) le 14 août 2005 Auteur Partager Posté(e) le 14 août 2005 voilà je voulais juste savoir si vous pouviez m'expliquer un peu les variables, et les aditions a quoi vont-elles me servir plus tard? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fab23 Posté(e) le 14 août 2005 Partager Posté(e) le 14 août 2005 voilà je voulais juste savoir si vous pouviez m'expliquer un peu les variables, et les aditions a quoi vont-elles me servir plus tard? Salut, une variable c'est tout simplement le "nom" d'une case mémoire dans la RAM où on va stocker la valeur qui est dans la variable... Assez dur à comprendre non? Lien vers le commentaire Partager sur d’autres sites More sharing options...
lulu1664 Posté(e) le 14 août 2005 Partager Posté(e) le 14 août 2005 #include <stdio.h> int integer_add(int x, int y ) { int result; result= x + y; getchar(); return result; } int main() { int sum; sum = integer_add( 5, 12); printf("5+12 donne %d.\n", sum); system(pause); return 0; } Je comprends pas trop ta question Les variables te servent à stocker des valeurs (ici numérique, mais ça peut aussi être des chaines de caractère, etc). C'est pratique car ça te permet d'avoir facilement accès à ces valeurs (il suffit d'appeler la variable), de plus les variable ne sont pas fixes (pour pousser un peut le pléonasme je dirais qu'elle peuvent varier ) et elles sont facilement modifiables, tu peux aussi récupérer des valeurs qui seront entrée au clavier par la personne lançant le programme. Voila un main qui va demander à l'utilisateur d'entrer les 2 nombre à additionner (à vérifier pour la syntaxe qu scanf, j'ai un doute étant donné que j'y ai pas retouché edpuis longtemps ) int main() { int sum; int a; int b; printf("entrez le premier nombre (=> a) :"); scanf("%d",&a); printf("entrez le second nombre (=> b) :"); scanf("%d",&b); sum = integer_add(a,b); printf("%d+%d donne : %d.\n",a,b, sum); system(pause); return 0; } Quand aux opérations (ici une addition), bah à ce qui parait c'est pratique pour calculer Pour les opérations de base sur les nombres ( + - * / ) elles font la même chose qu'un élève de primaire: elle calcule le résultat puis le renvois. Le prog envoi 5 en 1er paramètre de integer_add et 12 en second. Le 1er paramètre est appelé x (ici x=5) et le second y (y=12). L'on fait la somme x+y, donc 5+12 et c'est égal à 17, donc l'on place la valeur 17 dans résult puis on retourne result; dans le main l'on place la valeur retournée -résult donc 17- dans sum, l'on arrive avec sum=17) edited: réparé l'erreur Merci de l'avoir vu Lien vers le commentaire Partager sur d’autres sites More sharing options...
LePhasme Posté(e) le 14 août 2005 Partager Posté(e) le 14 août 2005 il faut le & devant le nom de la varianle pour le scanf Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.