elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Problema con busqueda en arreglo de string en: 12 Noviembre 2012, 18:52 pm
Si estas programando en "C++" por qué no usas la clase String? Otra cosa, no puedes comparar dos strings de C de esta manera:

Código
  1. buscar != estudiante[k]

Debes usar strcmp() de la librería string.h. No se que otros errores puedas tener, pero soluciona eso primero.

Hice el cambio y utilice la función que me indicaste pero ahora siempre me evalua a 0.



Código:

/*
    PROBLEMAS Y ERRORES:

    1.- El ciclo FOR,para almacenar nombre y apellidos, me tira un numero mas
*/
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int main()
{

    const int MAX = 100;        //Tamaños maximos para filas y columnas del arreglo
    const int TAM = 50;

    //Variables iniciadas para evitar valores basura

    char estudiante[MAX][TAM] = {" "};
    char buscar[TAM] = {" "};
    int tamFila = 0;

    cout << "Este programa le permite capturar el nombre y apellido."
         << "\nde estudiantes esperando en fila, y tambien verifica si un \n"
         << "nombre introducido por teclado esta en la lista."
         << "\n_______________________________________________________\n\n\n";
    cout << "\t\t::Caja No. 511::\n";

    cout << "\nIntroduzca tamano de la fila:";
    cin >> tamFila;

    cout << "\nNombre y apellido estudiantes en fila.\n";
    for ( int j = 0; j <= tamFila; j++)
    {
        gets(estudiante[j]);

    }

    cout << "\n\n\n\t<BUSQUEDA>\n "
         << "\tPara resultados positivos introduzca\n el nombre tal como lo escribio.\n\n"
         << "Nombre y apellido estudiante: ";

    cin.getline(buscar, sizeof(buscar));

    for(int k = 0; k <= tamFila; k++)
    {
        int valorCmp = strcmp(estudiante[k], buscar);

       if ( valorCmp == 0)
        {

            cout << "=> El que se fue de la fila pierde su silla, " << buscar;
            break;

        }else{

            cout << "=> "<< buscar << " por favor pase a pagar.";
            break;

        }
    }


    cout <<"\n\n Personas en fila\n";

    for ( int j = 0; j <= tamFila; j++)
    {
        if (j != 0)
        {
            cout << j << ".- " <<estudiante[j] << endl;
        }

    }


return 0;
}

2  Programación / Programación C/C++ / Re: Error en malloc() en: 9 Noviembre 2012, 14:38 pm
Si lo que intentas es asignar dinamicamente memoria y estas en C++ puedes usar new y delete, no¿?
3  Programación / Programación C/C++ / Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO? en: 9 Noviembre 2012, 14:36 pm
1. Para que te borre la pantalla, te recomiendo que leas este enlace    http://www.cplusplus.com/articles/4z18T05o/

2. Para que vuelva al inicio puedes hacer una llamada a la función main(), de esta manera: main();  ya que esta es la función principal.

4  Programación / Programación C/C++ / Re: Problema con busqueda en arreglo de string en: 9 Noviembre 2012, 14:32 pm
Esto es parte de una tarea y me pedían que utilizara arreglos estáticos, siempre me paso por la mente utilizar string pero me atuve a lo que me pedían en la tarea.

Gracias amigo por la respuesta corregiré esto y luego posteo los resultados.

Un saludo.
5  Programación / Programación C/C++ / Re: ayuda con vectores c++ en: 8 Noviembre 2012, 20:07 pm

Este hace lo que quieres que haga.

Observaciones:
1. Escribe de manera clara los bloques de código, es decir, da a cada bloque su separación para que se pueda apreciar la lógica del mismo.

2. El problema de tu código era la ubicación de ciertas sentencias y una que otra que simplemente estaba demás, por favor estudia el código que aquí corregí para que veas esto por ti mismo.

Código:
#include<iostream>
#include<vector>
using namespace std;

int main(){
    vector<int>lista;
    int numero;


    while(numero!=-1)
    {
        cin>>numero;
        lista.push_back(numero);
    }



    int p=0;

    while(p<lista.size())
    {
       cout<<lista[p]<<endl;
       p = p+1;
    }

return 0;
}
6  Programación / Programación C/C++ / Problema con busqueda en arreglo de string en: 8 Noviembre 2012, 19:52 pm
Saludos amigos!

Les pido que por favor le den una mirada a este código, el mismo tiene como fin almacenar en un array estático los nombres y apellidos de estudiantes esperando en una fila para pagar luego pedir un nombre y un apellido buscarlos y dar una salida en caso de encontrar o no.

Mi problema es que el bloque de codigo encargado de realizar la busqueda del nombre y apellido siempre evalúa a FALSE.

Encantado de estar entre ustedes, este es mi primer post en el foro y espero seguir activo en el mismo, desde ya gracias!

Código:
#include <iostream>
#include <cstdio>
using namespace std;

int main()
{

    const int MAX = 100;        //Tamaños maximos para filas y columnas del arreglo
    const int TAM = 50;

    //Variables iniciadas para evitar valores basura

    char estudiante[MAX][TAM] = {" "};
    char buscar[TAM];
    int tamFila = 0;

    cout << "Este programa le permite capturar el nombre y apellido."
         << "\nde estudiantes esperando en fila, y tambien verifica si un \n"
         << "nombre introducido por teclado esta en la lista."
         << "\n_______________________________________________________\n\n\n";
    cout << "\t\t::Caja No. 511::\n";

    cout << "\nIntroduzca tamano de la fila:";
    cin >> tamFila;

    cout << "\nNombre y apellido estudiantes en fila.\n";
    for ( int j = 0; j <= tamFila; j++)
    {
        gets(estudiante[j]);
    }

   
cout << "\n\n\n\t<BUSQUEDA>\n "
         << "\tPara resultados positivos introduzca\n el nombre tal como lo escribio.\n\n"
         << "Nombre y apellido estudiante: ";

    cin.getline(buscar, sizeof(buscar));

//Esta es la parte que evalua si la entrada esta almacenada.   
for(int k = 0; k <= tamFila; k++)
    {
        if (buscar != estudiante[k])
        {

            cout << "El que se fue de la fila pierde su silla, " << buscar;
            break;

        }else{

            cout << "Pase a pagar.";
            break;

        }
    }

    cout <<"\n\n Personas en fila\n";

    for ( int j = 0; j <= tamFila; j++)
    {
        if (j != 0)
        {
            cout << j << ".- " <<estudiante[j] << endl;
        }

    }


return 0;
}



7  Programación / Programación C/C++ / Re: [Libros/Papers] C/C++ en: 8 Noviembre 2012, 15:19 pm
Muy buenos libros tienes aquí, gracias.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines