elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / AYUDA lectura de fiche en c en: 11 Mayo 2014, 07:27 am
como estan amigos
estoy aprendiendo c y
quisera pedirles ayuda con este codigo por favor
se ve largo pero esta facil
lee un fichero llamado "destinos.dat"
y muestra en pantalla lo que esta en ese fichero
el problema es que no lo esta leyendo correctamente
y al final pide que ingreses un numero entre 1 y 5
cuando lo ingresas se genera una violacion de segmento
espero me puedan ayudar con eso, ya le estuve dando vueltas todo el dia al problema

Código:
#include <stdio.h>
/*ESTRUCTURAS-------------------------------------------------------------------*/
typedef struct
{
int cantidad_dias;
int divisas;
}n_dias;

typedef struct
{
int codigo;
n_dias dia[2];
int tamano;
}destinos;
/*PROTOTIPO DE FUNCION----------------------------------------------------------*/
int codigo_destino(destinos r_des[]);
/*ALGORITMO PRINCIPAL-----------------------------------------------------------*/
int main()
{
destinos destino[4];
int seleccion;
seleccion = codigo_destino(destino);
printf("%d seleccion",seleccion);
return 0;
}
/*FUNCION CODIGO_DESTINO--------------------------------------------------------*/
int codigo_destino(destinos r_des[])
{
FILE *destinos;
int i, k, c;
char paises[300];

destinos = fopen("destinos.dat","r");
if(destinos == NULL)
puts("ERROR al abrir el archivo destinos.dat");
else
{
puts("\nseleccione un codigo de destino de la lista");
puts("---------------------------------------------");
k=0;
while(!feof(destinos) && k<5)
{
fscanf(destinos,"%d\n", &r_des[k].codigo);
printf("\nCodigo %d \n", r_des[k].codigo);
puts("-------------------------------------------------");
fscanf(destinos,"%[a-zA-Z, ]\n", paises);
puts(paises);
for(i=0; i<3; i++)
{
fscanf(destinos,"%d %d\n", &r_des[k].dia[i].cantidad_dias, &r_des[k].dia[i].divisas);
r_des[k].tamano = i+1;
printf("Dias del viaje: %d\tcantidad de divisas: %d\n", r_des[k].dia[i].cantidad_dias, r_des[k].dia[i].divisas);
}
puts("-------------------------------------------------");
k++;
}
fclose(destinos);
do
{
puts("\n* ingrese codigo de destino");
scanf("%d",&c);
if(c < 1 || c > 5)
puts("\tel codigo de destino tiene que estar en el rango 1-5");
}
while(c < 1 || c > 5);
}
return(c);
}

esto es lo que contiene el fichero original

Citar
1
Europa, Africa, Oceania
3   2000
7   2000
8   3000
2
Mexico, Estados Unidos, Canada, Belice, Costa Rica, El Salvador, Guatemala, Argentina, Brasil, Chile, Paraguay, Peru, Uruguay, Guyana, Suriname, Antigua, Barbuda, Bolivia, Cuba, Ecuador, Honduras, San Vicente y las Granadinas, Nicaragua
3   1000
7   2000
8   2500
3
Panama
3   500
7   700
8   1000
4
Colombia
3   300
7   500
8   700
5
Otras islas del caribe
3   500
7   700
8   1000

y esto es lo que muestra el programa

Citar

seleccione un codigo de destino de la lista
---------------------------------------------

Codigo 1
-------------------------------------------------
Europa, Africa, Oceania
Dias del viaje: 3       cantidad de divisas: 2000
Dias del viaje: 7       cantidad de divisas: 2000
Dias del viaje: 8       cantidad de divisas: 3000
-------------------------------------------------

Codigo 2
-------------------------------------------------
Mexico, Estados Unidos, Canada, Belice, Costa Rica, El Salvador, Guatemala, Arge
ntina, Brasil, Chile, Paraguay, Peru, Uruguay, Guyana, Suriname, Antigua, Barbud
a, Bolivia, Cuba, Ecuador, Honduras, San Vicente y las Granadinas, Nicaragua
Dias del viaje: 3       cantidad de divisas: 1000
Dias del viaje: 7       cantidad de divisas: 2000
Dias del viaje: 3       cantidad de divisas: 2500
-------------------------------------------------

Codigo 3
-------------------------------------------------
Panama
Dias del viaje: 3       cantidad de divisas: 500
Dias del viaje: 7       cantidad de divisas: 700
Dias del viaje: 3       cantidad de divisas: 1000
-------------------------------------------------

Codigo 4
-------------------------------------------------
Colombia
Dias del viaje: 3       cantidad de divisas: 300
Dias del viaje: 7       cantidad de divisas: 500
Dias del viaje: 3       cantidad de divisas: 700
-------------------------------------------------

Codigo 5
-------------------------------------------------
Otras islas del caribe
Dias del viaje: 3       cantidad de divisas: 500
Dias del viaje: 7       cantidad de divisas: 700
Dias del viaje: 3       cantidad de divisas: 1000
-------------------------------------------------

* ingrese codigo de destino
1
1 seleccion
(aqui el programa deja de responder)
Process exited with return value 3221225477
Press any key to continue . . .
2  Programación / Programación C/C++ / ayuda en C en: 24 Marzo 2014, 03:38 am
tengo un problema, quisiera por favor si me pueden ayudar, me he quedado atascado
el codigo es el siguiente:

Código:
 
#include <time.h>
#include <stdio.h>
/*-------------prototipo de funcion--------------*/
void fecha(int *d, int *m, int *a);
/*-------------algoritmo principal----------------*/
int main()
{
    int dia, mes, anho;

    fecha(&dia, &mes, &anho);
    printf("%d-%d-%d\n", dia, mes, anho);
}
/*-------------procedimento fecha---------------*/
void fecha(int *d, int *m, int *a)
{
    time_t ahora;
    struct tm *fecha;
    time(&ahora);
    fecha = localtime(&ahora);
    d = fecha->tm_mday;
    m = fecha->tm_mon+1;
    a = fecha->tm_year+1900;
    printf("%d-%d-%d\n", d, m, a);
}
   

porque en un printf me escribe una cosa diferente del otro printf?
3  Programación / Programación C/C++ / [C] pase de parametros en: 25 Febrero 2014, 19:47 pm
como estan amigo, mi pregunta es como se hace el pase de parametros a un procedimento dentro de otro procedimento, ejm:

#include<stdio.h>
typedef struct
{
  int n;
}numero;
void uno(numero *n);
void dos(numero *n);

main()
{
  numero n;
  uno(&n);
}

void uno(numero *n)
{
   dos(&n);//aqui es la duda no se si eso sea correcto
4  Programación / Programación C/C++ / ayuda C en: 21 Febrero 2014, 17:44 pm
tengo una duda, hay alguna funcion que me convierta una fecha ingresada del tipo 12/12/2012 en  dias transcurridos desde enero ejm: 365 ?
5  Programación / Programación C/C++ / ayuda fecha en c en: 20 Febrero 2014, 18:51 pm
como estan compañeros, soy nuevo en esta camunidad y me ha sido de mucha ayuda, quisiera que me ayuden con este problema que tengo en un programa para que una fecha ingresada por el usuario si es mayor en 15 dias a la fecha actual y menor a 30 dias de la fecha actual sea aceptada; la fecha actual es tomada de time.h , espero me puedan ayudar con esto 
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines