Jai un probleme avec ma source!!!!! jai vérifeir et je ne trouve rien...pou

retaks666 Messages postés 286 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 juillet 2007 - 16 janv. 2003 à 23:07
retaks666 Messages postés 286 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 juillet 2007 - 17 janv. 2003 à 19:57
alors jai veut faire un programme ki génére une suite de caractere d'un nombre donné...et sa marche po... je vous done ma source si vous pouvez m'aider...

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

// déclaration des fonctions et variables globales

enum randnm{a=1 ,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z};
static int max;
char intochar(int& conv);
char *nom_gen;
char generer(); //fonction ki génére
int endp;

//main

void main()
{

cout<<"bienvenue dans le generateur de prenoms:\nveuillez tapez une limite de caractere pour le nom:(0 pour aleatoire) ";
cin>>max;

if(max==0)
{
max=rand()%500;
}

nom_gen=new char[max];
for(int index=0;index<max;index++)
{
nom_gen[index]=generer();
}

cout<<nom_gen;
cout<<"\nprogrammer par retaks666\nappuyez sur une touche pour quitter";
endp=getch();
}//fin main

char generer()
{
static int srandv=(max/5*9/49*1569/45)%30; //pour valeur encore plus aleatoire :-)
srand(srandv);
int hasardnb=(rand()%max);
srandv++;
return(intochar(hasardnb));
}

char intochar(int& conv)
{
char tmp;
if(conv=1)tmp=a;
else if(conv=2)tmp=b;
else if(conv=3)tmp=c;
else if(conv=4)tmp=d;
else if(conv=5)tmp=e;
else if(conv=6)tmp=f;
else if(conv=7)tmp=g;
else if(conv=8)tmp=h;
else if(conv=9)tmp=i;
else if(conv=10)tmp=j;
else if(conv=11)tmp=k;
else if(conv=12)tmp=l;
else if(conv=13)tmp=m;
else if(conv=14)tmp=n;
else if(conv=15)tmp=o;
else if(conv=16)tmp=p;
else if(conv=17)tmp=q;
else if(conv=18)tmp=r;
else if(conv=19)tmp=s;
else if(conv=20)tmp=t;
else if(conv=21)tmp=u;
else if(conv=22)tmp=v;
else if(conv=23)tmp=w;
else if(conv=24)tmp=x;
else if(conv=25)tmp=y;
else if(conv=26)tmp=z;
return(tmp);
}

______________________
.----. /RETAKS666@wanadoo.fr /
_.'__ `. / /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

4 réponses

retaks666 Messages postés 286 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 juillet 2007
16 janv. 2003 à 23:09
______________________
.----. /RETAKS666@wanadoo.fr /
_.'__ `. / /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
0
cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003
17 janv. 2003 à 10:17
salut,
tu veux générer des nombres aléatoires et leurs attribuer une lettre de l'alphabet puis les concatener pour faire des noms ? si c'est le cas ça ne fera qu'associer des lettres ensemble mais il est peut probable que tu obtiennes des noms comme pierre jacques ou sophie tu auras des jkzi pmzk

char intochar(int& conv) & pouquoi faire ? ce n'est pas indispensable
0
cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003
17 janv. 2003 à 10:21
de plus <stdio.h> n'est pas utile
return(intochar(hasardnb)); retourne une valeur supérieures au nombres de combinaisons possibles puisqu'il y en a 26 de a à z
0
retaks666 Messages postés 286 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 juillet 2007
17 janv. 2003 à 19:57
jai corriger cela mais je ne sait pas comment changer l valeur retournée a cahk aprcours de la boucle... le programme ne retourne ke une seule valeur :-(
______________________
.----. /RETAKS666@wanadoo.fr /
_.'__ `. / /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
0
Rejoignez-nous