Tentei, mas até agora não funciona.
Observação: se eu por os dois <> nos include, o formatador desse site apaga
#include iostream>
#include string.h>
#include stdlib.h>
#include stdio.h>
using namespace std;
struct agenda{
long telefone;
char nome[100];
struct agenda *prox;
}*prim,*ult,*aux;
void inclusao(char n[100], long tel);
void listagem();
void exclusao(long tel);
void procurar(long tel);
void contar();
void salvar();
main(){
int op, resp;
char n[100];
long tel;
do{
cout<<"<<<MENU>>"<<endl;
cout<<"[1] Incluir "<<endl; //Inclui um novo telefone na agenda;
cout<<"[2] Listar "<<endl; //Lista todos os telefones da agenda;
cout<<"[3] Excluir "<<endl; // Exclui o nome e telefone da agenda;
cout<<"[4] Buscar "<<endl; //Busca o nome e telefone da agenda;
cout<<"[5] Contar "<<endl;// Conta o n° de telefones cadastrados;
cout<<"[6] Gravar "<<endl;
cout<<"[7] Sair "<<endl; //Opção para sair do menu.
cin>>op;
if(op==1){
cout<<" CADASTRO DE NOVOS TELEFONES "<<endl;
cout<<"Informe o telefone: ";
cin>>tel;
fflush(stdin);
cout<<"Informe o nome: ";
fgets(n,100,stdin);
cout<<endl;
inclusao(n, tel);
}else if(op==2){
listagem();
}else if(op==3){
cout<<"Informe o telefone para remover da agenda: ";
cin>>tel;
exclusao(tel);
}else if(op==4){
cout<<"Informe o telefone para busca: ";
cin>>tel;
procurar(tel);
}else if(op==5)
contar();
else if(op==6)
salvar();
cout<<"Deseja Voltar ao Menu? [1]-SIM|[0]-NAO ";
cin>>resp;
if(resp==0)
break;
}while(op!=7);
}
//Funcao de Inclusao
void inclusao(char n[100], long tel){
aux = (struct agenda *)malloc(sizeof(struct agenda));
if(prim==NULL)
prim=aux;
else
ult->prox=aux;
ult=aux;
strcpy(ult->nome,n);
ult->telefone=tel;
ult->prox=NULL;
cout<<">-------------------<"<<endl;
cout<<aux->nome;
cout<<"foi cadastrado com sucesso! \n";
cout<<">-------------------<"<<endl;
}
void listagem(){
aux=prim;
if(prim!=NULL){
cout<<">-------------------<"<<endl;
cout<<"Nomes e Telefones "<<endl;
cout<<"Nome: "<<prim->nome<<endl;
cout<<"Telefone: "<<prim->telefone<<endl;
cout<<">-------------------<"<<endl;
aux=prim->prox;
while(aux!=NULL){
cout<<">-------------------<"<<endl;
cout<<"Nome: "<<aux->nome<<endl;
cout<<"Telefone: "<<aux->telefone<<endl;
cout<<">-------------------<"<<endl;
aux=aux->prox;
}
}else
cout<<"Agenda Vazia! "<<endl;
}
void exclusao(long tel){
struct agenda *aux2;
int achei = 0;
aux = prim;
while(aux!= NULL && achei==0)
{
if(aux->telefone == tel)
{
if(aux == prim)
{
if(prim == ult)
{
prim = ult = NULL;
aux2 = aux;
}
else
{
prim= prim->prox;
aux2 = aux;
}
}
else if(aux == ult)
{
ult = aux2;
ult->prox=NULL;
}
else
{
aux2->prox = aux->prox;
achei = 1;
free(aux);
}
}
else
{
aux2 = aux;
aux = aux->prox;
}
}
if(achei==0)
{
cout <<"Telefone nao foi encontrado\n\n\n";
}
else
{
cout <<"Telefone excluido! com sucesso! \n\n"<<endl;
}
}
void procurar(long tel){
int achei=0;
aux=prim;
while(achei==0 && aux!=NULL){
if(aux->telefone==tel){
cout<<">-------------------<"<<endl;
cout<<"Nome: "<<aux->nome<<endl;
cout<<"Telefone: "<<aux->telefone<<endl;
cout<<">-------------------<"<<endl;
achei=1;
}else
aux=aux->prox;
}
if(achei==0){
cout<<"Nome e telefone nao encontrados! "<<endl;
}
}
void contar()
{
int c=0;
aux = prim;
while(aux!= NULL)
{
c += 1;
aux = aux->prox;
}
cout <<"Numero de telefones cadastrados: "<<c<<"\n\n\n";
}
void salvar(){
aux=prim;
if(aux!=NULL){
FILE *file;
file = fopen("teste.txt", "w");
fprintf(file,"Pao com sopa");
fclose(file);
}
}
void carregar(){
}