C/Visual C - archivo

 
Vista:

archivo

Publicado por Juan (2 intervenciones) el 02/10/2007 23:31:00
hola y gracias,debo realizar una aplicación q reciba inicialmente la orden de generar
una llamada hacia cierto número¡ y de manera aleatoria '"debe decidir aspectos
como si es contestada o no¡ número de destino ocupado y tiempo de contestación
de-lailamada.Mientras la llamada está en curso debe recibir la instrucción de
cuelgue¡, generar y almacenar el respectivo CDR

cada cdr debe tenr:
Numero de origen
numero de destino
fecha y hora de marcacion
fecha y hora de inicio
fecha y hopra de terminacion
duracion en segundos

por lo tanto esto lo debo guardar en un archivo para desde otra aplicacion poder abririlo

El programa ya me genrar la llamada, lo q me importa aqui es saber si efectivamente me esta guardando los datos que necesito en un archivo y como puedo abrirlos despues desde la otra aplicacion GRACIAS


#include<stdio.h>
#include<conio.h>
#include <dos.h>
#include <time.h>
#include<string.H>
#include<stdlib.h>

struct cdr{
char n_origen[10];
char n_destino[10];
char fh_marcacion[20];
char fh_inicio[20];
char fh_terminacion[20];
int duracion;
};

void archivo(){
FILE *cfptr;
struct cdr cuenta;
char destino[10];
char origen[10];
char marcacion[20];
char inicio[20];
char terminacion[20];
int dur;
if((cfptr=fopen("cuenta.data","w"))==NULL)
printf("El archivo no puede ser abierto\n");
else{
strcpy(cuenta.n_origen,origen);
strcpy(cuenta.n_destino,destino);
strcpy(cuenta.fh_marcacion,marcacion);
strcpy(cuenta.fh_inicio,inicio);
strcpy(cuenta.fh_terminacion,terminacion);
cuenta.duracion=dur;
fseek(cfptr, sizeof(struct cdr),SEEK_SET);
fwrite(&cuenta,sizeof(struct cdr), 1, cfptr);
}
}


int ran(){
randomize();
return random(30);
}

int ran2(){
randomize();
return random(50);
}

void tiempo(){
int colgar;
int dur;
time_t first, second;
first = time(NULL);
gotoxy(15,20);
printf("Oprima 1 para colgar:");
scanf("%d", &colgar);
if(colgar==1){
second = time(NULL);
gotoxy(15,22);
printf("%f segundos",difftime(second,first));
dur=difftime(second,first);
}
}

void fhmar()
{

clrscr();
struct dostime_t t;
struct dosdate_t d;
_dos_gettime(&t);
_dos_getdate(&d);

char *dia,*mes,*ano,*hora,*minuto,*segundo;
struct cdr cuenta;

strcat(cuenta.fh_marcacion,itoa(d.day,dia, 10));
printf("/");
strcat(cuenta.fh_marcacion,itoa(d.month,mes, 10));
printf("/");
strcat(cuenta.fh_marcacion,itoa(d.year,ano, 10));
printf(" ");
strcat(cuenta.fh_marcacion,itoa(t.hour,hora, 10));
printf(":");
strcat(cuenta.fh_marcacion,itoa(t.minute,minuto, 10));
printf(":");
strcat(cuenta.fh_marcacion,itoa(t.second,segundo, 10));
}

void fhini()
{

clrscr();
struct dostime_t t;
struct dosdate_t d;
_dos_gettime(&t);
_dos_getdate(&d);

char *dia,*mes,*ano,*hora,*minuto,*segundo;
struct cdr cuenta;

strcat(cuenta.fh_inicio,itoa(d.day,dia, 10));
printf("/");
strcat(cuenta.fh_inicio,itoa(d.month,mes, 10));
printf("/");
strcat(cuenta.fh_inicio,itoa(d.year,ano, 10));
printf(" ");
strcat(cuenta.fh_inicio,itoa(t.hour,hora, 10));
printf(":");
strcat(cuenta.fh_inicio,itoa(t.minute,minuto, 10));
printf(":");
strcat(cuenta.fh_inicio,itoa(t.second,segundo, 10));
}


void fhter()
{

clrscr();
struct dostime_t t;
struct dosdate_t d;
_dos_gettime(&t);
_dos_getdate(&d);

char *dia,*mes,*ano,*hora,*minuto,*segundo;
struct cdr cuenta;

strcat(cuenta.fh_terminacion,itoa(d.day,dia, 10));
printf("/");
strcat(cuenta.fh_terminacion,itoa(d.month,mes, 10));
printf("/");
strcat(cuenta.fh_terminacion,itoa(d.year,ano, 10));
printf(" ");
strcat(cuenta.fh_terminacion,itoa(t.hour,hora, 10));
printf(":");
strcat(cuenta.fh_terminacion,itoa(t.minute,minuto, 10));
printf(":");
strcat(cuenta.fh_terminacion,itoa(t.second,segundo, 10));
}





int main(){
char destino[10];
char origen[10];
char marcacion[20];
char inicio[20];
char terminacion[20];
int dur;
int r=ran();
int r2=ran2();
clrscr();
gotoxy(15,10);
printf("Numero Origen : ");
gotoxy(35,10);
gets(origen);
gotoxy(15,12);
printf("Numero Destino : ");
gotoxy(35,12);
gets(destino);
if(r<=15){
printf("\nLLAMANDO...");
fhmar();
if(r2<=10){
gotoxy(15,18);
sleep(5);
printf("Tiempo de Contestacion : 0:05");
}else if(r2<=20){
gotoxy(15,18);
sleep(8);
printf("Tiempo de Contestacion : 0:08");
}else if(r2<=30){
gotoxy(15,18);
sleep(13);
printf("Tiempo de Contestacion : 0:13");
}else if(r2<=40){
gotoxy(15,18);
sleep(15);
printf("Tiempo de Contestacion : 0:15");
}else{
gotoxy(15,18);
sleep(19);
printf("Tiempo de Contestacion : 0:19");
}
fhini();
tiempo();
fhter();
archivo();
}else if(r<=25){
gotoxy(15,18);
sleep(1);
printf("OCUPADO");
}else{
printf("\nLLAMANDO...");
sleep(10);
gotoxy(15,18);
printf("LLAMADA NO CONTESTADA");
}
getch();
return 0;
}
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