"Adam called his wife's name Eve: because she was the mother of all living," is proof enough that she was responsible for cain's wife as well as for Cain , himself. Cains wife was his sister. It is believed that Cain was 100 yrs. old when he left the presence of the Lord in 4:16.
Gen. Ch. 5 singles out the human line through whom the Messiah was to come, thus Seth is mentioned, and not Cain. In this chapter we see that Adam is 130 yrs. old when Seth is born. It then says that the days of Adam after Seth was born were 800 yrs. and he begat sons and daughters.
If Adam had sons and daughters after Seth, then doubtless he also had them after Cain and Abel. It is believed by some scholars that Adam and Eve had as many as 300 sons and daughters.
I also personally believe that Eve had a daughter or perhaps many daughters before Cain and Abel based on Gen. 4:1 "And Adam knew Eve his wife; and she conceived, and bare Cain, and said, I have gotten a man from the Lord." I do believe that this verse may indicate that daughters were perhaps born before this; hence, special emphasis upon getting a man child at this time.
Also, in 4:3 it is quite clear that a process of time had taken place thus giving Adam and Eve many years to have daughters, and if you add possible daughters from before Cain, then we would have many women for Cain(100 yrs. old) to take one as a wife, by the time we get to v16.
Respectfully, Paul