![]() |
Mejor forma de pasar conjunto de funciones
Hola:
Antes usaba el uso de void sin devolver valor. Un amigo me dijo en esta semana que mejor que te devuelva un valor, un número al acabar una función con argumento tipo int, que te devuelva un número en Return. Es para salir de la función con un valor en vez de usar void (vacío). Con este valor sales de la función y va hacia un Swtich Case, para elegir menús. Por ejemplo en este vídeo. Hay partes del menú con submenú donde dice > ATRÁS INICIO. Ver vídeo. Si pulsa > ATRÁS, sale de la función. Si pulso > INICIO, voy a otra función sin salir de esta, en el cual crea una pila de memoria y esto no interesa, porque se gasta, y también tiene comportamientos no deseados cuando usa variables estáticas ya que vuelve a la función por donde iba al salir. Es decir, a la hora de crear menús y menús, lo hacía como si estuviera haciendo una página Web html, poniendo enlaces en una ventana a otra o archivos.html en el cual no hay ningún problema de pilas de memoria o StackOverflow. Da igual en que menú o submenú estés, también funciona el puerto serie como entrada de datos y esto debe almacenarse en variables internas, luego voy a mirar por el menú y veo sus datos. ¿Algún consejo sobre diseño con C# modo consola? Saludos. |
puedes hacer las funciones de menus de esta forma
void Menu_Principal(void) { //muestras con printf() o lo que sea las opciones en la consola //coges con getch() o con Scanf() la opcion que elige el usuario //finalmente llamas a la funcion que corresponda a esa opcion de menu con un switch o con varios IF (Altas, Bajas, Modificaciones o lo que sea) } |
te pongo un ejemplo en C++ Builder
(las funciones textattr(), gotoxy(), cprintf() y clrscr() podrian ser especificas de C++ Builder recuerda eso ![]() Código:
#include <iostream> |
Lo pasé un poco a C++.
![]() Siempre me dice programa terminado. Código modificado un poco. Código:
#include <iostream> |
bueno eso suelen decirlo porque puede "liar" mucho el codigo pero si queda claro para que lo usas y no induce a confusiones puedes usarlo que para algo esta en el lenguaje, si no, no estaria pero a mi la verdad que muchas veces me viene bien
claro que siempre puedes encerrar el menu en un bucle for( ;; ) y inducir la salida condicional con la opcion correspondiente con un break; |
¿Será algo así por poner un ejemplo?
Código:
enum PAGINAS |
se me antoja un poco raro estructurarlo asi
yo soy mas de poner algo como: Código:
switch(opcion) |
Este está mejor, el que dices.
|
La franja horaria es GMT +2. Ahora son las 21:46:49. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi