Otros temas que te pueden interesar
|
||||
| Tema | Autor | Foro | Respuestas | Último post |
| [Duda] Necesito ayuda con Cobol | trinidad99 | COBOL - General | 2 | 11 de diciembre de 2024 23:25 |
| [Discusión] Ayuda programa COBOL | dariodr | COBOL - General | 0 | 10 de noviembre de 2024 03:53 |
| [Duda] COBOL problema con READ, status = 46 | Marengo97 | COBOL - General | 6 | 7 de febrero de 2023 19:46 |
| Ayuda en COBOL wow Version 10 | oswaldo4444 | RM/COBOL | 0 | 4 de mayo de 2020 19:37 |
| Código Cobol - mayúsculas/minúsculas | Breew | COBOL - General | 9 | 9 de abril de 2020 09:20 |
![]() |
|
Forero Junior
![]()
|
Hola soy nuevo en el foro como tambien un principiante en COBOL.
Estoy estudiando el lenguaje hace ya casi un mes y estoy intentando desarrollar este programita como forma de práctica y me he encontrado con varios problemas. Lo que tiene que hacer el programa: "Una compania de seguros tiene contratados a n vendedores. Cada vendedor realiza multiples ventas a la semana. La politica de pagos de la compania es que cada vendedor recibe un sueldo base más un 10% extra por comisiones de sus ventas. El gerente de la compania desea saber, por un lado, cuanto dinero deber¡a pagar en la semana a cada vendedor por concepto de comisiones de las ventas realizadas, y por otro lado, cua¡nto deberia pagar a cada vendedor como sueldo total (sueldo base + comisiones). Para cada vendedor ingresar cuanto es su sueldo base, cuantas ventas realizó y cuanto cobró por cada venta." Mi código (incompleto): Código COBOL:
Solo funciona si ingreso todos los datos de una tira "e.j nnnnMMMMEEEVV, y abajo un accept para ingresar tooodo el registro" y en perform lo condiciono con un "UNTIL...= SPACES", en ese caso si me registra cada empleado pero no tengo claro el por que esto sucede, no puedo entenderlo , capaz no entiendo los detalles de como escribe cobol en un archivo..Y bueno ese es mi problema, tambien estaria muy agradecido si podrian darme algun consejo de como realizar el programa, Graciasss ![]() Edit: Asi es como se lee el archivo .dat : 00120000003002 en vez de varios registros. |
||||||||
|
|
|
|
El Foro es mi casa
![]()
|
@Marengo97,
Primer problema. En el primer perform. Si pones 0 empleados, te pide datos de forma idefinida porque nunca se cumple la condicion. Si hay un empleado, pides los datos del primer empleado y ni entra al perform porque se cumple la condicion CONTADOR = WS-TOTAL-EMPLEADOS. Si hay 2 empleados, pide los datos del primer empleado, lo escribe y vuelve a pedir los datos del segundo empleado y se sale. Y así sucesivamente. Se puede hacer así para evitar el problema. Entra si hay mas de un empleado, pide datos y escribe. Código COBOL:
- - - Updated - - - En el segundo perform, siempre te pide 3 ventas. Además no inicializas la tabla, ni escribes la tabla. |
||||||||
|
|
|
|
El Foro es mi casa
![]()
|
Te modifico la fd de las tabla cobros. Lo hago asi porque a mi me gusta trabajar con la FD directamente.
Tambien el segundo perform para que pida y guarde los cobros solicitados. Código COBOL:
Mira a ver y si no entiendes algo me lo dices. Mejora--> en vez de guardar los 100 cobros, que ocupan mas espacio, lo mejor es guardar un registro con cada cobro de esta forma VVVNNNCCCCC siendo VVV el numero de vendedor, NNN el numero de cobro, CCCCC importe de cobro. Pero bueno, para empezar no los llevabas mal. Animo ¡¡ ![]() |
||||||||
|
|
|
|
Forero Junior
![]()
|
.......
- - - Updated - - -
Código COBOL:
Asi es como voy pero al realizar la ejecucion al llegar a la linea 73 el compilador me tira este error Cita:
![]() Creo que deberia plantear esto en otro posteo pero me aclaraste varias cosas que recurro a tu ayuda, gracias. |
||||||||||
|
|
|
|
El Foro es mi casa
![]()
|
@Marengo97, tienes que echarle un poco de esfuerzo y hacerlo mejor.
En lo que envias, nunca va a la linea 73. Aqui: Código COBOL:
Aceptas VV$$$$$ cuando lo tienes definido como $$$$$VV Creo que deberias aceptar VV por un lado y $$$$$ por otro. (ero eso es tu decision) Otra cosa: haces estio Código COBOL:
Código COBOL:
Machacas campos diferentes. Cambia Código COBOL:
por Código COBOL:
y cuando te pierdas en el programa display y accepta campos para verificar el contenido. por ejemplo Código COBOL:
|
||||||||
|
|
|
|
Forero Junior
![]()
|
Si,me di cuenta de que machaqué el codigo, se va notando que cada vez entiendo menos lo que pasa..falta mucha practica aún. |
|||||||||
|
|
|
|
El Foro es mi casa
![]()
|
@Marengo97, exacto.
En la programación hay que ser cuidadoso y preciso. En cobol si no dispones de un debuger eficiente, hay que poner displays y accepts para ver el la situación de las variables. Ten paciencia que vas por buen camino ![]() |
||||||||
|
|
|
![]() |
|
|
| Archivo - Cobol Foro | Contactar con Nosotros - Cobol Foro | |||||||