C cálculo de la estructura del lenguaje

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: por nombre de producto de pequeño a gran pedido, si el nombre del producto es igual a la cantidad de prensa de pequeño a gran pedido, el resultado final todavía se almacena en la estructura dispuesta en una venta array, después de la llamada de función WriteDat ( ) la salida a un archivo en OUT5.DAT.
#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] .mc, venta [j] .mc)> 0 || strcmp (vender [i] .mc, venta [j] .mc) == 0 && venta [i] .je> venta [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 ()

{

FILE * fp;

int i;

fp = fopen ( “OUT5.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 3151

Supongo que te gusta

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