begin process at 2012 05 30 15:20:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

reprendre une fct de main


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

reprendre une fct de main

mercredi 15 août 2007 à 17:59:17 | reprendre une fct de main

MirKoRn

Membre Club

je voudrai savoir si il y a une fonction pour reprendre les éléments de main(pour moi un tableau) pour le mettre dans une autre fonction, toujours sur la même page c++...

mercredi 15 août 2007 à 18:18:39 | Re : reprendre une fct de main

juju12

Qui t'empêche de les passer en argument à ton autre fonction?

mercredi 15 août 2007 à 19:05:01 | Re : reprendre une fct de main

MirKoRn

Membre Club

#include <iostream>
#include <cstring>
using namespace std;
char cartes(char);
int melangeCoupe(char*);
int main()

{
 char* name[]
  ={&"as de pique", //no:0
  "deux de pique", //no:1
  "trois de pique", //no:2
  "quatre de pique", //no:3
  "cinq de pique", //no:4
  "six de pique",  //no:5
  "sept de pique", //no:6
  "huit de pique", //no:7
  "neuf de pique", //no:8
  "dix de pique",  //no:9
  "valet de pique", //no:10
  "dame de pique", //no:11
  "roi de pique",  //no:12
  "as de carreau", //no:13
  "deux de carreau", //no:14
  "trois de carreau", //no:15
  "quatre de carreau",//no:16
  "cinq de carreau", //no:17
  "six de carreau", //no:18
  "sept de carreau", //no:19
  "huit de carreau", //no:20
  "neuf de carreau", //no:21
  "dix de carreau", //no:22
  "valet de carreau", //no:23
  "dame de carreau", //no:24
  "roi de carreau", //no:25
  "as de trefle",  //no:26
  "deux de trefle", //no:27
  "trois de trefle", //no:28
  "quatre de trefle", //no:29
  "cinq de trefle",  //no:30
  "six de trefle",  //no:31
  "sept de trefle", //no:32
  "huit de trefle",  //no:33
  "neuf de trefle",  //no:34
  "dix de trefle", //no:35
  "valet de trefle", //no:36
  "dame de trefle", //no:37
  "roi de trefle",  //no:38
  "as de coeur",  //no:39
  "deux de coeur", //no:40
  "trois de coeur",  //no:41
  "quatre de coeur", //no:42
  "cinq de coeur", //no:43
  "six de coeur",  //no:44
  "sept de coeur",  //no:45
  "huit de coeur", //no:46
  "neuf de coeur", //no:47
  "dix de coeur",  //no:48
  "valet de coeur",  //no:49
  "dame de coeur",  //no:50
  "roi de coeur",  //no:51
  "TEMP"};   //no:52(case temporaire)
 cout<<"Tableau des cartes: "<<endl;  //la boucle for permet de numéroter les cartes de 0 à 51
 for (int i =0;i<=52; i++)    //qui sont les 52 cartes d'un jeu de poker standard
  cout<<"\t" <<i<<". ["<<name[i]<<"]" <<endl;
 cout<<endl<<endl;

 cout<<"\t Joueur [1]: "<<endl<<endl;
  i=0;
   cout<<" 1)"<<name[i]<<endl;
  i=1;
   cout<<" 2)"<<name[i]<<endl<<endl;


 cout<<"\t Joueur [2]: "<<endl<<endl;
  i=2;
   cout<<" 1)"<<name[i]<<endl;
  i=3;
   cout<<" 2)"<<name[i]<<endl<<endl;

system("pause");

 

melangeCoupe(name[53]);
{
 int j= 0;
 int t= 52;
 for(int i=0; i=26; i++)  //fonction qui va simuler une coupe au milieu du jeu de carte
 {
  strcpy(name[t], name[i]);
  strcpy(name[i], name[j]);
  strcpy(name[j], name[t]);
  j++;
 }
cout<<name[t]<<endl;
cout<<name[j]<<endl;
cout<<name[i]<<endl;

 cout<<"Tableau des cartes(2): "<<endl;  
 for ( i =0;i<=52; i++)    
  cout<<"\t" <<i<<". ["<<name[i]<<"]" <<endl;
 cout<<endl<<endl;

}
return 0;
}

je n'arrive pas reprendre mon tableau de main dans ma fonction melangeCoupe.... c'est CA mon blem....

mercredi 15 août 2007 à 19:50:30 | Re : reprendre une fct de main

vecchio56

Administrateur CodeS-SourceS
Tu ferais bien de commencer par lire un cours de C
Tu essaies de déclarer une fonction à l'intérieur de main, ce n'est pas possible

_____________________________________
Un éditeur de ressources gratuit pour Windows

jeudi 16 août 2007 à 13:12:46 | Re : reprendre une fct de main

MirKoRn

Membre Club

ouais mais j'ai essayer et il s'execute mais il fait rien il veux pas réafficher mon tableau des carte après avoir effectuer le mélange....

jeudi 16 août 2007 à 13:39:07 | Re : reprendre une fct de main

rt15

Membre Club Administrateur CodeS-SourceS
Tiens mais c'est M. "arrêter boucle infinie" !
Effectivement, il était en invite. Sous Windows, on le sait pas encore.
Mais je sens que je suis pas près de voir mon bout de code dans son code...

