Pues bien ya comence con la primera opcion que es anadir un contacto, y lo he guardado en un archivo de texto. Ahora quiero que al cerrar el programa y vuelva a entrar le pueda dar la opcion de ver contacto y que me lo muestre en pantalla.
Se que con la funcion ifstream puedo leer el archivo y comparando un string que le pida al usuario con el string que me idica el nombre para encontrarlo... pero, Como hago para que leea el archivo y me busque el contacto que le indique, y sobre todo que me lo muestre en pantalla??...
Código
#include <iostream> #include <fstream> // read and write outfile .txt #include <cstring> #include <cstdlib> // To use system("clear") using std::ofstream; // write outfile .txt using std::ifstream; // read outfile .txt using std::ios; using std::cout; using std::cin; using std::endl; using std::string; const int LEN = 2; void Addd(struct Data people[], int reg); // add_contact_funtion struct Data { string Naame; unsigned int age; }; int main() { Data people[LEN]; //struct cout << endl; cout << "\t //////// //////// // // ///////// ////////// //////// " << endl; cout << "\t // // // //// // // // // // " << endl; cout << "\t // // // // // // // // // // " << endl; cout << "\t // // // // // // // ////////// // " << endl; cout << "\t // // // // //// // // // // " << endl; cout << "\t //////// //////// // // // // // //////// " << endl; cout << endl; cout << "CONTACTS" << endl << endl; cout << "1. Add contact." << endl << endl; cout << "2. Show contact." << endl << endl; cout << "3. Exit" << endl << endl; int regi_ter = 0; int option; cout << "Numero de operacion a realizar: "; cin >> option; cin.ignore(); cout << endl; switch (option) { case 1: system("clear"); Addd(people,regi_ter); break; case 2: cout << "Show contact"; break; case 3: cout << "EXIT"; exit(0); break; default: cout << "Operation invalid."; system("clear"); main(); break; } return 0; } /// ADD_CONTACT_FUNTION /// void Addd(struct Data people[], int reg) { cout << "Write the contact information."; cout << endl << endl; cout << "1. Name: "; getline(cin,people[reg].Naame); cout << endl; cout << "6. Age: "; cin >> people[reg].age; cin.ignore(); cout << endl; char sn[5]; do { cout << "Add contact in the agenda? [S/N]: "; cin >> sn; if((strcmp(sn,"s")==0)||(strcmp(sn,"S")==0)) { ofstream archivo; archivo.open("ContactsAgenda.txt", ios::app); archivo << "Name: " << people[reg].Naame << endl; archivo << "Age: " << people[reg].age << endl; archivo << endl << "---------------------------------------------" << endl << endl; archivo.close(); reg++; cout << endl << "Contacto anadido." << endl; system("clear"); main(); } if((strcmp(sn,"n")==0)||(strcmp(sn,"N")==0)) { cout << endl << "Contacto no anadido." << endl; system("clear"); main(); } }while ((sn!="S")||(sn!="s")||(sn!="N")||(sn!="n")); }
Muchas gracias....Espero que me puedan entender.
PD: Quiero hacerlo sin punteros, clases o vectores... Luego la pienso hacer de esa manera, por ahora solo con estructuras.