Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Por que en este otro programa mas no sale el resultado tan esperado???

Estas en el tema de Por que en este otro programa mas no sale el resultado tan esperado??? en el foro de C/C++ en Foros del Web. hola a todos, en este programa es un archivo de acceso secuencial, necesito crear dos archivos secuenciales y despues encontrar la conincidencia por el numero ...
  #1 (permalink)  
Antiguo 03/08/2010, 19:42
 
Fecha de Ingreso: agosto-2010
Mensajes: 153
Antigüedad: 13 años, 8 meses
Puntos: 1
Por que en este otro programa mas no sale el resultado tan esperado???

hola a todos, en este programa es un archivo de acceso secuencial, necesito crear dos archivos secuenciales y despues encontrar la conincidencia por el numero de cuenta de cada uno y juntarlos, osea, en la opcion 1 creo uno y le pongo la cuenta 1 y el saldo, y despues en la opcion 2 creo otro para saber a cuales cuentas voy a modificarles el saldo, le pongo cuenta 1 y le pongo otro saldo ( que es la cuenta que se modificara ), despues en la opcion 5 le pongo juntar para que de mi segundo archivo secuencial que es donde tengo la cuenta 1 coincida con la cuenta primera y se sume o se reste y despues le de en imprimir archivo 1 y imprima el resultado ya restado o sumado. gracias


#include <stdio.h>


int instrucciones ( void );
void crear ( void );
void crear2 ( void );
void leer ( void );
void leer2 ( void );
void juntar ( void );
void verfinal ( void );
void crearfinal ( void );

int main ()

{

int seleccion;

seleccion = instrucciones();

printf ("\n");

while ( seleccion != 0 ) {

switch ( seleccion ) {
case 1:
crear();
break;

case 2:
crear2();
break;

case 3:
leer();
break;

case 4:
leer2();
break;

case 5:
juntar();
break;

}

printf ("\n\n");
seleccion = instrucciones();

}
return 0;

}

int instrucciones ( void )

{

int seleccion;

printf ("1-crear 1 archivo secuencial\n2-crear 2 archivo secuencial\n"
"3-leer 1 archivo secuencial\n4-leer 2 archivo secuencial\n5-juntar\n0-fin\n");
scanf ("%d", &seleccion );

return seleccion;

}

void crear ( void )

{

int cuenta;
int saldo;

FILE *ptr;

if (( ptr = fopen ( "credito.dat", "w" ) ) == NULL ) {
printf ("NO");
}
else {

printf ("Escribe la cuenta, 0 para terminar: ");
scanf ("%d", &cuenta );

while ( cuenta != 0 ) {

fprintf ( ptr, "%d\n", cuenta );

printf ("Escribe el saldo: ");
scanf ("%d", &saldo );
fprintf ( ptr, "%d\n", saldo );

printf ("\n");
printf ("Escribe la cuenta, 0 para terminar: ");
scanf ("%d", &cuenta );

}


fclose ( ptr );

}


}

void leer ( void )

{

int cuenta;
int saldo;

FILE *ptr;

if ( ( ptr = fopen ( "credito.dat", "r" ) ) == NULL ) {
printf ("NO");
}
else {

fscanf ( ptr, "%d%d", &cuenta, &saldo );

while ( !feof ( ptr ) ) {
printf ("%d\n%d\n\n", cuenta, saldo );
fscanf ( ptr, "%d%d", &cuenta, &saldo );
}


fclose ( ptr );

}

}

void crear2 ( void )

{

int cuenta;
int saldo;

FILE *ptr;

if (( ptr = fopen ( "credito2.dat", "w" ) ) == NULL ) {
printf ("NO");
}
else {
printf ("Escribe la cuenta, 0 para terminar: ");
scanf ("%d", &cuenta );

while ( cuenta != 0 ) {

fprintf ( ptr, "%d\n", cuenta );

printf ("Escribe el saldo: ");
scanf ("%d", &saldo );
fprintf ( ptr, "%d\n", saldo );

printf ("Escribe la cuenta, 0 para terminar: ");
scanf ("%d", &cuenta );
}


fclose ( ptr );

}

}

void leer2 ( void )

{

int cuenta;
int saldo;

FILE *ptr;

if ( ( ptr = fopen ( "credito2.dat", "r" ) ) == NULL ) {
printf ("NO");
}
else {

fscanf ( ptr, "%d%d", &cuenta, &saldo );

while ( !feof ( ptr ) ) {
printf ("%d\n%d\n\n", cuenta, saldo );
fscanf ( ptr, "%d%d", &cuenta, &saldo );
}


fclose ( ptr );

}

}

void juntar ( void )

{

void funcion ( FILE *ptr );

FILE *ptr;
int cuenta;
int saldo;

if ( ( ptr = fopen ( "credito.dat", "r+" ) ) == NULL ) {
printf ("NO");
}
else {
funcion ( ptr );
fclose ( ptr );
}

}

void funcion ( FILE *ptr )

{

FILE *ptrY;

int cuenta, cuenta2;
int saldo, saldo2;

saldo2 = 100;


if ( ( ptrY = fopen ( "credito2.dat", "r" ) ) == NULL ) {
printf ("NO");
}
else {


fprintf ( ptr, "%d %d\n", cuenta, ( saldo + saldo2 ) );


fclose ( ptrY );

}

}

Última edición por davidtadeo; 03/08/2010 a las 19:49

Etiquetas: mas, programa, sale, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:05.