× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Autres langages
 Executer une compil avec visual c ++ express
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
dm666
  Posté le 24/05/2007 @ 18:24 
Aller en bas de la page 
Petit astucien
bonjour

je debute la programmation alors rigoler pas

je tente de crée une fenetre de commande avec marquer " bonjour " ce qui donne :

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{

system("PAUSE");
return 0;
}

Ensuite je voudrais executer la fenetre pour que je vois la console DOS qui apparais il qui me marque " bonjourappuier sur une touche.... " mais je ne trouve pas comment

merci
Publicité
AlexPrince
 Posté le 24/05/2007 à 22:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Je te recommande de frapper très fort sur la tête quiconque t'as montré ce bout de code. C'est absolument horrible pour du (pseudo) C++.

Premièrement, le code utilise stdio.h et stdlib.h, qui sont des fichiers dépassés et valides seulement en C. Tu devrais utiliser plutôt cstdio et cstdlib, qui sont standards et que tu peux utiliser en C++, sans te faire tapper dessus par les plus connaisseurs =D Ensuite, le fichier cstdio contient les fonctions d'entrées / sorties du langage C, et non du langage C++. Bien que tu puisses utiliser les premières, je te suggère de ne pas les utiliser. Il y aura (presque) toujours une meilleure alternative en C++.

Aussi, n'utilise plus jamais la fonction system(), pour deux raisons. Tout d'abord, ce que la fonction system() fait, c'est qu'elle utilise la console ("DOS") et lui fournit le texte que tu as passé à la fonction. Donc, en utilisant cette fonction, ton programme ne fonctionnera que sur un seul OS, puisque les arguments (le texte dans la fonction) ne sont valides que sur un OS. De plus, sur Windows, la fonction system() ouvre le programme cmd.exe (la console "DOS"). Toutefois, si quelqu'un de malintentionné a remplacé cmd.exe par un programme malfaisant, utiliser la fonction system() va ouvrir le programme malfaisant.

Enfin, int main(int argc, char** argv) signifie que tu veux passer des arguments à ton programme via la ligne de commande; toutefois je doute fortement que c'est ce que tu veuilles faire. Bien que cela ne cause pas de problème, il est inutile de le faire et... Bien... Il est inutile d'écrire du code inutile ?

Dernière petite note, la ligne return 0 est la valeur qui est retournée à l'OS quand le programme termine. Quand tu veux dire à l'OS que tout s'est bien passé, au lieu d'écrire return 0 je te suggère d'écrire return EXIT_SUCCESS. Le résultat est le même, puisque EXIT_SUCCESS est (généralement) défini à 0, mais si EXIT_SUCCESS ne vaut pas 0, alors retourner 0 à l'OS signifiera autre chose que la réussite du programme. M'enfin, détail technique. Cette ligne est en fait inutile, si tu ne retournes pas EXIT_FAILURE. Ton programme va automatiquement retourner EXIT_SUCCESS si tu ne lui dis pas de le faire. La ligne est donc superflue.

Voici donc le code que tu cherches à écrire, d'une façon bien plus propre:

#include <iostream> // Le fichier où se trouve cout et cin

using namespace std; // Ne te préoccuppe pas de cette ligne pour l'instant, mais sache qu'elle est importante.

int main( )

{

cout << "Bonjour";

cin.get( ); // Attend que l'utilisateur pèse sur Enter

}

Note aux plus connaisseurs: Je sais que la ligne using.. n'est pas idéale, mais pour un débutant, elle enlève la syntaxe un peu lourde du préfixe std:: .

dm666
 Posté le 25/05/2007 à 01:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
je l'ai trouver sur siteduzero ..... ou je peut bien apprendre alors? et comment faire de ma commande un executable?
AlexPrince
 Posté le 25/05/2007 à 03:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Ne te méprend pas, ce n'était pas une attaque. Quand on commence, on ne peut savoir comment filtrer les bonnes et les mauvaises sources d'information. Pour ce qui est de compiler le program, j'utilise Microsoft Visual Studio 2003, dans lequel j'utilise la combinaison ctrl + F5 pour compiler le programme et ensuite l'ouvrir.

Pour ce qui est de la source, je te recommande fortement de ne pas aller sur les sites en français... Ils sont très peu nombreux et souvent la qualité est très douteuse. Toutefois, comme la plupart des gens de France (et les environs), j'imagine que tu ne parles pas anglais. J'ai fait une courte recherche sur google et je n'ai rien trouvé d'intéressant. Je te suggère donc de trouver un livre. Je n'en connais pas de bon, par contre, puisque j'ai appris presque tout par moi-même, sur internet, en anglais. Si tu comprends l'anglais, alors je peux t'aider, mais j'ai appris que c'est une chose qu'il faut rarement espérer, sur ce forum.

Dlaumor
 Posté le 26/05/2007 à 12:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Sinon en pur C ça donne ça:

#include

void main () {

printf ("Bonjour\n"); // Le \n permet un passage à la ligne après le texte

}

