Dev - C++ - lista enlazada

 
Vista:

lista enlazada

Publicado por javi (1 intervención) el 13/08/2008 15:02:23
Necesito realizar estos ejercicios pero no se resolver el último ¿alguien me podria decir como resolverlo? gracias por adelantado los dos primeros los pongo resueltos aqui abajo despues del enunciado

Ejercicio 1
Se desea crear un programa que genere contraseñas de forma aleatoria. Crear una función que
tenga dos parámetros. El primero será la longitud (número de caracteres) de la contraseña a
generar. El segundo será la cadena de caracteres generada.
Los caracteres que se pueden emplear para formar parte de la palabra de contraseña son las
letras mayúsculas, las minúsculas y las cifras numéricas. No se emplearán ni el carácter espacio,
ni las ñ’s, ni las letras con tilde.
Crear un programa conductor cuya única misión sea probar la ejecución de la función, para lo
que deberá pedir un número entero (4 ≤ n ≥ 20), llamar a la función con ese valor n y presentar
la contraseña generada. Utilice la función rand() para generar números aleatorios.
Ejercicio 2
Crear un programa que utilice la función anterior para crear un listado de usuarios, cada uno con
su correspondiente contraseña. El programa pedirá los siguientes datos:
Un número entero que representa el número de usuarios a crear
Un prefijo que se utilizará para crear los nombres de usuario.
Un número entero (4 ≤ n ≥ 20) que representa la longitud de la contraseña.
Un nombre de fichero para almacenar los datos.
Los datos se almacenarán en un fichero de texto a razón de uno por línea. Cada línea tendrá el
nombre de usuario, una coma y a continuación la contraseña generada.
Los nombres de usuario se crearán empleando el prefijo introducido por teclado, una barra de
subrayado, y un número de varias cifras. El número de cifras dependerá de la cantidad de
usuarios a crear de manera que todos tengan el mismo número de caracteres. Es decir, si se
piden 7 sólo se empleará una cifra, pero si se piden 36 se emplearán dos cifras y si se piden 124
se emplearán 3 y así sucesivamente. Veamos un ejemplo, piden (supongamos que como prefijo
se ha introducido la cadena “Cursoc_”, como número de usuarios a crear 124 y como número
de caracteres para la contraseña 6). El fichero resultante tendrá el siguiente contenido:
Cursoc_001,s6GRya
Cursoc_002,x8k2tv
...
Cursoc_003,BkTQ52
Como puede verse, para que todos los nombres de usuario tengan el mismo número de cifras se
han añadido ceros para aquellos que tienen un número de cifras menor que el máximo de ellos
(124).
Ejercicio 3
Crear una lista enlazada con asignación dinámica de memoria para almacenar los datos de
usuarios y contraseñas del ejercicio anterior. El programa creará la lista enlazada y
posteriormente la ordenará mediante una función que recibirá la lista desordenada y la
devolverá ordenada. La ordenación se realizará según el campo de contraseña, no el número de
usuario.

#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
#include <string.h>

char funcion_contrasenya(int a,char *cad);
main(){
int a,b=0,c=0,i=0,cont=0,p=0;
char cad[21];
char prefijo[11];
FILE*lista,*lista2;
printf("Programa para generar contrasenyas. ");
printf("Introduce el tamanyo de la contrasenya para generar (puede tener de 4 a 20 caracteres): ");
scanf("%d",&a);
printf("Introduzca el numero de contrasenyas que se desea generar ");
scanf("%d",&c);
printf("Introduzca el prefijo que desea para las contrasenyas ");
fflush(stdin);
gets(prefijo);
lista=fopen("lista.txt", "wb");
while(i<c){
if (a>=4&&a<=20){
funcion_contrasenya(a,cad);
cont++;
printf(" La contrasenya es: %s_%d %s",prefijo,cont,cad);
}
else{
printf(" El tamanyo de contrasenya no es valido");
printf(" Presione cualquier tecla para salir ");}
fputs(prefijo,lista);
fputs(cad,lista);
getch();
i++;
}
fclose(lista);
getch();

}

char funcion_contrasenya(int a,char *cad){
int b=0,x;
srand ( time(NULL) );
while(b<a){
x=(rand()%123);
if(x>=48&&x<=57||x>=65&&x<=90||x>=97&&x<=122){
cad[b]=x;
b++;}
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:lista enlazada

Publicado por Susan (1 intervención) el 27/02/2009 07:50:45
como puedo crear un programa con estructuras y listas enlazadas que me muestre todos los numeros del 1 al 100
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ORDENACION

Publicado por Alex (1 intervención) el 15/02/2010 02:36:59
alguien me puede ayudar con programar en dev c++ los siguientes:

ORDENACION POR SELECCIÓN
ORDENACIÓN POR SHELL
ORDENACIÓN POR BURBUJAS
agradecería bastante su ayuda desde ya gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar