Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MellaSystems

#21
en un menu para listar, borrar, buscar un nombre en la clase vector:

Código (cpp) [Seleccionar]

//
#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.
#22
alguien que me de una manito ya tengo el programa que imprime el numero de veces que se repite una letra. Solo me hace falta comparar cual es mayor y no me sale.

Código (cpp) [Seleccionar]

bool continuar = true;
                         int contador=0,cont_letras=0;
                         std::string c;
                         for(int i=0; CadCar[i] !='\0';i++){
                           for(int j=0; c[j] !='\0';j++){
                              if(CadCar[i]==c[j]){
                                continuar = false;
                                break;
                              }       
                           }
                           if(continuar = true){
                             for (int k = 0; CadCar[k] != '\0'; k++){
                                 if(CadCar[i]==CadCar[k]){
                                   contador++;
                                   }
                                 }
                                 std::cout << CadCar[i] << " se encuentra " << contador << " veces!" << std::endl;
                                 contador=0;
                             }
                           c[cont_letras] = CadCar[i];
                           cont_letras++;
                           continuar = true;
                           }
                           }
#23
Analisando tu codigo mira lo que logre....

Código (cpp) [Seleccionar]

for(int i = 0; i < CadCar.length(); i++) {
                         for(int j = i+1; j < CadCar.length(); j++) {
                          if(CadCar[j] == CadCar[i]) {
                          std::cout << "La letra " << CadCar[i] << " está repetida" << std::endl;
                          // quiero agragar un contador para cada palabraa 
                               }
                              }
                             }
                          }


me dice las palabras repetidas pero no las veces que se repiten jajajajjaajajaj
#24
bueno esta bien brother gracias por la sugerencias mira:

Código (cpp) [Seleccionar]

void ImpCaractRepetidos(){
                         int abecedario[26];
                         int i,caracter;
                         for( i=0; i<26; i++){
                                 abecedario[i]=0;
                                 }
                         while (CadCar[i]!='\0'){
                                 i++;
                                 caracter = tolower(CadCar[i]);
                                 if ( caracter >= 97 && caracter <= 122)
                                   abecedario[caracter - 97]++;
                                   }
                           for ( i = 0; i < 26; i++ )
                           {
                           std::cout<<"La Letra "<< ((char)i+97) <<" Aparecio "<< abecedario[i] <<" Veces\n";
                           }
                       }


y aun me da error jejejej
#25
mira asi hice la funcion ahora pero no me imprime nada  :-[

Código (cpp) [Seleccionar]

void ImpCaractRepetidos(){
                         int abecedario[26];
                         int i,caracter;
                         for( i=0; i<26; i++){
                                 abecedario[i]=0;
                                 }
                         while (CadCar[i]!='\0'){
                                 caracter = tolower(CadCar[i]);
                                 if ( caracter >= 97 && caracter <= 122)
                                   abecedario[caracter - 97]++;
                                   }
                           for ( i = 0; i < 26; i++ )
                           {
                           std::cout<<"La Letra "<< abecedario[i] <<"Aparecio"<< i+97<<"Veces\n";
                           }
                       }
#26
Tengo esta funcion pero no me tira todos los caracteres repetidos
Código (cpp) [Seleccionar]

void ImpCaractRepetidos(){
                         int contador=0;
                         int aux=0;
                         char c;
                         for(int i=0; CadCar[i]!='\0';i++){
                           for(int j=1; j<CadCar.length();j++){
                              if(CadCar[i]==CadCar[j]){
                                contador++;
                              }       
                           }
                           if(contador > aux){
                              aux = contador;
                              c = CadCar[i];
                              contador = 0;         
                                       }
                              else
                                   contador = 0;
                           
                         }
                         std::cout<<"\nEn el texto hay "<<aux<<" caracteres repetidos\n";
                         std::cout<<" y son "<<c;
                       }


Gracias por la ayuda
#27
Gracias hermano y yo tampoco una librería estándar para controlar la consola, pero veré que hago


Enviado desde mi iPhone utilizando Tapatalk
#28
tengo este codigo y quiero imprimir

h        c          e
o        o          s
l         m         t
a        o          a
                     s

Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

main(){
       string c="hola como estas";
       getline(cin,c);
       for(int i=0;c[i]!='\0';i++){
               cout<<endl<<c[i];
           if(i==-1 || c[i] == ' ' && c[i+1] != ' '){
             cout<<c[0+2];
             cout<<"\t\t"<<c[i];
            }   
           }
       system("pause");
       }
#29
Programación C/C++ / Re: Menu string
24 Febrero 2015, 02:22 AM
mira este menu y dime si te parece correcto:

Código (cpp) [Seleccionar]

#include <iostream>

main(){
int OpcMen;
int sigue = 1;
do {
system("cls");
system("color 9F");
std::cout<<"\TITULO AQUI\n"<<std::endl;
std::cout<<"\t1.  "<<std::endl;
std::cout<<"\t2.  "<<std::endl;
std::cout<<"\t3.  "<<std::endl;
std::cout<<"\t0.  Pulse cero Salir"<<std::endl<<std::endl;
std::cout<<"\t    Ingrese su opci\242n: ";
       while(!(std::cin>>OpcMen))
          {
   std::cin.clear();
   std::string error;
   std::cin>>error;
           std::cout<<"\n\tLA OPCI\340N INGRESADA NO EXISTE"<<std::endl;
    std::cout<<"\n\tIngrese su opci\242n nuevamente: ";
          }
switch(OpcMen) {
case 1:
//lo que quieres que haga en esta opcion
break;
case 2:
//lo que quieres que haga en esta opcion
break;
case 3:
//lo que quieres que haga en esta opcion
break;
case 0:
sigue = 0;
break;
default:
std::cout<<"\t\tLA OPCI\340N INGRESADA NO EXISTE"<<std::endl;
   system("pause");
}
} while(sigue);
}


ese es un menu con do-while usando switch
#30
Gracias amigo. ;-) ;-)