Código
// #include <iostream> #include <string> #include <vector> using std::vector; using std::cout; using std::cin; using std::string; using std::endl; class cEstudiante{ public: string nomv; cEstudiante(string vnomv) : nomv(vnomv){}//constructor }; main(){ int run, i, j=0, k=0, cont, con; string NomEst, BusNom, PosNom; vector<cEstudiante> vEstudiante; int OpcMen, sigue = 1; //Variables para controlar el menu do { system("cls"); system (" color F0"); cout << "\n\n\t\t<<<<<<<<<<<<<<<<<<<<<<<<MENU>>>>>>>>>>>>>>>>>>>>>>>>>>\n" << endl; cout << "\n\n 1 <**> INSERTAR DATOS" << endl; cout << " 2 <**> BORRAR DATOS" << endl; cout << " 3 <**> MOSTRAR DATOS" << endl; cout << " 4 <**> BUSCAR DATOS" << endl; cout << " 0 <**> SALIR" << endl << endl; cout<<"\n\t Ingrese su opci\242n: "; while(!(std::cin>>OpcMen)) { std::cin.clear(); std::string error; std::cin>>error; system("cls"); cout<<"\n\tLA OPCION INGRESADA NO EXISTE\n"; cout<<"\n\tIngrese su opci\242n nuevamente: "; } switch(OpcMen) { case 1: system("cls"); cout << "\n\nENTRE EL NOMBRE:\n " ; fflush(stdin); getline(cin, NomEst); system("cls"); do{ run = vEstudiante.size(); cont=0; for (i=0;i<run;i++){ cEstudiante runEstudiante = vEstudiante[i]; if(runEstudiante.nomv == NomEst){ cont++; } //I f } //for if(cont>0){ j++; system ("cls"); cout << "\n\nESTE NOMBRE YA EXISTE!!!" << endl; cout << "\n\nFAVOR DIGITAR OTRO NOMBRE DE ESTUDIANTE DIFERENTE\n" << endl; system("pause"); system ("cls"); } cont=0; }while(cont>0); vEstudiante.push_back(cEstudiante(NomEst)); if(j==1) { vEstudiante.erase(vEstudiante.begin()+i); } j=0; break; case 2: system ("cls"); cout << "\nAQUIEN DESEA BORRAR :\n "; cin >> PosNom; for (i=0;i<run;i++){ //for inicio cEstudiante runEstudiante = vEstudiante[i]; if(runEstudiante.nomv == PosNom){ k++; cout << "\n\nEL NOMBRE \n" << PosNom; vEstudiante.erase(vEstudiante.begin()+i); cout << " FUE BORRADO CON EXITO!!!\n" << endl; } } //fin for if(k==0){ cout << "\n ESTE NOMBRE NO EXITE !!!\n" << endl; } k=0; system("pause"); system(" CLS"); break; case 3: system ("cls"); run = vEstudiante.size(); cout << "\n\nNOMBRE: \n" << endl; for (i=0;i<run;i++){ cEstudiante PrintEstudiante = vEstudiante[i]; cout<<PrintEstudiante.nomv<<"\t "<<endl; } system("pause"); system ("cls"); break; case 4: system("cls"); cout<<"\n\nAQUIEN DESEA BUSCAR: "; fflush(stdin); getline(cin, BusNom); run = vEstudiante.size(); con=0; system("cls"); for (i=0;i<run;i++){ //inicio for cEstudiante runEstudiante = vEstudiante[i]; if(runEstudiante.nomv == BusNom){ cout << "\nRESUTADO: \n\n" << endl; cEstudiante PrintEstudiante = vEstudiante[i]; cout << "NOMBRE " << " POSICION\n" << endl; cout <<PrintEstudiante.nomv<<"\t #"<< i+1<< endl<< endl; con++; system("pause"); } } // fin for system("cls"); if(con==0) { cout << "\nESTE NOMBRE NO EXISTE : \n\n" << endl; system("pause");} con=0; break; case 0: sigue = 0; break; default: cout<<"\t\tLA OPCION INGRESADA NO EXISTE\n"; system("cls"); } } while(sigue); }
este es mi codigo quiero hacerlo mas eficiente, controlar los nombres en mayusculas y minusculas y todo eso porfa.