Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
c
Programa que al ingresar el Precio Inicial y el Precio Final de un Artculo,
imprime el porcentaje de descuento y lo almacena en un archivos de datos.
Eleazar Vicente Ruelas Vzquez - 1614633*/
#include <stdio.h>
#include <string.h>
#include <windows.h>
typedef struct {
char Articulo[30];
float PrecioInicial, PrecioFinal;
}regPrecios;
regPrecios vtrPrecios;
FILE *ptfPrecios;
typedef struct {
char Articulo[30];
float PrecioInicial, PrecioFinal;
float Descuento;
}regDescuento;
regDescuento vtrDescuento;
FILE *ptfDescuento;
int n;
char Articulos[100][30];
void
void
void
void
void
void
IngresaDatos(regPrecios vtrPrecios);
DatosArreglo(regPrecios vtrPrecios);
ImprimeArreglo(float Pi[], float Pf[], float P[], int n);
ArregloArchivo(float Pi[], float Pf[], float P[], int n, regDescuento vtrDescuento);
Encabezado();
ImprimeArchivo();
char opcion[2];
ptfPrecios = fopen("precios.dat","w");
do{
system("cls");
printf("\n Nombre del Articulo: ");
scanf(" %[^\n]",vtrPrecios.Articulo);
printf(" Precio Inicial: ");
scanf("%f",&vtrPrecios.PrecioInicial);
printf(" Precio Final: ");
scanf("%f",&vtrPrecios.PrecioFinal);
fwrite(&vtrPrecios, sizeof(regPrecios), 1, ptfPrecios);
strset(vtrPrecios.Articulo,' ');
printf("\n Agregar mas articulos?[s/n]: ");
scanf(" %[^\n]",opcion);
}while(!strcmp(opcion,"S") || !strcmp(opcion,"s"));
fclose(ptfPrecios);
void Encabezado(){
gotoxy( 1, 1 );
printf( "Articulo" );
gotoxy( 30, 1 );
printf( "Precio Inicial" );
gotoxy( 50, 1 );
printf( "Precio Final" );
gotoxy( 70,1 );
printf( "%% Descuento\n" );
}
void ImprimeArchivo(){
printf( " Imprimiendo desde el archivo de salida \n" );
Encabezado();
int Linea = 2;
ptfDescuento = fopen("descuento.sal","r");
if( ptfDescuento == NULL ){
printf(" No se encontro el archivo.\n");
}
Encabezado();
fread( &vtrDescuento, sizeof(regDescuento), 1, ptfDescuento );
do{
gotoxy( 1, Linea );
printf( "%s", vtrDescuento.Articulo );
gotoxy( 30, Linea );
printf( "%8.2f", vtrDescuento.PrecioInicial );
gotoxy( 50, Linea );
printf( "%8.2f", vtrDescuento.PrecioFinal );
gotoxy( 70, Linea );
printf( "%8.2f",vtrDescuento.Descuento );
Linea++;
fread( &vtrDescuento, sizeof( regDescuento ), 1 , ptfDescuento );
}while( !feof( ptfDescuento ) );
fclose( ptfDescuento );
printf( "\n" );
}