Je suppose que tu as trouvé ça ici. Relis bien... On ne dit pas que tu vas créer un programme qui va écrire bonjour... Ils disent: "Sous Visual C++ : demandez un projet console Win32 vide que vous appellerez "bonjour"."

il est vrai que leur premier petit programme est un peu... Un peu... Compliqué...



Modifié par Dlaumor le 26/05/2007 12:55
AlexPrince
 Posté le 26/05/2007 à 23:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Dlaumor a écrit :

Sinon en pur C ça donne ça:

#include

void main () {

printf ("Bonjour\n"); // Le \n permet un passage à la ligne après le texte

}

Je suppose que tu as trouvé ça ici. Relis bien... On ne dit pas que tu vas créer un programme qui va écrire bonjour... Ils disent: "Sous Visual C++ : demandez un projet console Win32 vide que vous appellerez "bonjour"."

il est vrai que leur premier petit programme est un peu... Un peu... Compliqué...


Il manque ton fichier include et void main() est à proscrire, autant en C qu'en C++. int main() devrait lui être préféré. Les standards disent qu'une application doit absolument retourner. Une fonction déclarée void ne peut retourner de valeur alors il y a un problème. Je ne dis pas que ça ne fonctionne pas, mais je dis que ce n'est pas standard et je crois que sur certains système le programme pourrait crasher lors de la fermeture, ou un comportement indéfini, dans le pire des cas.

Dlaumor
 Posté le 27/05/2007 à 10:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Arf... Le <stdio.h> ne s'est pas imprimé???

Tu aura corrigé, c'est #include <stdio.h>

Pour ce qui est du main, je ne le savais pas du tout... Je suis content de l'apprendre... Merci... Il est vrai que sous Microsoft Visual C++, ça ne change rien mais sous UNIX par exemple, le void main ne passe pas...

Je suis content, en essayant d'aider quelqu'un, j'apprends des choses...

Encore merci...

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
79,95 €Clavier Gaming Logitech G513 Carbon Lightsync RVB à 79,95 €
Valable jusqu'au 25 Décembre

Materiel.net fait une promotion sur le clavier Gaming Logitech G513 Carbon Lightsync RVB qui passe à 79,95 € au lieu de 129 € ailleurs. Mélange parfait de performances, de technologies et d'une conception d'une qualité inégalée, le clavier G513 est un clavier gaming mécanique RVB équipé des switches mécaniques tactiles avancés Romer-G plébiscités par les professionnels d'eSports du monde entier. La coque en alliage aluminium robuste et légère apporte une rigidité et une apparence haut de gamme tout en lui conférant une forme fine semblable à une lame. Et pour davantage de confort, le Logitech G513 dispose d'un repose-poignets en mousse à mémoire de forme. Le Logitech G513 est doté d'un rétro-éclairage RVB complet d'environ 16.8 millions de couleurs avec un éclairage des touches personnalisable. De plus, grâce à la nouvelle technologie Lightsync, l'éclairage suit le rythme des jeux pour offrir l'expérience RVB la plus immersive qui soit.


> Voir l'offre
-30%Nouveaux clients Amazon Business : 30% de réduction sur la première commande
Valable jusqu'au 30 Novembre

Amazon offre actuellement aux professionnels une remise de 30% sur leur première commande (jusqu'à 200 € d'achats) avec le code BFB2B20. Pour en profiter, créez gratuitement un compte Amazon Business (un numéro de SIRET est nécessaire) et après confirmation, votre code de réduction BFB2B20 sera activé sur votre compte et valable jusqu'au 30 octobre. Le compte Amazon Business est réservé aux professionnels et permet d'accéder à des millions de produits destinés aux professionnels, de comparer les prix HT, d'avoir des offres réservées, de pouvoir payer à 30 jours, de récupérer en un clic toutes les factures HT et avec TVA et de suivre et analyser vos dépenses avec des rapports personnalisés.


> Voir l'offre
3,19 €Jeu PC Among Us à 3,19 €
Valable jusqu'au 28 Novembre

Steam fait une promotion sur le jeu dont tout le monde parle : Among Us qui passe à 3,19 € sur PC. Jouez de 4 à 10 personnes en ligne ou en local. Préparez votre vaisseau au départ mais attention, un ou plusieurs joueurs sont des imposteurs et feront tout pour tuer tout le monde. Notez que s'il n'offre pas le même confort de jeu en mobilité, il est gratuit sous iOS et Android.


> Voir l'offre

Sujets relatifs
tuto visual basic 2005 express
class diagram sous visual basic 2005 express
Ecrire sous Visual et executer sous DOS
Visual c++ imbriqué avec C#
pb avec iexplorer et visual c++
Ameliorer le Main "Java" avec les fonctions & procédures
Problème d'installation sur Visual Studio
concatenation avec Arduino
[Visual Studio] Générer Documentation XML
URGENT ! Fin de développement d'application C++ avec MFC
Plus de sujets relatifs à Executer une compil avec visual c ++ express
 > Tous les forums > Forum Autres langages