> Tous les forumsAutres langages

 Executer une compil avec visual c ++ express
Statut du sujet : NON RESOLU Imprimer
 dm666
  Posté le 24/05/2007 @ 18:24  
 Petit astucien

465 Messages
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
 Afficher le profil de dm666Envoyer un message privé à dm666
 
 
Publicité
 AlexPrince  Posté le 24/05/2007 à 22:01  
Petit astucien

398 Messages

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:: .

Afficher le profil de AlexPrinceEnvoyer un message privé à AlexPrince
 Revenir en haut de la page
 dm666  Posté le 25/05/2007 à 01:13  
Petit astucien

465 Messages
je l'ai trouver sur siteduzero ..... ou je peut bien apprendre alors? et comment faire de ma commande un executable?
Afficher le profil de dm666Envoyer un message privé à dm666
 Revenir en haut de la page
 AlexPrince  Posté le 25/05/2007 à 03:19  
Petit astucien

398 Messages

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.

Afficher le profil de AlexPrinceEnvoyer un message privé à AlexPrince
 Revenir en haut de la page
 Dlaumor  Posté le 26/05/2007 à 12:49  
Petit astucien

276 Messages

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
Afficher le profil de Dlaumor Voir la configuration de DlaumorEnvoyer un message privé à Dlaumor
 Revenir en haut de la page
 AlexPrince  Posté le 26/05/2007 à 23:27  
Petit astucien

398 Messages
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.

Afficher le profil de AlexPrinceEnvoyer un message privé à AlexPrince
 Revenir en haut de la page
 Dlaumor  Posté le 27/05/2007 à 10:10  
Petit astucien

276 Messages

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...

Afficher le profil de Dlaumor Voir la configuration de DlaumorEnvoyer un message privé à Dlaumor
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Les sujets pertinents liés
Utilisateur VB6 demande Aide Visual Basic 2005 Exp
loi normale
[OPEN OFFICE BASIC] Comment enregistrer l'onglet
Comment déclarer une variable date en V.B.E. ?
[VB.NET] Requete Dataset avec subquery
New "Programmeur"
Demande d'aide pour création d'un logiciel
Lancement de plusieurs processus
programmation:exo en c
tuto visual basic 2005 express
Php ou perl: cherche petit exemple tout con.
Visual Basic - Windows Xp
Visual basic
VB 2005 Express Edition Beta
Librairie graphique 3D
probleme avec des tableChanged en java
code visual basic
 
Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !



 > Tous les forumsAutres langages

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page
Comme PC Astuces, mettez-vous au vert avec Ikoula !
Faites le choix d'un hébergeur acteur de l'environnement !