Codigo c++ que reste un numero hasta llegar a 0

Iniciado por Gambl3r, 13 Noviembre 2015, 01:18 AM

0 Miembros y 1 Visitante están viendo este tema.

Gambl3r

Hola para practicar me puse en la terea de escribir un codigo que restara un numero ejemplo 100 - 7 y asi hasta bajar a 0 pero quisiera saber si hay alguna forma de poner el numero a restar y que automaticamente lo vaya restanto e imprimiendo en pantalla cada numero a medida que va restando, asi va el codigo:

#include <iostream>
using namespace std;
void funcion (int num = 1000);
int main ()
{
    funcion();
   funcion(993);
   funcion(986);
   funcion(979);
   funcion(972);
   funcion(965);
   funcion(958);
   funcion(951);
   
   return 0;
   system("pause");
   
   
}

void funcion ( int num)
{
   
   cout << (num - 7) << endl;
}

Gambl3r

Ya voy por aca esperando que alguien me ayuda :c

#include <iostream>
using namespace std;
void funcion (int num = 1000);
int main ()
{
    funcion();
   funcion(993);
   funcion(986);
   funcion(979);
   funcion(972);
   funcion(965);
   funcion(958);
   funcion(951);
   funcion(944);
   funcion(937);
   funcion(930);
   funcion(923);
   funcion(916);
   funcion(909);
   funcion(902);
   funcion(995);
   funcion(988);
   funcion(881);
   funcion(874);
   funcion(867);
   funcion(860);
   funcion(853);
   funcion(846);
   funcion(839);
   funcion(822);
   funcion(815);
   funcion(808);
   
   
   return 0;
   system("pause");
   
   
}

void funcion ( int num)
{
   
   cout << (num - 7) << endl;
}

RGT

Hola hermano,
Aquí te hice el programa y te comento línea por línea para que logres entender lo que hice.


#include <iostream>

using namespace std;

int main()
{
    //Declaración de variables
    int NUMERO = 1000, CANTIDAD_A_RESTAR = 7;

    while(NUMERO >= 0)
    {
        //Le asignamos a NUMERO el nuevo número generado
        NUMERO = NUMERO - CANTIDAD_A_RESTAR;

        //Imprimimos el nuevo valor de NUMERO
        cout << NUMERO << endl;

        //Qué pasa si NUMERO == 2 y le restas 7?, el resultado es un número menor que 0.
        //Entonces, con un IF, hacemos que se detenga y salga del WHILE
        if (NUMERO - CANTIDAD_A_RESTAR < 0)
        {
            break;
        }
    }

    return 0;
}



Fue lo primero que se me ocurrió..

Si deseas hacerlo con una función, el código es el siguiente:


#include <iostream>

using namespace std;

//Declaración de prototipos
int restar(int NUMERO, int CANTIDAD_A_RESTAR);

int main()
{
    //Declaración de variables
    int NUMERO = 1000, CANTIDAD_A_RESTAR = 7;

    while(NUMERO >= 0)
    {
        //Le asignamos a NUMERO el nuevo número generado
        NUMERO = restar(NUMERO, CANTIDAD_A_RESTAR);

        //Imprimimos el nuevo valor de NUMERO
        cout << NUMERO << endl;

        //Qué pasa si NUMERO == 2 y le restas 7?, el resultado es un número menor que 0.
        //Entonces, con un IF, hacemos que se detenga y salga del WHILE
        if (NUMERO - CANTIDAD_A_RESTAR < 0)
        {
            break;
        }
    }

    return 0;
}

int restar(int NUMERO, int CANTIDAD_A_RESTAR)
{
    return NUMERO - CANTIDAD_A_RESTAR;
}



Espero haberte ayudado amigo, cualquier pregunta, aquí estamos.

furciorifa

Utiliza ciclos para ayudarte en algo que es repetitivo, imagina que te digo que restes un millón de veces .... en el modo que lo haces harías un millón de líneas sería inefectivo,
int contador=1
int repeticiones=10;
//Mientras conta
while(contador<=repeticiones){

haz algo ;

}
el pseudo código haría 10 veces algo es más fácil que a que tu pongas miles de lineas que hacen algo que se puede hacer en un ciclo.