1 Comme le dit vecchio56, pas de fonction dans les fonctions. Mettre le return 0; } après le system("pause"). Et appeler melangeCoupe avant le system("pause").
2 Met le tableau de noms en global.
3 Quand on trie des cartes, on mélange. Il faudrait que tu donne un peu d'aléatoire dans tout ça (pas seulement la date de fin...)
4 Quand on copie une chaîne, on s'assure que la destination est assez grande. "roi de coeur" ne fait pas la même taille que "dame de coeur".
5 Quand on échange deux valeurs a et b dans un tableau, on commence par faire une copie de a dans une variable c, puis on copie b dans a puis c dans b. Sinon, il y a perte d'une des valeurs...
6 Plutôt que de trier les noms, il serait nettement plus logique de faire deux tableaux : un qui contient les noms, comme celui que tu as fait, qui ne change pas, et un tableau de char qui contient la position des cartes dans le jeu. C'est celui-là qu'il faudrait trier.

Genre pour afficher la ième carte dans le tas cela donnerait :

cout<<name[tas[i]]<<endl;

Bonne chance.


vendredi 17 août 2007 à 13:59:57 | Re : reprendre une fct de main

MirKoRn

Membre Club

j'ai déjà mis un return 0 mais ça joue toujours pas, j'ai bien pensé faire un autre tableau avec uniquement la position des cartes(donc les numeros des cartes?? c'est bien ça que tu dis?) mais je croyais que ça aurait fait que déplacer le problème dans un autre tableau. pour les différentes grandeurs des noms je peux rejouter des espace a la fin ou bien les caractères ont chaqun une taille différentes?
Si tu a bien regarder mon code il y a une case qui s'appelle TEMP qui une carte en plus pour faire se que tu me dis en (5).

Donc faut que je refasse un tableau avec des numéros de 0 à 53 et le no.53 serait ma case temp. et avec ça pas de problème de différentes grandeure de case?


vendredi 17 août 2007 à 16:20:17 | Re : reprendre une fct de main

rt15

Membre Club Administrateur CodeS-SourceS
Vi un tableau avec les numéro de carte.
les caractères ont tous la même taille.
Pour le 5, ah vi très bien j'avais lu, désolé.

Quand j'ai dit un talbleau de char, je disais un tableau de char comme ça quoi :
char paquet[];

Avec les les indices des noms.
Genre quand on a paquet[0] == 12 Qui est vrai, la carte sur le dessus (ou le dessous...) du paquet est un roi de pique quoi.
Et tu es pas obligé de mettre la case temporaire dans le tableau, tu peux utiliser une variable supplémentaire pour ça.



vendredi 17 août 2007 à 16:26:33 | Re : reprendre une fct de main

MirKoRn

Membre Club

okay merci... mais pour avec une autre tableau avec tout les numéros des cartes je fait un tableau avec les valeurs de 0 à 52 ? comment je vais l'écrire celui là après!... j'ai pas encore enormément  de notion de C++

vendredi 17 août 2007 à 17:26:01 | Re : reprendre une fct de main

rt15

Membre Club Administrateur CodeS-SourceS
C'est pour ça que vecchio t'as conseiller de lire un cours.
Y a des cours en lignes ici.

Mais un bouquin en vrai papier, pour débuter, ça peut être plus sympa.



Cette discussion est classée dans : fonction, main, fct, reprendre


Répondre à ce message

Sujets en rapport avec ce message

scanf() [ par clb ] bonjour à tous,j'ecris par exemple :int fonction(){ if(true) return 0; else return -1}dans main, si cette fonction retourne 0,alors j'appli fonction et variable [ par rodrigos ] Je suis débutant en c++ et j'ai un petit problème:J'ai fonction récurante dans mon programme que j'appelle depuis le main. Mais j'aimerai modifier une Question de pointeurs [ par daivil ] Bonsoir,Alors admettons un type :typedef struct{ int nbPommes; int nbBananes;} T_panier;//Admettons ensuite une fonction mainint main(void){ T_panier Mélanger OpenGL et Glut [ par tintin72 ] SalutJ'aimerai me servir des fonctions d'entrée clavier/souris proposées par Glut, mais j'ai vu que Glut s'initialise avec une fonction main façon C.i Tableau en C [ par Mickylord ] Bonsoir a tous !Voici ma question :J'ai une fonction principale, main(), et une autre fonction tab(). Je voudrais déclarer un tableau dans la fonction Exécuter une fonction en arrière plan [ par sena ] Bonjour,j'ai créer une dll dans la quelle ce trouve une fonction d'écoute en UDP qui affiche un message dè kel recoit kelke choz.Cette fonction tourne arguments fct main [ par surfeurnet ] Quelqu'un pourrait m'expliquer comment fonctionnent les arguments int argc, char **argv de la fonctionmain.Merci d'avance. Utilisation de la fonction main en récursif [ par floriandevelop ] Bonjour! pour ma première question, je vais demander un truc qu'on pourra trouver tordu..! alors voilà: comment peut-on utiliser directement la fonct parametre de la fonction main() [ par infodaoudi ] bonjour,dans le programme qui suit : comment executer la fonction main() sachant que j'utilise le vc++ 6.0 (console). autrement dit, comment faire pou la fonction main() [ par ffnajia ] Bonjour ;J'ai une question:qu'est ce qu'on peut mettre en dehors de la fonction main() en c++.les fonctions par éxemple. c'est les seuls???et les clas


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,624 sec (3)

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