A couple of errors (hopefully these will solve your problem):
1. Put prompts on lines 49-52 so the user knows what to enter.
2. std::cin tends to leave '\n's in the stream, so you have to ignore it using std::cin.ignore();
3. Change i <= contador (line 71) to i < contador because you increment 1 before you leave.
4. Change the do-while loop into a for loop from 0-50 so you don't overwrite your array.
5. Using system is evil. See: http://www.cplusplus.com/forum/articles/11153/ .
6. Get rid of lines 54-64 and add a prompt instead.
7. Change precio's type from int to float because it is used for price.
Overall, here is the new program with said changes:
However I'm curious about why you used std:: for each cin and cout. Isn't it easier to just put using namespace std; at the start of the program? I'm guessing the answer is going to be similar to the system ("pause"); one.
Good question! See: http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice . The first two answers are pretty much the overview of why using usingnamespace ...; is not the best.
EDIT:
Also, mark the thread as completed if you all your questions are answered.