Programación de nivel 3 Ver resultados
Si su lenguaje C es bueno, agregue código antes de llamar a WriteDat() y podrá enviar el resultado a la ventana de depuración.
Ejemplo:
It Se sabe que hay N números reales (Nlt; 200) almacenados en el archivo IN.DAT. La función ReadDat() lee estos N números reales y los almacena en la matriz xx.
Compile la función CalValue(). Sus requisitos funcionales son: 1. Encuentre el valor promedio de estos N números reales 2. Encuentre el valor promedio averint y la parte entera de estos N números reales respectivamente; El valor promedio del valor de la parte decimal es averdec y finalmente se llama a la función WriteDat() para enviar el resultado solicitado al archivo OUT10.DAT.
Nota: Parte del programa fuente se almacena en PROG1.C.
No cambie el contenido de la función principal main(), la función de lectura de datos ReadDat() y la función de datos de salida WriteDat().
/*Código fuente*/
#include lt;stdio.hgt;
#include lt;conio.hgt;
#define MAXNUM 200
float xx[MAXNUM];
int N = 0; /* ¿Cuántos números reales hay en el archivo IN.DAT*/
double aver = 0.0; /* Valor promedio*/
double averint = 0.0; /* Valor promedio del valor de la parte entera*/
double averdec = 0.0; valor Valor promedio de valores parciales*/
int ReadDat(void);
void WriteDat(void
void CalValue(void)
{
int i;
for(i = 0; i lt; N; i) {
aver = xx[i];
p>averint = (int) xx[i];
}
averdec = aver - averint;
aver /= ( doble) N ;
averint /= (doble) N ;
averdec /= (doble) N ;
}
nulo main()
{
clrscr();
if(ReadDat()) {
printf("El archivo de datos IN .DAT no se puede abrir !\007\n") ;
return ;
}
CalValue() ;
printf( "Archivo IN.DAT Hay d números reales en ***\n", N);
printf("average=.2lf\n", aver);
printf ("valor parcial entero El valor promedio de la parte decimal=.2lf\n", averint);
printf("El valor promedio de la parte decimal value=.2lf\n", averdec);
//// ///*********************//////////////
printf("d\n.2lf \n.2lf\n.2lf\n", N, aver, averint, averdec);
/////***Solo agrega En el código anterior, algunos usarán bucles. La salida depende de la situación. *******////////////////////////////// ////////////////////////////////////////////////// //////////////////////////
int ReadDat(void)
{
ARCHIVO *fp;
int j;
if((fp = fopen ("in.dat", "r")) == NULL) return 1;
while(!feof(fp)) {
fscanf(fp, "f,", amp;xx[N]);
if(xx[N] gt; 0.00
1) N ;
}
fclose(fp)
devuelve 0
}
nulo; WriteDat(void)
{
ARCHIVO *fp;
fp = fopen("OUT10.DAT", "w"); p> fprintf(fp, "d\n.2lf\n.2lf\n.2lf\n", N, aver, averint, averdec
fclose(fp); p>}