Boa noite, preciso de uma ajuda, estou tentando aprender c++, o problema é o seguinte, abro um arquivo ofstrem e mando o comando ios::app, ou seja para não truncar o arquivo e escrever apartir da última linha válida, mas o arquivo é truncado. Por exemplo escolho a opção 1: digito nome fulano, telefone 123. vou no comando 1 novamente e digito: cicrano, telefone 456. 
	Fecho o programa e quando vou ver o arquivo de agendacplusplus.txt só tem o cicrano, ou seja ele trunca e não continua. alguém pode me ajudar?
 
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main(){
	ofstream agendacplusplus("agendacplusplus.txt");
	int opcao,tel;
	string nome;
	do{
	system("cls");
	cout<<"\n\n\t\também vindo ao programa agenda";
	cout<<"\nMenu";
	cout<<"\n1 - Cadastrar nome e telefone";
	cout<<"\n2 - Listar todos os nomes e telefones";
	cout<<"\n3 - Sair";
	cout<<"\nDigite uma opcao: ";
	cin>> opcao;
	switch(opcao){
		case 1:
			cout<<"\n\n\t\tOpcao de cadastro";
			cout<<"\nDigite um nome: ";
			cin.ignore();
			getline(cin,nome);
			cout<<"Digite o telefone: ";
			cin>>tel;
			agendacplusplus.open("agendacplusplus.txt",ios::in| ios::out | ios::app);// AKI SUPOSTAMENTE DEVERIA DAR O APPEND
			agendacplusplus<<nome<<"\t\t"<<tel<<endl;
			agendacplusplus.close();
			break;
		case 2:
			exit(0);
			break;
		case 3:
			exit(0);
			break;
		default:
			exit(0);
			break;
	}
	}while(opcao!=3);
 	return 0;
}