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.