I'm going down the list, designing programs as I go, to make sure I understand how to do things. When this program is supposed to display the people's names and ages, it just skips their name, and put's their age as 0. Anybody know what's wrong???

Code:
#include <iostream.h>
#include <string.h>
#include <stdlib.h>

struct family {
	char name[50];
	int age;
	}brother, brother2, brother3, sister, sister2, sister3;

int main()
{
	char buffer[50];
	char age[50];
	int siblings=0;
	cout<<"Do you have any brothers? (y/n) ";
	cin.getline(buffer, 50); 
	if (!strcmpi(buffer, "y"))
	{
	siblings += 1;
	family brother;
	cout<<"What's one of their names?"<<endl;
	cin.getline (brother.name, 50);
	cout<<"How old is he?"<<endl;
	cin.getline (age, 50); brother.age = atoi(age);
	cout<<"Do you have another brother? (y/n): ";
	cin.getline(buffer, 50);
	}
	
	if (!strcmpi(buffer, "y"))
	{
	siblings += 1;
	family brother2;
	cout<<"What's his name?"<<endl;
	cin.getline (brother2.name, 50);
	cout<<"How old is he?"<<endl;
	cin.getline (buffer, 50); brother2.age = atoi(buffer);
	cout<<"Do you have another brother? (y/n): ";
	cin.getline(buffer, 50);
	}

	if (!strcmpi(buffer, "y"))
	{
	siblings += 1;
	family brother3;
	cout<<"What's his name?"<<endl;
	cin.getline (brother3.name, 50);
	cout<<"How old is he?"<<endl;
	cin.getline (buffer, 50); brother3.age = atoi(buffer);
	}

	cout<<"Do you have any sisters? (y/n): ";
	cin.getline(buffer, 50);
	
	if (!strcmpi(buffer, "y"))
	{
	siblings += 1;
	family sister;
	cout<<"What's her name?"<<endl;
	cin.getline (sister.name, 50);
	cout<<"How old is she?"<<endl;
	cin.getline (buffer, 50); sister.age = atoi(buffer);
	cout<<"Do you have another sister? (y/n): ";
	cin.getline(buffer, 50);
	}

	if (!strcmpi(buffer, "y"))
	{
	siblings += 1;
	family sister2;
	cout<<"What's her name?"<<endl;
	cin.getline (sister2.name, 50);
	cout<<"How old is she?"<<endl;
	cin.getline (buffer, 50); sister2.age = atoi(buffer);
	cout<<"Do you have another sister? (y/n): ";
	cin.getline(buffer, 50);
	}

	if (!strcmpi(buffer, "y"))
	{
	siblings += 1;
	family sister3;
	cout<<"What's her name?"<<endl;
	cin.getline (sister3.name, 50);
	cout<<"How old is she?"<<endl;
	cin.getline (buffer, 50); sister3.age = atoi(buffer);
	}

	cout<<"okay..."<<endl;
		cout<<brother.name<<" is "<<brother.age<<" years old."<<endl;
		cout<<brother2.name<<" is "<<brother2.age<<" years old."<<endl;
		cout<<brother3.name<<" is "<<brother3.age<<" years old."<<endl;

		cout<<sister.name<<" is "<<sister.age<<" years old."<<endl;
		cout<<sister2.name<<" is "<<sister2.age<<" years old."<<endl;
		cout<<sister3.name<<" is "<<sister3.age<<" years old."<<endl;

	cout<<"Is my information correct? (y/n) ";
	cin.getline(buffer, 50);
	if (!strcmpi(buffer, "y"))
	{
		cout<<"Okay, i've got a stalker lined up for your family, he "<<
		"should be arriving shortly to destroy your lives!";
	}
	else if (!strcmpi(buffer, "n"))
		int main();

return 0;
}