Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: S3kh en 28 Junio 2012, 03:12 am



Título: ¿Está bien hecho? (Primer programa)
Publicado por: S3kh en 28 Junio 2012, 03:12 am
 Buenas noches. Intenté hacer un pequeeño e inútil programa, el cuál se le da un numero, un rango, un valor de incremento y un valor de decremento, y el dá un resultado. Por ejemplo:

Numero: 10
Rango: 7
Valor decremento: 0.7
Valor incremento: 3

Es decir, mostrará 7 valores anteriores descontando de a 0.7 y 7 valores posteriores incrementando de a 3:

9.3 8.6 7.9 7.2 6.5 5.8 5.1 ... Y por otro lado mostrará 13 16 19 22 25 28 31

 El programa funciona, pero quisiera saber si cometí algún error, o algún detalles, alguna sugerencia o lo que fuere :) Muchas gracias de antemano!

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5. using namespace std;
  6. //Prototipos
  7. int Menu_Principal();
  8. //MAIN
  9. int main() {
  10.    Menu_Principal();
  11.    getch();
  12. return 0;
  13. }
  14. //Principal
  15. int Menu_Principal() {
  16.  double Numero, decVal, incVal;
  17.  int Rango, Contador, Opcion;
  18.  Contador = 1;
  19.    cout << "Numero: "; cin >> Numero;
  20.    cout << "Rango: "; cin >> Rango;
  21.    cout << "Decrementar en: "; cin >> decVal;
  22.    cout << "Incrementar en: "; cin >> incVal;
  23.    cout << endl;
  24.        //////////////////////////
  25.        //Anteriores             /
  26.        //////////////////////////
  27.        cout << "ANTERIORES A " << Numero << endl;
  28.        while (Contador <= Rango) {
  29.            cout << Numero - (Contador * decVal) << " ";
  30.            Contador += 1;
  31.        }
  32.        //////////////////////////
  33.        //Posteriores            /
  34.        //////////////////////////
  35.        cout << endl << endl << "POSTERIORES A " << Numero << endl;
  36.        Contador = 1;
  37.        while (Contador <= Rango) {
  38.            cout << Numero + (Contador * incVal) << " ";
  39.            Contador += 1;
  40.        }
  41.    cout << endl << endl;
  42.    cout << "1- Salir" << endl;
  43.    cout << "2- Otro numero" << endl;
  44.    cin >> Opcion;
  45.    if (Opcion == 1) exit(0);
  46.    else Menu_Principal();
  47. return 0;
  48. }
  49.  


Título: Re: ¿Está bien hecho? (Primer programa)
Publicado por: 0xDani en 28 Junio 2012, 13:30 pm
¿Por que incluyes conio.h?


Título: Re: ¿Está bien hecho? (Primer programa)
Publicado por: maxim_o en 28 Junio 2012, 13:39 pm
Lo incluye por el getch()
Aunque esa biblioteca no es recomendable... Ya que no es estandar...
Usa mejor cin.get()


Título: Re: ¿Está bien hecho? (Primer programa)
Publicado por: 0xDani en 28 Junio 2012, 15:37 pm
Lo incluye por el getch()
Aunque esa biblioteca no es recomendable... Ya que no es estandar...
Usa mejor cin.get()
+1, eso era lo proximo que le iba a decir. No se porque la gente incluye librerias por costumbre, en vez de por necesidad. Ah, y por lo demas esta bastante bien.


Título: Re: ¿Está bien hecho? (Primer programa)
Publicado por: satu en 28 Junio 2012, 15:42 pm
Hola

Por otro lado las bibliotecas de C++ son cstdlib y cstdio, (stdlib.h y stdio.h son de C )aunque utilizando cin y cout no se para qué quiere stdio

Además yo cambiaría la recursividad de Menu_Principal por un bucle

Saludos


Título: Re: ¿Está bien hecho? (Primer programa)
Publicado por: S3kh en 29 Junio 2012, 04:56 am
 No conocía ni cin.get, ni nada D: Y lo de la función Menu_Principal era porque tenía dudas con funciones y me quería sacar dudas xDD. No sabía eso de que las librerías de C++ eran otras ni nada xD Pero ya aprendí ahora D: Se nota que soy demasiado nuevo D: Gracias por eso de cin.get, y contarme lo de las .h :P