necesito este programa en c porfavor ayudenme

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

Avatar de Usuario
jesusprieto27

necesito este programa en c porfavor ayudenme

Mensaje por jesusprieto27 » Dom Jul 17, 2016 9:00 pm

Realizar un programa para almacenar y consultar los datos referentes a las ventas mensuales por departamentos de una tienda en un archivo binario. El mismo deberá tener como opciones: insertar una nueva venta, modificar alguna venta, eliminar una venta y hacer consultas tanto generales (todos los registros) por orden alfabético de los departamentos o individual de un departamento en particular. Además el programa debe generar el total de las ventas registradas hasta la fecha por cada departamento y el departamento con el mayor numero de ventas

no hallo como resolverlo por favor ayuda

Avatar de Usuario
GonzaloVazquez
Junior
Mensajes: 10
Registrado: Lun Dic 09, 2024 6:10 pm
Contactar:

Re: necesito este programa en c porfavor ayudenme

Mensaje por GonzaloVazquez » Lun Dic 09, 2024 6:31 pm

¡Aquí tienes una solución general para estructurar el programa en Pascal! Usa un archivo binario para manejar las operaciones:

Código: Seleccionar todo

program VentasPorDepartamentos;

uses crt;

type
  TVenta = record
    departamento: string[50];
    mes: string[15];
    monto: real;
  end;

var
  archivo: file of TVenta;
  venta: TVenta;
  opcion: integer;

procedure InsertarVenta;
begin
  assign(archivo, 'ventas.dat');
  reset(archivo);
  seek(archivo, filesize(archivo)); 
  writeln('Ingrese departamento:'); readln(venta.departamento);
  writeln('Ingrese mes:'); readln(venta.mes);
  writeln('Ingrese monto:'); readln(venta.monto);
  write(archivo, venta);
  close(archivo);
  writeln('Venta registrada.');
end;

procedure ConsultarVentas;
begin
  assign(archivo, 'ventas.dat');
  reset(archivo);
  writeln('Ventas registradas:');
  while not eof(archivo) do
  begin
    read(archivo, venta);
    writeln('Departamento: ', venta.departamento, ', Mes: ', venta.mes, ', Monto: ', venta.monto:0:2);
  end;
  close(archivo);
end;

// Aquí irían procedimientos adicionales para modificar, eliminar, calcular totales, etc.

begin
  repeat
    writeln('Opciones:');
    writeln('1. Insertar venta');
    writeln('2. Consultar ventas');
    writeln('0. Salir');
    write('Seleccione: '); readln(opcion);

    case opcion of
      1: InsertarVenta;
      2: ConsultarVentas;
    end;
  until opcion = 0;
end.

Responder