Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - caronte80

#1
Programación C/C++ / Concatenar cadenas
31 Agosto 2012, 22:04 PM

 Hola a todos

Le estoy dando vueltas a un codigo en C  que quiero que escriba combos en un archivo con este formato:   aaaaaa:aaaaaa
               aaaaab:aaaaab.....

pero en realidad la salida es esta:  aaaaaa:aaaaaa
                                                  aaaaab:aaaaaa
                                                  aaaaac:aaaaaa......

    ALguien podria ojear el codigo y darme alguna sugerencia...???
 Gracias de antemano.

/*DICCIONARIO*/

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

int desde;
int hasta;



void calcula (void);


int main()
{
int ndopcion;

printf("\n\n\t\t\t\tMENU\n\n");
printf("\n\t\t1\tNumeroS\n\t\t2\tMayusculaS\n\t\t3\tMinusculaS\n\t\t4\tVaciO\n\t\t5\tVaciO\n");
printf ("\nIntroduza numero de opcion: ");
scanf (" %d" ,&ndopcion);
while(getchar()!='\n');

switch (ndopcion)
{
case 1:
{
desde=48;
hasta=57;
calcula();
}
break;

case 2:
{
desde=65;
hasta=90;
calcula();

}
break;

case 3:
{
desde=97;
hasta=122;
calcula();

}
break;

case 4:
{

}
break;

case 5:
{

}
break;
}

}

void calcula (void)
{

int a, b, c, d, e, f;
char clv[14];
char combo[7];

char nombre[20];



printf("\nIntroduzca nombre del archivo de salida: ");
gets(nombre);
while(getchar()!='\n');

FILE *hoja1;
hoja1 = fopen (nombre , "wt");
if (hoja1 == NULL)
{
printf ("No se ha podido crear el fichero");
}
else

{


for (a=desde; a<= hasta; a++)
{

clv[0] = a;
combo[0]=a;
for (b=desde; b <= hasta; b++)
{
clv[1] = b;
combo[1]=b;
for (c=desde; c<= hasta; c++)
    {
clv[2] = c;
combo[2]=c;
for (d=desde; d<= hasta; d++)
{
clv[3] = d;
combo[3]=d;
for (e=desde; e<=hasta; e++)
{
clv[4] = e;
combo[4]=e;

for (f=desde; f<= hasta; f++)
{
clv[5] = f;
combo[5]=f;
clv[6]=':';
combo[6]='\n';
 
strcat(clv, combo);


fwrite (clv, sizeof(clv), 1, hoja1);
printf("\n%s",clv);
}
     }
  }
}
}
}
}
fclose(hoja1);
printf("\n%s", clv);
printf("\nArchivo cerrado\n\n ");


}

P.D: Notese que soy un poco novato.. :rolleyes: