El Proyecto Consta de 2 Partes: El Programa y El Pseudocodigo
Hasta ahora mi profesora nos a enseñado: Funciones,Matrices,Vectores,bucles for while do while, struct pero no mucho de cada una tan sola 1 clase por las mas dificiles para mi (obvio) ( funciones y structuras)
La profesora dijo qe debiamos usar tan siquiera algunas de las cosas que nos a dado para hacer el programa, o si no no cuenta.
Ademas de eso, debe contar con las especificaciones:
PROYECTO ALGORITMOS I
SECCIÓN 02.
FACTURACION PARA TECNOLOGIA.
Se refiere al control de compra venta de equipos tecnológicos:
1) EMPRESA. Es la empresa que necesita el programa de facturación e inventario.
a. Rif de la Empresa.
b. Nombres.
c. Dirección.
d. Teléfonos.
i. Fijo.
ii. Fax.
iii. Móvil
2) INVENTARIO. Permitirá el registro de equipos comprados y su existencia en el programa para que al momento de facturar no ocurra ningún tipo de error. Ustedes deben definir 20 tipos de equipos tecnológicos según su preferencia, cuyos campos por cada equipo básicamente deben ser:
a. Código del equipo.
b. Descripción del equipo.
c. Cantidad.
d. Disponible.
e. Precio sin iva.
f. Precio al mayor.
g. Precio al detal.
h. Precio Oferta.
i. Proveedor.
j. Color.
k. Tamaño.
3) Crear un cliente. Puede ser natural o jurídico. Cada cliente debe tener los siguientes datos:
a. Tipo de Cliente.
b. Nombres y Apellidos (nombre de la empresa si es jurídico el cliente).
c. Cédula de Identidad (rif si es juridico).
d. Fecha de Nacimiento (fecha de creación si es jurídico).
e. Edad. (Actualizable)
f. Dirección.
g. Sexo (No aplica si es jurídico).
h. Teléfonos.
i. Movil.
ii. Fijo.
iii. Trabajo.
4) Crear Factura Si es persona jurídica solo se podrá comprar el 25% de la existencia de cada producto disponible por la empresa, si se decide comprar la cantidad máxima del 25% el precio a cobrar para el jurídico es el precio oferta de lo contrario se le cobrará precio al mayor. Si es natural solo podrá como máximo 3 productos de la existencia de cada producto disponible por la empresa y a partir de allí se maneja el precio al mayor de lo contrario se le cobrara el precio al detal del producto. Además la factura solo podrá listar 10 productos independientemente de la cantidad a comprar de cada uno.
a. Código Factura.
b. Código Cliente.
c. Tipo Factura (de acuerdo al tipo de cliente)
d. Fecha Factura.
e. Equipos a Facturar.
i. Código.
ii. Nombre.
iii. Cantidad. Se debe verificar que concuerde con las exigencias de la empresa y que no se pase de la disponibilidad del equipo. Una vez validada dicha compra restarla del inventario.
iv. Tipo de precio
v. Total del equipo.
f. SubTotal sin IVA y sin descuento.
g. SubTotal sin IVA y con descuento de acuerdo al tipo de cliente y la compra realizada.
h. IVA.
i. Total con IVA y descuentos sí este último aplica.
El programa debe permitir:
Crear 20 equipos de tecnologías con propósitos diferentes (cámara digital, impresoras multifuncionales, laptops, tablets, ipod, mouse, entre otros).
Crear 20 clientes.
Crear hasta 10 facturas por cliente.
Consultar todas las entidades.
Permitir promociones se deben clarificar cual es la promoción para cada tipo de cliente.
Informar acerca de los productos que podrán ser comprados por clientes naturales y jurídicos de acuerdo a la existencia del producto.
PRIMERA FASE. Entrega 18 de Octubre. Peso 15%.
Pseudocódigo del Proyecto. Para ello puede utilizar cualquier herramienta que le facilite el manejo del mismo.
Estructuras de Datos y Menús.
SEGUNDA FASE. Entrega 31 de Octubre. Peso 25%.
Programación completa del sistema con las validaciones requeridas.
Aqui esta el Programa ( No terminado ) es lo de menos aun me quedan un par de semanas para terminarlos Pero el pseudocodigo...
Código
El Pseudocodigo
#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<string.h> struct cliente{ char nombre[20], apellido[20], nempresa[100], rif[10]; char ci[10]; char direccion[50]; char sexo[10]; char fn[50], fc[50]; int edad; unsigned long telfijo, telmovil, telfax; }cli; struct inventario{ char codigo[3], descripcion[100], proporcion[10], tam[10], co[15], prove[20]; int cant, disp; float psi, po,pdetal,pmayor; }inv; int opc; char tipoc[9], ci[10], rif[10], codigo[3]; void encabezado() { printf("\t------------------------------------------------------\n"); printf("\t- J-236542246 -\n"); printf("\t- HEUS C.A -\n"); printf("\t- AV 31 SECTOR LOS MEDANOS CABIMAS -\n"); printf("\t- MOVIL:04146587788 -\n"); printf("\t- FIJO:02643712033 -\n"); printf("\t- FAX:02643713434 -\n"); printf("\t------------------------------------------------------\n\n"); } void ingresoc(){ system("cls"); printf("\t OPCION 1: CREAR CLIENTES\n\n"); fflush(stdin); printf("\n Ingrese Tipo de Cliente:"); gets(tipoc); if(strcmp(tipoc,"natural")==0){ printf("\n Nombres:"); gets(cli.nombre); printf("\n Apellido:"); gets(cli.apellido); printf("\n Cedula de identidad:"); gets(cli.ci); printf("\n Fecha de Nacimiento:"); gets(cli.fn); printf("\n Direccion:"); gets(cli.direccion); printf("\n Edad:"); scanf("%d",&cli.edad); printf("\n Sexo:"); gets(cli.sexo); printf("\n Telefono Movil:"); scanf("%lu",&cli.telmovil); printf("\n Telefono Fijo:"); scanf("%lu",&cli.telfijo); printf("\n Telefono Fax:"); scanf("%lu",&cli.telfax); } if(strcmp(tipoc,"juridico")==0){ printf("\n Nombres de la Empresa:"); gets(cli.nempresa); printf("\n Rif:"); gets(cli.rif); printf("\n Fecha de Creacion:"); gets(cli.fc); printf("\n Direccion:"); gets(cli.direccion); printf("\n Telefono Movil:"); scanf("%lu",&cli.telmovil); printf("\n Telefono Fijo:"); scanf("%lu",&cli.telfijo); printf("\n Telefono Fax:"); scanf("%lu",&cli.telfax); } }//1 void verDatos(){ system("cls"); printf("\tOPCION 2. VER DATOS DE CLIENTES NATURALES"); printf("\n\n Ingrese Cedula:"); scanf("%s",&ci); if(strcmp(ci,cli.ci)==0){ printf("\n No hay datos guardados"); } else { printf("\nNombre :%s",cli.nombre); printf("\nApellido :%s",cli.apellido); printf("\nTelefono movil:%lu",cli.telmovil); printf("\ntelefono fijo:%lu",cli.telfijo); printf("\ntelefono fax:%lu",cli.telfax); printf("\nFecha de Nacimiento:%s",cli.fn); printf("\nDireccion:%s",cli.direccion); printf("\nSexo:%s",cli.sexo); } getch(); }//2 void verDatos2(){ system("cls"); printf("\tOPCION 3. VER DATOS DE CLIENTES JURIDICOS"); if(strcmp(rif,cli.rif)==0){ printf("\n No hay datos guardados"); } else { printf("\nNombre de la empresa:%s",cli.nempresa); printf("\nTelefono movil:%lu",cli.telmovil); printf("\ntelefono fijo:%lu",cli.telfijo); printf("\ntelefono fax:%lu",cli.telfax); printf("\nFecha de Creacion:%s",cli.fc); printf("\nDireccion:%s",cli.direccion); } getch(); }//3 void ingresoi(){ int j=0; system("cls"); printf("\t OPCION 4: CREAR INVENTARIO\n\n"); fflush(stdin); printf("\n Equipo: #%d",j+1); printf("\n Codigo del equipo:"); gets(inv.codigo); printf("\n Descripcion del equipo:"); gets(inv.descripcion); printf("\n Proporcion:"); gets(inv.proporcion); printf("\n Tamaño"); gets(inv.tam); printf("\n Color"); gets(inv.co); printf("\n Cantidad:"); scanf("%d",&inv.cant); printf("\n Disponible:"); scanf("%d",&inv.disp); printf("\n Precio al detal"); scanf("%f",&inv.pdetal); printf("\n Precio al mayor:"); scanf("%f",&inv.pmayor); printf("\n Precio sin IVA:"); scanf("%f",&inv.psi); printf("\n Precio oferta:"); scanf("%f",&inv.po); printf("\n Proveedor:"); gets(inv.prove); getch(); }//4 void verinv(){ system("cls"); printf("\n 5. VER INVENTARIO"); printf("\n\n Ingrese Codigo:"); scanf("%s",&codigo); if(strcmp(codigo,inv.codigo)==0){ printf("\n Codigo del equipo:",inv.codigo); printf("\n Descripcion del equipo:",inv.descripcion); printf("\n Proporcion:",inv.proporcion); printf("\n Tamaño",inv.tam); printf("\n Color",inv.co); printf("\n Cantidad: %d",inv.cant); printf("\n Disponible:%d",inv.disp); printf("\n Precio al detal %f",inv.pdetal); printf("\n Precio al mayor: %f",inv.pmayor); printf("\n Precio sin IVA: %f",inv.psi); printf("\n Precio oferta: %f",&inv.po); printf("\n Proveedor:",inv.prove); } getch(); } int main(){ encabezado(); while(opc!=6){ printf("******MENU******\n"); printf("\n1. CREAR CLIENTES"); printf("\n2. VER DATOS DE CLIENTES NATURALES"); printf("\n3. VER DATOS DE CLIENTES JURIDICOS"); printf("\n4. CREAR INVENTARIO"); printf("\n5. VER INVENTARIO"); printf("\n6. SALIR "); printf("\nIngrese opcion:"); scanf("%d",&opc); switch(opc){ case 1:{ ingresoc(); system("cls"); encabezado(); }break; case 2:{ verDatos(); system("cls"); encabezado(); }break; case 3:{ verDatos2(); system("cls"); encabezado(); }break; case 4:{ ingresoi(); system("cls"); encabezado(); }break; case 5:{ verinv(); system("cls"); encabezado(); }break; } } return 0; }
Lo tengo asi:
Inicio
Leer procedimiento para los datos de la empresa
Imprimir J.234535150
Imprimir MCGO C.A
Imprimir San francisco. Urb. Coromoto.
Imprimir telefono Móvil: 04146643776.
Imprimir telefono fijo04146643776.
Imprimir fax: 02617316953
Mientras opc!=6 hacer:
Imprimir ******MENU******
Imprimir 1. CREAR CLIENTES
Imprimir 2. VER DATOS DE CLIENTES NATURALES
Imprimir 3. VER DATOS DE CLIENTES JURIDICO
Imprimir 5. VER INVENTARIO
Imprimir 6. SALIR
Imprimir Ingrese opción:
Leer opc
Según opc hacer
Caso valor 1:
Leer procedimiento de para crear cliente:
Imprimir opcion 1: Crear cliente.
Imprimir ingrese tipo de cliente:
Leer tipoc.
Si tipoc es natural entonces:
Imprimir nombre.
Leer estructura de nombre.
Imprimir apellido.
Leer estructura de apellido.
Imprimir cedula de identidad.
Leer estructura de ci.
Imprimir fecha de nacimiento.
Leer estructura de fn.
Imprimir direccion.
Leer estructura de direccion.
Imprimir edad.
Leer estructura de edad.
Imprimir Sexo
Leer estructura de sexo
Imprimir teléfono movil
Leer estructura de telmovil
Imprimir telefono fijo
Leer estructura de telfijo
Imprimir telefono fax
Leer estructura telfax.
Fin si
Si tipoc es juridico entonces:
Imprimir Nombres de la Empresa
Leer estructura de nempresa
Imprimir Rif:
Leer estructura de rif
Imprimir Fecha de Creacion:
Leer estructura de fc);
Imprimir Direccion:
Leer estructura de direccion
Imprimir Telefono Movil:
Leer estructura de cli.telmovil
Imprimir Telefono Fijo
Leer estructura de telfijo
Imprimir Telefono Fax
Leer estructura de.telfax.
Fin si
Leer procedimiento para los datos de la empresa
Imprimir J.234535150
Imprimir MCGO C.A
Imprimir San francisco. Urb. Coromoto.
Imprimir telefono Móvil: 04146643776.
Imprimir telefono fijo04146643776.
Imprimir fax: 02617316953
Caso valor 2:
Leer procedimiento para ver datos del cliente natural:
Imprimir OPCION 2. VER DATOS DE CLIENTES NATURALES
Imprimir Ingrese Cedula.
Leer estructura de ci
Si estructura ci==0 entonces
Imprimir no hay datos guardados
Fin si
De otro modo
Imprimir Nombre
Leer estructura de nombre
Imprimir Apellido
Leer estructura de apellido
Imprimir Telefono
Leer estructura de telmovil
Imprimir telefono fijo
Leer estructura de telfijo);
Imprimir telefono fax
Leer estructura de telfax
Imprimir Fecha de Nacimiento
Leer estructura de fn
Imprimir Direccion
Leer estructura de direccion
Imprimir Sexo
Leer estructura de sexo.
Fin otro modo
Leer procedimiento para los datos de la empresa
Imprimir J.234535150
Imprimir MCGO C.A
Imprimir San francisco. Urb. Coromoto.
Imprimir telefono Móvil: 04146643776.
Imprimir telefono fijo04146643776.
Imprimir fax: 02617316953
Caso valor 3:
Leer procedimiento para ver datos:
Imprimir OPCION 3. VER DATOS DE CLIENTES JURIDICOS
Imprimir Ingrese rif.
Leer estructura de rif
Si estructura rif==0 entonces
Imprimir No hay datos guardados
Fin si
De otro modo
Imprimir Nombre de la empresa
Leer estructura de nempresa
Imprimir Telefono
Leer estructura de telmovil
Imprimir telefono fijo
Leer estructura de telfijo);
Imprimir telefono fax
Leer estructura de telfax
Imprimir Direccion
Leer estructura de direccion
Imprimir Fecha de Creacion
Leer estructura de fc
Fin otro modo.
Leer procedimiento para los datos de la empresa
Imprimir J.234535150
Imprimir MCGO C.A
Imprimir San francisco. Urb. Coromoto.
Imprimir telefono Móvil: 04146643776.
Imprimir telefono fijo04146643776.
Imprimir fax: 02617316953
Caso valor 4:
Leer procedimiento para ver inventario:
Imprimir 4. VER INVENTARIO
Imprimir Ingrese Codigo
Leer estructura de codigo
Si estructura de codigo==0 entonces
estructura de codigo = mg01
estructura de descripción = LAPTOP
estructura de tam = GRANDE
estructura de co= NEGRO
estructura de cant=19
estructura de disp= 10
estructura de pdetal=19000
estructura de pmayor=18000
estructura de psi=17000
estructura de po= 15000
estructura de prove=SAMSUNG
Fin si
Leer procedimiento para los datos de la empresa
Imprimir J.234535150
Imprimir MCGO C.A
Imprimir San francisco. Urb. Coromoto.
Imprimir telefono Móvil: 04146643776.
Imprimir telefono fijo04146643776.
Imprimir fax: 02617316953.
Fin Según
Fin Mientras.
Aun no lo tengo completo aun me falta el proceso de facturacion Ustedes creen poder ayudarme a terminar el pseudocodigo?