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 :

passage de langage c++ en langage c


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2017
    Messages : 10
    Par défaut passage de langage c++ en langage c
    Bonjour a vous
    Je suis novice dans la programmation, un de mes ami ma fournis un snake console en c++ malheureusement il est en c++ et j'aimerai l'avoir en c, j'ai déjà réalisé quelques changement mais il y deux commandes que je ne parvient pas a changer : les "count" et les "endl".
    pourriez m'aider dans ce changement le langage svp
    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
    39
    40
    41
    42
     system("cls"); //system("clear");
        for (int i = 0; i < width+2; i++)
            cout << "#";
        cout << endl;
     
        for (int i = 0; i < height; i++)
        {
            for (int j = 0; j < width; j++)
            {
                if (j == 0)
                    cout << "#";
                if (i == y && j == x)
                    cout << "O";
                else if (i == fruitY && j == fruitX)
                    cout << "F";
                else
                {
                    bool print = false;
                    for (int k = 0; k < nTail; k++)
                    {
                        if (tailX[k] == j && tailY[k] == i)
                        {
                            cout << "o";
                            print = true;
                        }
                    }
                    if (!print)
                        cout << " ";
                }
     
     
                if (j == width - 1)
                    cout << "#";
            }
            cout << endl;
        }
     
        for (int i = 0; i < width+2; i++)
            cout << "#";
        cout << endl;
        cout << "Score:" << score << endl;
    }

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Bonjour,

    cout << "#"; devient printf( "#" );.
    cout << endl; devient printf( "\n" );.
    cout << "score:" << score << endl; devient printf("score:%d\n" , score ); ou printf("score:%f\n" , score );

  3. #3
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2017
    Messages : 10
    Par défaut
    Merci pour vos réponses, j'ai tout compris et cela fonctionne parfaitement.

  4. #4
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Note: endl, c'est pas juste un saut de ligne, c'est aussi un flush du tampon vers l'écran.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  5. #5
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    cout représente le flux de sortie standard (stdout), << est ici l'opérateur d'insertion dans un flux et endl représente la chaîne de caractères de retour à la ligne au sein de l'environnement considéré. Tout ce qui est à droite de << est injecté en ordre dans le flux de sortie.

    Tu peux en conséquence traduire tout cela par des appels à fprintf/printf/puts.

    EDIT: pris de vitesse par dalfab..

  6. #6
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Très bonne remarque, je viens de lire le man et je ne savais pas que l'implémentation d'endl comportait un flush explicite. De plus :

    Citation Envoyé par Matt_Houston Voir le message
    endl représente la chaîne de caractères de retour à la ligne au sein de l'environnement considéré
    ..est faux puisqu'endl insère toujours '\n'.

  7. #7
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Ce n'est pas faux, c'est juste ... simplifié.

    endl finit effectivement en \n, mais \n va finir dans la séquence idoine pour le saut de ligne sur la plateforme tant que le fichier est ouvert en mode interprété et que l'on utilise l'opérateur d'injection dans les flux (aka operator<<()), i.e. en mode non "binaire". Et là, d'un coup, j'ai un doute. Je ne sais plus s'il suffit d'ouvrir en "binaire", ou s'il suffit d'utiliser ostream::write() pour cesser d'interpréter les "\n". A forcer de bosser sous *nix, il y a des choses que l'on oublie.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passage fonction C++ à un autre langage
    Par pitite dans le forum C++
    Réponses: 4
    Dernier message: 13/05/2012, 22h32
  2. Besoin d'aide pour passage d'un algo au langage JAVA
    Par Spinoza23 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 16/02/2007, 15h33
  3. Passage de Access à un autre langage mais lequel ?
    Par beletteroi dans le forum Access
    Réponses: 10
    Dernier message: 18/10/2005, 18h58
  4. Passage de Access à un autre langage mais lequel ?
    Par beletteroi dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 15/10/2005, 23h17
  5. Premier langage web : quelle langage choisir ???
    Par skeeper dans le forum Débuter
    Réponses: 4
    Dernier message: 06/03/2005, 14h38

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