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

Ah ! Fenêtre quand tu nous tien !

lisence_2kill
lisence_2kill
Niveau 8
02 mai 2006 à 21:54:16

Alors voilà j´expose mon problème :
Je test des petites "manip"(j´utilise mes mots m´en voulez pas ^^) sur un log appelé "Dev-C++".
et à chaque fois que je fais F9 pour run le petit programme he ben la fenêtre d´ouvre mais se referme automatiquement.
J´ai même fait un copier coller d´un programme sans erreur

  1. include <stdio.h>

main()
{
int i = 23674;
int j = -23674;
long int k = (1l << 32);
double x = 1e-8 + 1000;
char c = ´A´;
char *chaine = "chaine de caracteres";

printf("impression de i: \n");
printf("%d \t %u \t %o \t %x",i,i,i,i);
printf("\nimpression de j: \n");
printf("%d \t %u \t %o \t %x",j,j,j,j);
printf("\nimpression de k: \n");
printf("%d \t %o \t %x",k,k,k);
printf("\n%ld \t %lu \t %lo \t %lx",k,k,k,k);
printf("\nimpression de x: \n");
printf("%f \t %e \t %g",x,x,x);
printf("\n%.2f \t %.2e",x,x);
printf("\n%.20f \t %.20e",x,x);
printf("\nimpression de c: \n");
printf("%c \t %d",c,c);
printf("\nimpression de chaine: \n");
printf("%s \t %.10s",chaine,chaine);
printf("\n");
}
et la fenêtre s´ouvre et se ferme automatiquement quand je fais "run" !
J´en suis venu à la conclusion que l´erreur ne venait pas de mon ancienne "manip" (comme je l´appel si bien car je n´ai pas d´autre mot pour qualifié...)
Quel âme chaleureuse peut m´éclairé sur cette fameuse fermeture de fenêtre MS DOS soudaine?(et saoulante ^^) :)
P.S : je cherche une personne pouvant m´éxpliquer 2 ou 3 choses sur le language C et C ++ j´ai du mal quand même :S donc si qqun à un peu de temps à perdre à expliquer à un jeune naab =>> msn
Merci d´avance

Fvirtman
Fvirtman
Niveau 10
02 mai 2006 à 23:33:50

Ta fenetre se ferme car quand un programme se termine, Windows ferme la ou les fenetres qu´il a créé : tout simplement !
Donc rien de plus normal que ton programme se ferme :)

Pour éviter cela, tu peux tres bien mettre, avant que ton programme se ferme, une instruction qui bloque tant que tu n´as pas appuyé sur enter :

tu mets :

system("pause");

juste avant le return 0; .... que tu n´as pas !! OMG !

Bon, si tu veux etre a la norme :
ton main :

Evite absolument :

main()

écrit :

int main()

ensuite, avant la derniere accolade fermante, écrit "return 0;"

et donc avant le return 0; ajoute le system("pause");

Pour que ça marche, il faut aussi que tu ajoutes l´include suivante :

  1. include <stdlib.h>

Si tu veux, j´ai un tuto C++ sur mon site, cf ma carte.

lisence_2kill
lisence_2kill
Niveau 8
03 mai 2006 à 16:15:13

WOW Joli travail ton site gg ^^
Merci pour tes conseils aussi.
Mais ton site je tien à le dire, est très complet et très utile ! Il mérite que j´en fasse pub à mes contacts.

Fvirtman
Fvirtman
Niveau 10
03 mai 2006 à 18:27:42

:content:

lisence_2kill
lisence_2kill
Niveau 8
05 mai 2006 à 22:13:51

(re)Salut.
j´ai encore une petite question .
Tout d´abord je donne mon programme (inspiré du fameux site de Fvirtman qui je le rapelle est : un tres bon site !
http://perso.numericable.fr/~fvirtman

  1. include <stdlib.h>
  2. include <iostream>

using namespace std;

int main ()

{

int a,b,c;
cout<<"Entrez 2 nombres"<<endl;
cout<<"(Ecrire ´exit´ pour quitter le programme)"<<endl;
cin>>a;
cin>>b;

cout<<"somme ="<<a+b<<endl;

if (code=exit)
{
return 0
}
system("PAUSE");
return 0;

}

Bon c´est pas super ! Ca me casse tellement la tête que je n´arrive plus à réfléchir!
Donc ce que j´attends d´une aide :
J´aimerais pouvoir mettre ce programme en boucle.J´ai vu que grâçe au site de Fvirtman on pouvait le faire avec while mais en même j´aimerais qu´on puisse quitter le programme dès qu´on écrit : "exit" .
^Merci d´avance.
(en clair j´aimerais que la personne puisse faire autant d´addition de 2 nombres possible autant qu´elle le veut et elle arrete quand elle veut.)

lisence_2kill
lisence_2kill
Niveau 8
05 mai 2006 à 22:15:30

Erf j´ai oublié de signalé int code avant ^^

brood_3
brood_3
Niveau 4
12 mai 2006 à 17:33:55

1) tu ne peu mettre "exit" dans une variable int car "exit" est uen chaine de caractère (string) donc #include <string> et fait string code;
mais vu que tu demande un nombre, tu devrait faire ta boucle tant que a != 0 car pourquoi on voudrait additionner 0?

de plus, if (code=exit) serait en fait : if (code==exit) car un = fait une affectation et ici tu veut une comparaison.

donc en gros juste avant tes premiers cout (affichage) tu met un
do{
system9("CLS");
int a,b,c;
cout<<"Entrez 2 nombres"<<endl;
cout<<"(Ecrire ´0´ pour quitter le programme)"<<endl;
cin>>a;
cin>>b;

cout<<"somme ="<<a+b<<endl;
}while(a != 0);
return 0
}

brood_3
brood_3
Niveau 4
12 mai 2006 à 17:34:57

c´est pas system9("CLS"); mais bien system("CLS");
et cela fait un clearscreen.

Fvirtman
Fvirtman
Niveau 10
12 mai 2006 à 18:50:30

Comme dit brood, tu ne peux pas mettre exit car ton cin attend un int.
Le seul moyen de pouvoir mettre exit, c´est faire un cin qui attende un string. Ensuite tu analyses ce string : si c´est "exit", alors tu sors, sinon, tu convertis le string en int.

Mais bon, pour le moment, fait plutot la solution de Brood avec le ´0´ (ou un autre nombre si tu préferes)

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