IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[ C++ ] probleme affichage


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 19
    Par défaut [ C++ ] probleme affichage
    Bonjour à tous,

    je suis débutant en c++
    j'essaie d'afficher quelque chose à l'écran

    aussi j'ai testé ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <stdio.h>
    #include <ctype.h>
    #include <stdlib.h>
     
    int affiche (){
        printf("%d",124);
    }
     
    int main(){
         affiche();
         }
    ça compile jusque là pas de souci
    j'utilise le logiciel Dev C++ sous windows pour compiler

    ensuite, lorsque j'exécute le fichier exe généré par le logiciel, une fenetre s'affiche, mais se ferme rapidement
    comment faire pour que ça puisse etre maintenue à l'écran ?

    merci de votre aide

    sunfun

  2. #2
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    Marchera que sous Windows.

  3. #3
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    sinon, un conseil : quitte a avoir du c++, utilise les methodes cin et cout pour mettre et lire la console. aisni, tu peux etre portable en plus en faisant simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int affiche ()
    {
        char a;
        cout << 124;
        cout << "Appuyer sur une touche pour continuer...";
        cin >> a;
    }
    de plus, avec ces methodes, tu n'as plus a t'occuper des % quelque chose!!, tes avantageux je trouve...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 19
    Par défaut
    Citation Envoyé par doudouallemand
    sinon, un conseil : quitte a avoir du c++, utilise les methodes cin et cout pour mettre et lire la console. aisni, tu peux etre portable en plus en faisant simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int affiche ()
    {
        char a;
        cout << 124;
        cout << "Appuyer sur une touche pour continuer...";
        cin >> a;
    }
    bonjour,

    j'ai testé ton code, et le compilateur me bloque à la ligne cout en me disant qu'elle ne connait pas cout, que ce n'est pas déclaré
    il doit surement la prendre pour une variable

    à quelle bibliotheque dois-je faire appel ?

    merci de vos conseils

    sunfun

  5. #5
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    <iostream>, sans oublier d'utiliser le namespace std.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 19
    Par défaut probleme affichage en C++
    bonjour à tous,

    suite à vos conseils, j'ai modifié mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #include <stdio.h>
    #include <ctype.h>
    #include <stdlib.h>
    #include <iostream>
     
    int affiche (){
        char a;
        using namespace std;
        cout << 124;
        cout << "Appuyer sur une touche pour continuer...";
        cin >> a;
    }
     
     
    int main(){
         affiche();
         }
    ça s'affiche, mais comment est-ce que je fais pour faire la fenetre ?
    merci de votre aide

    sunfun

  7. #7
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    comment est-ce que je fais pour faire la fenetre ?
    Faire la fenêtre ?

  8. #8
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    En C++, on ne peut pas faire nativement de fenêtre, ça n'existe pas.

  9. #9
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    creer dans Dev-C++ un projet console et non pas un projet vide, elle va se faire toute seule ta fenetre...

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 68
    Par défaut
    Salut,
    Je ne comprends pas pourquoi ta fonction affiche renvoie un int (d'ailleur elle ne le fait pas !!! il n'y a pas de return qqch).
    Je te conseilles de faire t'as fonction comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #include <stdio.h>
    #include <ctype.h>
    #include <stdlib.h>
    #include <iostream>
     
    void affiche ()
    {
        char a;
        using namespace std;
        cout << 124;
        cout << "Appuyer sur une touche pour continuer...";
        cin >> a;
    }
     
     
    int main()
    {
         affiche();
    }

  11. #11
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    Citation Envoyé par Bebert71
    Salut,
    Je ne comprends pas pourquoi ta fonction affiche renvoie un int (d'ailleur elle ne le fait pas !!! il n'y a pas de return qqch).
    Je te conseilles de faire t'as fonction comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #include <stdio.h>
    #include <ctype.h>
    #include <stdlib.h>
    #include <iostream>
     
    void affiche ()
    {
        char a;
        using namespace std;
        cout << 124;
        cout << "Appuyer sur une touche pour continuer...";
        cin >> a;
    }
     
     
    int main()
    {
         affiche();
    }

    desole mais tu n'as rien change la!!!

    c'est cela qu'il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    #include <stdio.h>
    #include <ctype.h>
    #include <stdlib.h>
    #include <iostream>
     
    void affiche ()
    {
        char a;
        using namespace std;
        cout << 124;
        cout << "Appuyer sur une touche pour continuer...";
        cin >> a;
    }
     
     
    void main()     //ou int main()
    {
         affiche();
        //return 1; //uniquement si int main()
    }

  12. #12
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Sauf que n'est pas standard et donc pas accepté partout, donc à ne pas utiliser.

  13. #13
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    desole mais tu n'as rien change la!!!
    Il parlait d'affiche, pas de main.

  14. #14
    Membre émérite Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Par défaut
    Et en plus (ça été dit et répété mais bon...).
    Il y a une joli constante bien explicite et portable à retourner dans le main pour dire que tout c'est bien passé.
    Elle remplace le 1 qui peut être ne veut pas dire sur tout les systèmes que le programme à fonctionné normalement.

    EXIT_SUCCESS (disponible dans cstdlib)

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 68
    Par défaut
    Si j'ai changé qqch, ce n'est pas logique qu'une fonction d'affichage retourne un entier(du moins c'est pas fréquent), la plupart du temps une fonction d'affichage ressemble a cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void affiche(){... ;}
    ou bien
    void affiche(paramétres){... ;}
    Et dans son code sa fonction affiche doit retourner un entier et ce n'est pas le cas dans le code qu'il nous a donné, c'est pour cela que j'ai corrigé son code en écrivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void affiche ()
    {
        char a;
        ...
    }

  16. #16
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    Citation Envoyé par Mayti4
    Il parlait d'affiche, pas de main.

    ok, je n'avais pas vu ca... excuse a Bebert71...

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 19
    Par défaut probleme affichage en C++
    bonsoir à toutes et à tous,

    tout d'abord merci de votre contribution pour m'avoir aidé à comprendre un peu le C++

    cela m'a permis de créer un bout de code pour un projet de sudoku à réaliser
    voici actuellement où j'en suis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
    #include <stdlib.h>
    #include <iostream>
    using namespace std;
     
    int main(){
    int tab[9][9]={
    {0,6,0,1,0,4,0,5,0},
    {0,0,8,3,0,5,6,0,0},
    {2,0,0,0,0,0,0,0,1},
    {8,0,0,4,0,7,0,0,6},
    {0,0,6,0,0,0,3,0,0},
    {0,7,0,9,0,1,0,0,4},
    {5,0,0,0,0,0,0,0,2},
    {0,0,7,2,0,6,9,0,0},
    {0,4,0,5,0,8,0,7,0}};
     
    printf("0 123 | 456 | 789\n");
    printf("------+-----+----\n");
     
     
    int i;
    int j;
    for(i=0;i<9;i++){
                     cout<<i+1;
                     for(j=0;j<9;j++){
                     cout<<tab[i][j];
                     if ((((j+1)%3)== 0) && (j < 8))
                     cout<<" | ";
                                      }
                     cout<<"\n";
                     if((((i+1)%3)==0) && (i<8))
                     cout<<"------+-----+----\n";
                     }
    system("pause");
    return 0;
    }
    je l'ai compilé avec Dev C++ sous Windows XP

    comme vous pouvez le voir, ça génère une fenetre avec un tableau rempli de chiffres

    l'idée est qu'à la place des 0, je puisse avoir des cases vides
    le but de cette manipulation est de permettre à l'utilisateur de connaitre les valeurs possibles que la case peut prendre selon la position de la case en fonction de son couple de coordonnées entières.

    j'ai donc pensé faire une méthode getCase(ligne,colonne) pour interroger la case et récupérer les valeurs possibles avec la méthode getPossible

    ensuite, l'utilisateur pourra faire un setUserValue en affectant la valeur qu'il souhaite parmi celles proposées

    Voici un exemple de séquence en mode console :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sudoku sudoku;
     
    /* on initialise l'objet sudoku avec un certain remplissage */
    sudoku.init();
     
    /* on interroge ci-dessous la case (1,1) pour connaître l'ensembles valeurs possibles par exemple */
    for(int i=1;i<=9;i++) {
    if (sudoku.getCase(1,1).getPossible(i)) cout<<i<<' ';
    } sudoku.getCase(1,1).setUserValue(7);
     
    /* on affiche le résultat du sudoku */
    sudoku.display();
    je bloque dans la réalisation des méthodes getCase, getPossible et setUserValue

    pouvez-vous m'aider s'il vous plait ?

    merci d'avance

    bonne soirée

    sunfun

  18. #18
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Il faut stocker la grille de sudoku dans un conteneur de type "vector" par exemple puis renvoyer un pointeur sur la case.
    Il serait peut être interressant de faire des cases des structures plutôt que des nombres pour indiquer quels nombres sont acceptés par exemple.

  19. #19
    Membre chevronné
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Par défaut
    Pour commencer il nous faudrait le code de tes structures "Case", et de ton conteneur "Sudoku".

  20. #20
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Par défaut
    Moi j'aurais été toi j'aurais simplement rajouté un getch comme ceci:

    void main()
    {
    affiche();
    getch();
    }

    en principe ta fenetre devrait rester ouverte.

Discussions similaires

  1. []probleme affichage valeur dans combobox
    Par gup dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/09/2005, 09h22
  2. Probleme affichage de mon site
    Par Braq dans le forum Webdesign & Ergonomie
    Réponses: 15
    Dernier message: 10/08/2005, 14h08
  3. problem affichage avec HTML::TableExtract
    Par rootdaoud dans le forum Web
    Réponses: 2
    Dernier message: 04/07/2005, 19h35
  4. Probleme affichage noir quand Build/Compile
    Par balabi dans le forum MFC
    Réponses: 3
    Dernier message: 01/06/2005, 16h12
  5. Probleme affichage dans tableau selon requête
    Par moulette85 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 01/03/2005, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo