Hola a todos :3
Tengo un problema con un programa que me pidieron en la uni ,no se como terminarlo lo que debe hacer el programa es cifrar una agenda sumandole 3 numeros a su valor ascii y no se como hacerlo ,no me sale les envio lo que tengo de codigo,
Espero me puedan ayudar se los agradecere mucho
Tengo un problema con un programa que me pidieron en la uni ,no se como terminarlo lo que debe hacer el programa es cifrar una agenda sumandole 3 numeros a su valor ascii y no se como hacerlo ,no me sale les envio lo que tengo de codigo,
Código [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
struct contacto //Declaracion de una estructura
{
char nombre[50];
char cel[15];
char casa[15];
unsigned char correo[50];
};
void lee(struct contacto *a,int tamanio);//Funcion que lee
// void imprime(struct contacto *b,int tamanio);//Funcion que imprime
void codificar(struct contacto *b, int tamanio);// Funcion que cambia el texto
void grabar_archivo( FILE *archivo, struct contacto *a, int tamanio);//Función que guarda datos en archivo
int main(int argc, char* argv[])
{ //Abre funcion principal
int tamanio;//Declaracion de variable entera para leer tamaño
struct contacto *datos=NULL; //Apuntador a estructura
struct contacto guardar;//Variable de estructura
datos= &guardar;//Se asigna la direccion de memoria a apuntador
FILE *archivo=NULL;
printf("\n\n\tIngrese el numero de Contactos: ");//Imprime Mensaje
scanf("%d",&tamanio);//Lee el tamaño deseado
datos=(struct contacto*)calloc(tamanio,sizeof(struct contacto));
//Reservar memoria para ingresar los contactos
if (datos==NULL)//Verifica que exista espacio para reservar la memoria
{
printf("No se puede reservar memoria");
exit(0);
}
lee(datos, tamanio);//Funcion para leer
//imprime (datos, tamanio);//Funcion que imprime
codificar(datos, tamanio);
grabar_archivo(archivo, datos, tamanio);
system ("cls");
free (datos); //funcion que libera la memoria
printf("\n\n\t\tDatos guardados con exito...\n\n");
return 0;
}
void lee(struct contacto *a,int tamanio)
{
int c;
for(c=0 ;c<tamanio; c++)
{
printf("\n\n\tContacto %d",c+1);
fflush(stdin);
printf("\n\n\tIngresa el nombre del contacto: ");
gets((a+c)->nombre);
printf("\n\n\tIngresa su telefono celular: ");
gets((a+c)->cel);
printf("\n\n\tIngresa su telefono de casa: ");
gets((a+c)->casa);
printf("\n\n\tIngresa el correo electronico: ");
gets((a+c)->correo);
fflush(stdin);
}
system ("cls");
}
void imprime(struct contacto *b,int tamanio)
{
int c;
printf("\tNombre\t\tCelular\t\tCasa\t\tCorreo\n\n");
for(c=0; c<tamanio; c++)
{
printf("%d\t%s\t\t%s\t\t%s\t\t%s\n\n",c+1,(b+c)->nombre,(b+c)->cel,(b+c)->casa,(b+c)->correo);
}
getchar();
fflush(stdin);
}
void grabar_archivo(FILE *archivo, struct contacto *a, int tamanio)
{
int c;
archivo=fopen("Contactos.txt","a+" );
if (archivo==NULL){
printf("\n\tError al abrir el archivo...");
exit (0);}
for(c=0; c<tamanio; c++)
fprintf(archivo,"%s\t%s\t%s\t%s\n",(a+c)->nombre,(a+c)->cel,(a+c)->casa,(a+c)->correo);
fclose (archivo);
}
void codificar(struct contacto *b, int tamanio){AQUI DEBO PONER LA FUNCION QUE ENCRIPTE EL TEXTO
[code=c]
[/code]Espero me puedan ayudar se los agradecere mucho