gracias
Unhandled exception at 0x772015de in pruevba.exe: 0xC0000005: Access violation reading location 0x00000065.
Citar
#ifndef ficheroo_h
#define ficheroo_h
#define NUM_MAX 3
void pantalla(void);
typedef struct
{char nombre[20];
char apellido[50];
char direccion[20];
char telefono[20];
char dni[20];
char email[20];
char cpostal[20];
char fnacimiento[20];
char ciudad[20];
unsigned char Edad;
}t_cliente;
t_cliente clientes[NUM_MAX];
void datoscliente(t_cliente *ptr_clientes, int cantidad); //definimos funcion asosiando al struct
void lista (t_cliente *ptr_clientes, int cantidad);
void prueba (t_cliente *ptr_clientes, int cantidad);
//clientes[] pertenece a t_cliente
#endif /* fichero_H */
#define ficheroo_h
#define NUM_MAX 3
void pantalla(void);
typedef struct
{char nombre[20];
char apellido[50];
char direccion[20];
char telefono[20];
char dni[20];
char email[20];
char cpostal[20];
char fnacimiento[20];
char ciudad[20];
unsigned char Edad;
}t_cliente;
t_cliente clientes[NUM_MAX];
void datoscliente(t_cliente *ptr_clientes, int cantidad); //definimos funcion asosiando al struct
void lista (t_cliente *ptr_clientes, int cantidad);
void prueba (t_cliente *ptr_clientes, int cantidad);
//clientes[] pertenece a t_cliente
#endif /* fichero_H */
Citar
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include "fichero.h"
int main (void)
{
char tecla;
char salir=true;
while(salir)
{pantalla();
tecla=getch();
switch(tecla)
{
case'1':
datoscliente(clientes,NUM_MAX); //
break;
case'2':
lista(clientes,NUM_MAX);
break;
case'3':
salir=false;
break;
}
}
}
void pantalla(void)
{ printf("\n\t Datos de Clientes\n");
printf ("\n1-Introduce datos del cliente\n");
printf ("\n2-Muestra ficha de datos de los cliente\n");
printf ("\n3-Salir\n");
}
void datoscliente(t_cliente *ptr_clientes, int cantidad)
{
int i,a;
for (i=0; i<cantidad; i++)
{
printf("\n\nElige la opcion para seguir");
printf("\n1 introducir datos de un nuevo cliente \n");
printf("\n2 salir\n");
printf("\n Desea seguir?\t");
scanf("%d",&a);
if(a==1)
{
printf ("\nIntroduce el nombre del cliente %d \n", i+1); //cliente 1.2.. count+1 va sumando 1 a medida que introducimos los datos del cliente
scanf ( "%s", &ptr_clientes->nombre);
printf ("\nIntroduce el apellido del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->apellido);
printf ("\nIntroduce la edad del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->Edad);
printf ("\nIntroduce la direccion del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->direccion);
printf ("\nIntrodude el telefono del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->telefono);
printf ("\nIntroduce el DNI del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->dni);
printf ("\nIntroduce el EMAIL del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->email);
printf ("\nIntroduce el CODIGO postal del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->cpostal);
printf ("\nIntroduce la fecha de nacimiento del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->fnacimiento);
printf ("\nIntroduce la ciudad del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->ciudad);
ptr_clientes++;
}
ptr_clientes++;
if(a==2)
{break;}
}
}
void lista (t_cliente *ptr_clientes, int cantidad)
{
int i;
for (i=0;i<cantidad;i++)
{printf("\n%s\t",ptr_clientes->nombre);
printf("\t%s",ptr_clientes->apellido);
printf("\t%s",ptr_clientes->direccion);
printf("\t%s",ptr_clientes->telefono);
printf("\t%s",ptr_clientes->dni);
printf("\t%s",ptr_clientes->Edad);
printf("\t%s",ptr_clientes->email);
printf("\t%s",ptr_clientes->cpostal);
printf("\t%s",ptr_clientes->fnacimiento);
printf("\t%s",ptr_clientes->ciudad);
ptr_clientes++;
}
}
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include "fichero.h"
int main (void)
{
char tecla;
char salir=true;
while(salir)
{pantalla();
tecla=getch();
switch(tecla)
{
case'1':
datoscliente(clientes,NUM_MAX); //
break;
case'2':
lista(clientes,NUM_MAX);
break;
case'3':
salir=false;
break;
}
}
}
void pantalla(void)
{ printf("\n\t Datos de Clientes\n");
printf ("\n1-Introduce datos del cliente\n");
printf ("\n2-Muestra ficha de datos de los cliente\n");
printf ("\n3-Salir\n");
}
void datoscliente(t_cliente *ptr_clientes, int cantidad)
{
int i,a;
for (i=0; i<cantidad; i++)
{
printf("\n\nElige la opcion para seguir");
printf("\n1 introducir datos de un nuevo cliente \n");
printf("\n2 salir\n");
printf("\n Desea seguir?\t");
scanf("%d",&a);
if(a==1)
{
printf ("\nIntroduce el nombre del cliente %d \n", i+1); //cliente 1.2.. count+1 va sumando 1 a medida que introducimos los datos del cliente
scanf ( "%s", &ptr_clientes->nombre);
printf ("\nIntroduce el apellido del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->apellido);
printf ("\nIntroduce la edad del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->Edad);
printf ("\nIntroduce la direccion del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->direccion);
printf ("\nIntrodude el telefono del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->telefono);
printf ("\nIntroduce el DNI del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->dni);
printf ("\nIntroduce el EMAIL del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->email);
printf ("\nIntroduce el CODIGO postal del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->cpostal);
printf ("\nIntroduce la fecha de nacimiento del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->fnacimiento);
printf ("\nIntroduce la ciudad del cliente %d\n", i+1);
scanf ("%s", &ptr_clientes->ciudad);
ptr_clientes++;
}
ptr_clientes++;
if(a==2)
{break;}
}
}
void lista (t_cliente *ptr_clientes, int cantidad)
{
int i;
for (i=0;i<cantidad;i++)
{printf("\n%s\t",ptr_clientes->nombre);
printf("\t%s",ptr_clientes->apellido);
printf("\t%s",ptr_clientes->direccion);
printf("\t%s",ptr_clientes->telefono);
printf("\t%s",ptr_clientes->dni);
printf("\t%s",ptr_clientes->Edad);
printf("\t%s",ptr_clientes->email);
printf("\t%s",ptr_clientes->cpostal);
printf("\t%s",ptr_clientes->fnacimiento);
printf("\t%s",ptr_clientes->ciudad);
ptr_clientes++;
}
}