operación de la estructura del lenguaje C

100 ventas se conoce IN.DAT registran en el archivo, el registro para cada producto vendido por el código de producto DM (carácter 4), nombre del producto mc (carácter 10), monovalente dj (número entero), el número de sl (int), la cantidad de je (entero largo) de cinco partes. Dónde: Cantidad = Precio * Cantidad calculada. función ReadDat () que se lee y se almacena 100 los registros de ventas en la matriz de estructuras de vender.

Por favor preparar función SortDat (), sus requisitos funcionales: para código de producto dispuesta en descendente, el mismo que si el código del producto, la cantidad de prensa descendente dispuesta, todavía resultados en una disposición estructural final del sell array, después de la llamada de función WriteDat () OUT6.DAT envía el resultado al archivo.
#include <stdio.h>

# include <mem.h>

#include <string.h>

#include <conio.h>

#include <stdlib.h>

#define MAX 100

typedef struct {

Char dm [5]; / Código Producto /

Char mc [11]; / Nombre /

dj int; / Precio /

int sl; / Número /

largo je; / Cantidad /

}PRO;

PRO venta [MAX];

void ReadDat ();

void WriteDat ();

SortDat vacío ()

{Int i, j;

xy PRO;

for (i = 0; i <99; i ++)

para (j = i + 1; j <100; j ++)

si (strcmp (vender [i] .dm, venta [j] .dm) <0 || strcmp (vender [i] .dm, venta [j] .dm) == 0 && venta [i] .je <sell [j ] .je)

{Xy = venta [i]; venta [i] = venta [j]; venta [j] = xy;}

}

vacío principal()

{

memset (vender, 0, sizeof (venta));

ReadDat ();

SortDat ();

WriteDat ();

}

ReadDat vacío ()

{

FILE * fp;

Char str [80], CH [11];

int i;

fp = fopen ( “IN.DAT”, “r”);

for (i = 0; i <100; i ++) {

fgets (str, 80, fp);

memcpy (vender [i] .dm, str, 4);

memcpy (vender [i] .mc, str + 4,10);

memcpy (ch, str + 14,4); ch [4] = 0;

venta [i] = .dj atoi (CH);

memcpy (ch, str + 18,5);

ch [5] = 0; venta [i] = .sl atoi (CH);

vender [i] .je = (largo) de la venta [i] .dj * venta [i] .sl;

}

fclose (fp);

}

WriteDat vacío (vacío)

{

FILE * fp;

int i;

fp = fopen ( "OUT6.DAT", "w");

for (i = 0; i <100; i ++) {

printf ( "% s% s% 4d% 5d% 5d \ n", venta [i] .dm, venta [i] .mc, venta [i] .dj, venta [i] .sl, venta [i]. je);

fprintf (fp, "% s% s% 4d% 5d% 5d \ n", venta [i] .dm, venta [i] .mc, venta [i] .dj, venta [i] .sl, venta [i ] .je);

}

fclose (fp);

}

Publicados 239 artículos originales · ganado elogios 3 · Vistas 3146

Supongo que te gusta

Origin blog.csdn.net/it_xiangqiang/article/details/105176944
Recomendado
Clasificación