begin process at 2012 02 05 05:23:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Placer aleatoirement un caractere C++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Placer aleatoirement un caractere C++

samedi 24 juin 2006 à 22:48:48 | Placer aleatoirement un caractere C++

spitzer

Salut à tous voilà je débute en C++ et j'aurai besoin d'un conseil : je voudrais placer un caractere au hasard dans la fenetre, sachant que je suis en mode DOS. Je sait qu'une ligne fait 80 de caractere envorion et je voudrais donc les placer aleatoriement sur cette lignes ... J'ai entendu parler de la fonction gotoxy, mais je n'ai pas tout compris, si vous pouviez m'eclaircir ...
Merci a tous   !!
Spitzer  

samedi 24 juin 2006 à 23:01:11 | Re : Placer aleatoirement un caractere C++

SAKingdom

Membre Club
Si tu travaille sous devcpp, tu peut encore aller télécharger la librairire conio en allant dans:
Aide->À propos de Dev-C++->Nouvelle versions. Sinon voici la fonction:

void gotoxy(int x, int y)
{
    COORD c;

    c.X = x - 1;
    c.Y = y - 1;
    SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}

Pour une lettre aléatoire sur une ligne tu peut par exemple faire:

//dans ta fonction main
srand(time(NULL)); //Pour initialiser le randomiser au début de ton programme

// dans une autre fonction ou la même
#define MAX 80
#define MIN 1

int Result = ((rand() % (int)(((MAX) + 1) - (MIN))) + (MIN));

gotoxy(Result, 1);

putchar('a');

___________________________________________
Les plus grands esprits trouvent toujours une solution

samedi 24 juin 2006 à 23:09:57 | Re : Placer aleatoirement un caractere C++

SAKingdom

Membre Club
Petit exemple de programme qui fonctionne très bien

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

void gotoxy(int x, int y)
{
    COORD c;

    c.X = x - 1;
    c.Y = y - 1;
    SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}

#define MAX 80
#define MIN 1

int main()
{
    int count = 10;
    srand(time(NULL));

    while(count > 0)
    {
        int Result = ((rand() % (int)(((MAX) + 1) - (MIN))) + (MIN));
        gotoxy(Result, count);
        putchar('a');
        count--;
    }

    gotoxy(1, 11);
    return 0;
}

___________________________________________
Les plus grands esprits trouvent toujours une solution

samedi 24 juin 2006 à 23:26:40 | Re : Placer aleatoirement un caractere C++

spitzer

Ouai je travaille sous dev C++ oui donc pour repondre a tout cela  j'ai des ptit s blem, en fait je n'arrive pas a telecharger les mise a jours... sinon le code tu vien de me donner ne fonctionne pas, il ne reconnait ni COORD ( function no decalred) et aussi a la ligne 9 et 11 ... mon dev C++ il est bizard ^^ o passage il ne reconanit pas conio.h ( ni conio.c ) ...
samedi 24 juin 2006 à 23:29:29 | Re : Placer aleatoirement un caractere C++

spitzer

et donc dans une nouvelel page j'ai mis :

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

int main()
{
#define MAX 80
#define MIN 1

int Result = ((rand() % (int)(((MAX) + 1) - (MIN))) + (MIN));

gotoxy(Result, 1);

putchar('a');
system("pause>nul");
}
il ne reconnai pa gotoxy ...

samedi 24 juin 2006 à 23:30:51 | Re : Placer aleatoirement un caractere C++

SAKingdom

Membre Club
Petite erreure de ma part. Il faut rajouter #include <windows.h> pour COORD. Ensuite, si tu n'a besoin que de la fonction gotoxy, pas besoin de télécharger la librairie juste à prendre la fonction que je tes donné.

___________________________________________
Les plus grands esprits trouvent toujours une solution

samedi 24 juin 2006 à 23:33:15 | Re : Placer aleatoirement un caractere C++

spitzer

bon je retélécharge dev C++, cette fois la 5.0
samedi 24 juin 2006 à 23:34:07 | Re : Placer aleatoirement un caractere C++

SAKingdom

Membre Club
Pas besoin. Recopie exactement ceci dans un nouveau projet console et tout devrais bien aller:

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

void gotoxy(int x, int y)
{
    COORD c;

    c.X = x - 1;
    c.Y = y - 1;
    SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}

#define MAX 80
#define MIN 1

int main()
{
    int count = 10;
    srand(time(NULL));

    while(count > 0)
    {
        int Result = ((rand() % (int)(((MAX) + 1) - (MIN))) + (MIN));
        gotoxy(Result, count);
        putchar('a');
        count--;
    }

    gotoxy(1, 11);
    return 0;
}

___________________________________________
Les plus grands esprits trouvent toujours une solution

samedi 24 juin 2006 à 23:36:07 | Re : Placer aleatoirement un caractere C++

spitzer

Super ca amrche cette fois ci !!! merci mtn reste plus qu'à me débrouiler ^^ mais tu pourrais pas me faire un ptit cours rapide sur la fonction gotoxy, parc e que je  ne la comrpend pas tres bien ...
merci d'avance
Spitzer
samedi 24 juin 2006 à 23:39:22 | Re : Placer aleatoirement un caractere C++

SAKingdom

Membre Club
gotoxy te permet d'écrire à un endroit bien précis dans la console.

x représente la colone où tu veut commencer à écrire. La valeur minimal est 1.
y représente la ligne où tu veut commencer à écrire. La valeur minimal est encore 1.

___________________________________________
Les plus grands esprits trouvent toujours une solution


1 2

Cette discussion est classée dans : caractere, placer, aleatoirement


Répondre à ce message

Sujets en rapport avec ce message

Envoie de caractere [ par Thaeron ] il me faut l'api pour envoyer des caracteres a un programme par expemple envoyer la lettre 't' a wordpad (wordpad deja ouvert) si vous pigez et que vo chercher la position d'un caractere [ par Johjo ] Bon, je cherche à obtenir la position d'une chaine de caractere dans une autre chaine de caractere.Mais les seuls fonctions que j'ai trouvé me renvoye Recuperer des données dans une char [ par Johjo ] JE voudrais savoir si il y a une fonction pour recuperer des données dans une chaine de caractere. Par exemple, j'ai "voiture", je voudrais recuperer Convertir une chaine de caractere en Float [ par Johjo ] Bon, voilà, j'ai encore un probleme.Je dois maintenant convertir un chaine de caractere en float, et je ne trouve pas de fonctions, j'ai regardé dans Limitation en nombre de caractère [ par st3phane ] Voila j'aimerais empecherc que l'utilisateur tape plius de 20 lettre j'avias penser a une boucle et getch et faire revenir au caractere d'avan si ca a Rechercher une chaine de caractere [ par Johjo ] Il n'y aurait pas une fonction qui me permette de retrouver une chaine de caractere dans une autreparce moi, je trouve rien du tout :(Si quelqu'un pou PB DE CHAINE DE CARACTERE [ par Orkblutt ] pkoi ceci me genere t'il une erreur a l'execution??#include void main(){ int o; o=2000; char* O=new char; itoa(o,O,10); char* ch="Fichier"; strcat(ch, PB DE CHAINE DE CARACTERE [ par Orkblutt ] pkoi ceci me genere t'il une erreur a l'execution??#include void main(){ int o; o=2000; char* O=new char; itoa(o,O,10); char* ch="Fichier"; strcat(ch, Ajouter des slash [ par Mike ] SAlut,je recupere une chaine de caractere qui correspond au PATH d'un fichier, ensuite je souhaite l'utiliser comme variable, mais le probleme c que l caractere sous dos [ par arc59 ]


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales