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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  buenas para que m revisen estas funciones mienbro hechas en dev cpp
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: buenas para que m revisen estas funciones mienbro hechas en dev cpp  (Leído 2,609 veces)
eduardo17445

Desconectado Desconectado

Mensajes: 162


Ver Perfil
buenas para que m revisen estas funciones mienbro hechas en dev cpp
« en: 4 Abril 2014, 00:45 am »

include<iostream>
#include<conio.h>
using namespace std;
class cliente{
      private:
     char* nom[30];
        char* dire[60] ;
         char* telf[60];
      public:
             int cargar_cliente();-----------el ejersicio m da estas funciones miembro q debo de realisar
             int mostrar_cliente();
             int buscar_cliente_por_nombre();
             };
            int cliente::cargar_cliente()
             {
                  for(int i=0;i<=1;i++)
                  {
                  cout<<"nombre-------->";
                  cin>>nom[30];
                  cout<<endl;
                  cout<<"direccion------->";
                  cin>>dire[60];
                  cout<<endl;
                  cout<<"telefono------->";
                 cin>>telf[60];
                 cout<<endl;
                  }
             }
                             
             int cliente::mostrar_cliente()
             {
                  cout<<"nombre----->"<<nom[30];
                  cout<<endl;
                  cout<<"direccion------>"<<dire[60];
                  cout<<endl;
                  cout<<"telefono------->"<<telf[60];
                  cout<<endl;
             }
             int cliente::buscar_cliente_por_nombre()
             {

                char nom[30];
               int clien;
               
 
              nom[30]=clien=nom[30]=3;
                nom[30] = true ;
                 clien =nom[30];
                 
                cout<<"buscar cliente------------->";
                cin>>nom[30];
                cout<<endl;
                cout<<"clente-------------->"<<nom[30];
                cout<<endl;
             }
             
           
             int main()
             {
             
              int op;
             cliente a;
          a.cargar_cliente();
          a.mostrar_cliente();
          a.buscar_cliente_por_nombre();
             system("pause");
             return 0;
             }



En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: buenas para que m revisen estas funciones mienbro hechas en dev cpp
« Respuesta #1 en: 4 Abril 2014, 02:28 am »

GeSHi... y no hagas doble post...

http://foro.elhacker.net/programacion_cc/buenas_tengo_un_programa_cliente_que_m_muestra_un_solo_cliente-t412004.0.html;topicseen


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: buenas para que m revisen estas funciones mienbro hechas en dev cpp
« Respuesta #2 en: 4 Abril 2014, 02:49 am »

No soy el experto en c++ pero que no las funciones que tienen como modificador un tipo de dato debe tener un return?

"for exempo"

Código
  1. int cliente::cargar_cliente()
  2.             {
  3.                  for(int i=0;i<=1;i++)
  4.                  {
  5.                  cout<<"nombre-------->";
  6.                  cin>>nom[30];
  7.                  cout<<endl;
  8.                  cout<<"direccion------->";
  9.                  cin>>dire[60];
  10.                  cout<<endl;
  11.                  cout<<"telefono------->";
  12.                 cin>>telf[60];
  13.                 cout<<endl;
  14.                  }
  15.             }
  16.  
por la función de este método debería ser void.

En línea

abc
eduardo17445

Desconectado Desconectado

Mensajes: 162


Ver Perfil
Re: buenas para que m revisen estas funciones mienbro hechas en dev cpp
« Respuesta #3 en: 4 Abril 2014, 04:17 am »

que podria ser
En línea

Zodiak98

Desconectado Desconectado

Mensajes: 120


Ver Perfil
Re: buenas para que m revisen estas funciones mienbro hechas en dev cpp
« Respuesta #4 en: 4 Abril 2014, 16:07 pm »

Código:
[b]1 - [/b] En este pedazo de código:
[code=cpp]
class cliente{
 private:
     char* nom[30];
     char* dire[60] ;
     char* telf[60];
 public:
     int cargar_cliente();
     int mostrar_cliente();
     int buscar_cliente_por_nombre();
};
En los miembros privados, estás declarando 30 punteros de caracteres, es decir, 30 cadenas de texto, en las otras lo mismo pero con una longitud de 60.

2 - Acá:
Código
  1. int cliente::cargar_cliente() {
  2.        for(int i=0;i<=1;i++) {
  3.           cout<<"nombre-------->";
  4.           cin>>nom[30];
  5.           cout<<endl;
  6.           cout<<"direccion------->";
  7.           cin>>dire[60];
  8.           cout<<endl;
  9.           cout<<"telefono------->";
  10.           cin>>telf[60];
  11.           cout<<endl;
  12.     }
  13. }
  14.  
No sé si quisiste registrar 2 usuarios, acá lo que estás haciendo es que estás dándole una vuelta a los valores, es decir, los valores que ingresaste en primer lugar, serán reemplazados por la segunda ronda, es decir, los segundos valores que ingresaste.

Lo que puedes hacer es crear un arreglo de objetos de longitud 2 y con el valor 'i' del búcle 'for' registrar ambos usuarios, uno y después el otro con la iteración.

Es por eso que acá:
Código
  1. int cliente::mostrar_cliente() {
  2.      cout<<"nombre----->"<<nom[30];
  3.      cout<<endl;
  4.      cout<<"direccion------>"<<dire[60];
  5.      cout<<endl;
  6.      cout<<"telefono------->"<<telf[60];
  7.      cout<<endl;
  8. }
  9.  
Siempre te va a dar los valores del último ingreso. Además si lo colocas de esta manera: 'nom[30]' como está allí, te mostrará el caracter 30 del arreglo nom, lo correcto para que muestre el nombre completo sería quitándole las casillas. O sea, simplemente colocar: nom
Lo mismo para las demás.

3 - Y por último acá:
Código
  1. int cliente::buscar_cliente_por_nombre() {
  2.      char nom[30];
  3.      int clien;
  4.      nom[30]=clien=nom[30]=3;
  5.      nom[30] = true ;
  6.      clien =nom[30];
  7.  
  8.      cout<<"buscar cliente------------->";
  9.      cin>>nom[30];
  10.      cout<<endl;
  11.      cout<<"clente-------------->"<<nom[30];
  12.      cout<<endl;
  13. }
  14.  

Esta línea:
Código
  1. nom[30]=clien=nom[30]=3;
  2.  

Es innecesaria, ya que estás asignando el valor 3, a la posición 30 del arreglo nom, y a la variable entera clien. Y luego inmediatamente en la siguiente instrucción:
Código
  1.      nom[30] = true ;
  2.      clien =nom[30];
  3.  
Estás asignando un valor booleano true a la posición 30 del arreglo nom, e inmediatamente a clien. No sé qué quisiste hacer allí, pero bueno, es innecesaria la línea que te dije.

Código
  1.      cout<<"buscar cliente------------->";
  2.      cin>>nom[30];
  3.      cout<<endl;
  4.      cout<<"clente-------------->"<<nom[30];
  5.      cout<<endl;
  6.  
Acá en el cin, debes de quitar las casillas de arreglo y dejar solamente el nombre del arreglo, para almacenar una cadena completa en el arreglo, lo mismo para mostrarlo, ya que en ese pedazo de código dónde lo muestras mostrarás el caracter en la posición 30, si quieres mostrar toda la cadena debes de quitar las casillas.

En conclusión, acá te dejaré el código al menos para que pueda correr, ya es cosa tuya arreglar lo de los 2 usuarios como te he mencionado arriba:

Código
  1. #include<iostream>
  2. #include<conio.h>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6. class cliente {
  7. private:
  8.    char nom[30];
  9.    char dire[60];
  10.    char telf[60];
  11. public:
  12.    int cargar_cliente();
  13.    int mostrar_cliente();
  14.    int buscar_cliente_por_nombre();
  15. };
  16.  
  17. int cliente::cargar_cliente() {
  18.    for(int i=0;i<=1;i++) {
  19.        cout<<"nombre-------->";
  20.        cin>>nom;
  21.        cout<<endl;
  22.        cout<<"direccion------->";
  23.        cin>>dire;
  24.        cout<<endl;
  25.        cout<<"telefono------->";
  26.        cin>>telf;
  27.        cout<<endl;
  28.    }
  29. }
  30.  
  31. int cliente::mostrar_cliente() {
  32.    cout<<"nombre----->"<<nom;
  33.    cout<<endl;
  34.    cout<<"direccion------>"<<dire;
  35.    cout<<endl;
  36.    cout<<"telefono------->"<<telf;
  37.    cout<<endl;
  38. }
  39.  
  40. int cliente::buscar_cliente_por_nombre() {
  41.    char nom[30];
  42.    int clien = NULL;
  43.  
  44.    //nom[30] = clien = nom[30] = 3;
  45.    nom[30] = true ;
  46.    clien   = nom[30];
  47.  
  48.    cout<<"buscar cliente------------->";
  49.    cin>>nom;
  50.    cout<<endl;
  51.    cout<<"clente-------------->"<<nom;
  52.    cout<<endl;
  53. }
  54.  
  55.  
  56. int main() {
  57.    int op;
  58.    cliente a;
  59.    a.cargar_cliente();
  60.    a.mostrar_cliente();
  61.    a.buscar_cliente_por_nombre();
  62.    system("pause");
  63.    return 0;
  64. }
  65.  
[/code]
« Última modificación: 4 Abril 2014, 16:11 pm por Zodiak98 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines