Lathe profile (sweep profile)

Greetings, I have to lathe a profile to form an object. Basically, from an initial set of points (I am testing it out with 2 right now), I have to rotate them N times around Y axis( vertical) to get more points, and then draw the object.

I manage to get the points, but I do not know how to calculate the Faces vector. Any help would be appreciated…

Code for calculating vertices.

  void plyPuntos::crear_vertices(int N) {
    std::vector<float>::iterator it;
    vector <float> auxiliar;
    float r;
    int i=0;
    int n_points=Vertices.size();
    int maxvert=N*n_points;

     for (it=Vertices.begin(); it!=Vertices.end(); it+=3) {
           for (int i=0; i<N; i++){
               r=sqrt(pow((*it),2) + pow(*(it+2),2));
               auxiliar.push_back(r*cos(i*(2*PI/N)));
               auxiliar.push_back(*(it+1));
               auxiliar.push_back(r*sin(i*(2*PI/N)));

    }
}
    Vertices.insert(Vertices.end(),auxiliar.begin(),auxiliar.end());


//////CODE FOR CREATING FACES///////
    for (int s=0; s<N-1; s++) {
        for(int t=0;t<n_points-1; t++){
            Caras.push_back((t+n_points+1+(s*n_points))%maxvert);
            Caras.push_back((t+n_points+(s*n_points))%maxvert);
            Caras.push_back((t+(s*n_points))%maxvert);
            Caras.push_back((t+(s*n_points))%maxvert);
            Caras.push_back((t+1+(s*n_points))%maxvert);
            Caras.push_back((t+1+n_points+(s*n_points))%maxvert);
        }
    }

Faces dont seem to be calculated correctly…any help?