Random First + Last Name Generator (txt files)

Objective:
I want to create a program that will output 10 random full names (and have it be different every time the program is run)

Info:
I have a file with a list of 10 first names ("firstnames.txt")
and a file with a list of 10 last names ("lastnames.txt")

Premise:
I'm a beginner and I/O really throws me. I feel this is a basic of enough program for me to learn from. Right now I'm just trying to get a randomly generated first name working because once I can do that I'm sure I can just copy/past the same code to get a last name.

Thanks!

Here's what I have so far (one of my attempts at least):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <windows.h>
#include <cstdlib>
#include <iostream> 
#include <string>
#include <fstream>
#include <time.h>

using namespace std;

int main()
{
    //Variable declarations
    int a = 0;
    int randNum;

    ifstream myFile;
    myFile.open("firstnames.txt");
    string names[10]; // holds the 10 names in the file.
    string randomNames[10];// holds the randomly generated names FROM the file.

    while (myFile.good())
    {
        getline(myFile, names[a]); // reads the names from the text file, into an array named "names[]."
        a++;
    }
    for (int i = 0; i < 10; i++)  // makes this program iterate 10 times; giving you 10 random names.
    {
        srand( time(NULL) ); // seed for the random number generator.
        randNum = rand() % 10 + 1; // gets a random number between 1, and 10.
        randomNames[i] = names[randNum];
    }
    for (int i = 0; i < 10; i++)
    {
        cout << randomNames[i] << endl; // outputs all 10 names at once.
    }

    myFile.close();
    return EXIT_SUCCESS;
}

Also my text files are formatted as such:
1
2
3
4
5
6
7
8
9
10
Ryan
John
Daniel
Gavin
Frank
Danielle
Lucy
Sarah
Katie
Nicole
(Is this the easier way to format it? Or would it be better to have just one whitespace?)
Last edited on
Read the files into 2 std::vector<std::string>> for first_name and last_name
std::shuffle the 2 vectors using different seeds – this is important or else the order of shuffling will be the same
match the corresponding elements of the 2 shuffled vectors
as you haven't done much work on this yet I'm not posting the full solution here but through the link below. Try to give it an honest shot yourself first before taking a look at the link if you have to:

http://coliru.stacked-crooked.com/a/5c1bda00de92dbba
Topic archived. No new replies allowed.