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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  punteros recoradorio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: punteros recoradorio  (Leído 1,979 veces)
bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
punteros recoradorio
« en: 18 Septiembre 2010, 06:45 am »

buenas a todos la verdad es que quisiera resolver este problemita con delicades ya que es un punto muy importante  para mucha gente  aqui hoy decidi empezar con esto

primer asunto punteros

mire esto yo no lo entiendo bien si alguien puede explicarme(nos)

Código
  1. void imprime_cuadro(char *str)
  2. {
  3. /*
  4.  cout <<"============================================================"<<endl;
  5.  cout <<"="<<"           "<<str<<"="<<endl;
  6.  cout <<"============================================================"<<endl;
  7.  */
  8. for(int i(0); i <10;  i++)
  9. cout << str[i]<<endl;
  10.  
  11. }
  12.  

la verdad se que un puntero es un array dinamico(vector que se que es una clase de la stl )

pero la verda es que quisiera saber todo lo que deba saber acerca de ellos

si alguien me  da la info.

gracias!!


En línea

gracias por responder mis dudas
Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: punteros recoradorio
« Respuesta #1 en: 18 Septiembre 2010, 07:08 am »

La primer idea errónea que tenes que olvidar es la estricta relación que planteas entre los punteros y la STL; podes manejar un array dinamico sin siquiera tener que utilizar una sola vez el contenedor vector.
El concepto de punteros existe ya en C, mucho antes que la STL siquiera tuviese un nombre.

Es un tema largo, complicado al principio, pero fácil cuando se entiende. Lo ideal seria que leas un libro de C/C++, "Como programar en C/C++" de Deitel && Deitel es una buena opción. En las chinchetas hay un hilo con varios libros para descarga.

Te dejo estos dos hilos, ya que son los primeros que se me vienen a la cabeza. Utiliza el buscador y seguramente encuentres mas.


Saludos


En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Garfield07


Desconectado Desconectado

Mensajes: 1.121


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: punteros recoradorio
« Respuesta #2 en: 18 Septiembre 2010, 22:19 pm »

La respuesta de LittleHorse es muy buena. Un puntero es simplemente una variable que contiene una direccion de memoria de otro dato. Se declaran como una variable normal: Si vas a usar un puntero que va a apuntar (tener la direccion de) a una variable TAL, lo declaras TAL *puntero;
xejemplo:
Citar
char *punt.;
Citar
int *punt.;
Citar
FILE *punt.;
etc.
Olvidate de las ideas que tienes y leete lo de Littlehorse, que para eso es nuestro moderador jeje.

saludos y suerte
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Re: punteros recoradorio
« Respuesta #3 en: 19 Septiembre 2010, 04:30 am »

buenas
gracias por responder



entiendo por que me dices esas cosas y es muy cierto ,pero tal ves no paresca pero lo quize poner como un ejemplo pero la verdad es que tengo  que poner mi code completo aqui abaja para mostrar lo que estoy haciendo es una implemtacion simple de un ejemplo que quiero mostrar a unos compañeros pero cuando (que compila bien el sistema (Window lanza una epxecion de ) y termina mi app).


esta es la modificacion del code completo  a ver que me dice por que la verdfad estoy perdido

Código
  1. #include <iostream>
  2. #include <vector>
  3. #include<string>
  4.  
  5.  
  6. using namespace std;
  7. class UsuarioC;
  8.  
  9.  
  10. class NominaF{
  11.    private:
  12.    vector<string> ComprobanteFiscal;
  13.    vector<double> Sueldo;
  14.    vector<string> NombreUsuario;
  15.    int datos;
  16.    friend class UsuarioC;
  17.  
  18.    public:
  19.  
  20.    NominaF(){
  21.        datos=0;
  22.        }
  23.  
  24. };
  25.  
  26. class UsuarioC{
  27.    public:
  28.  
  29.    void CargarDatos(NominaF obj)
  30.    {
  31.     string Nom;
  32.     double sueldo;
  33.     string Comprobante;
  34.     char respu;
  35.     cout <<"======================================================"<<endl;
  36.     cout <<"                     Nomina 0.1                       "<<endl;
  37.     do{
  38.  
  39.     obj.datos++;
  40.     cout <<endl<<endl;
  41.  
  42.     cout <<"ingresar datos:                                       "<<endl;
  43.     cout <<"Nombre:                                               "<<endl;
  44.     cout <<">>";
  45.     getline(cin, Nom);
  46.     cin.ignore();
  47.     cout <<endl;
  48.     cout <<"ponga su sueldo                                       "<<endl;
  49.     cin  >>sueldo;
  50.     cout <<endl;
  51.     cout <<"ponga numero de comprobante fiscal de la empresa.     "<<endl;
  52.     getline(cin,Comprobante, '%');
  53.     cin.ignore();
  54.     obj.NombreUsuario.push_back(Nom);
  55.     obj.Sueldo.push_back(sueldo);
  56.     obj.ComprobanteFiscal.push_back(Comprobante);
  57.     cout <<endl<<endl;
  58.  
  59.     cout <<"desea cargar mas usuarios  s o S                      "<<endl;
  60.     cin  >> respu;
  61.  
  62.     }while((respu =='s') || (respu=='S'));
  63.     }
  64. void leer(NominaF obj){
  65.    for(int i(0); i <obj.datos;i++){
  66.  
  67.    cout <<"Usuario           :"<<obj.NombreUsuario.at(i)<<endl;
  68.    cout <<"Sueldo            :"<<obj.Sueldo.at(i)<<endl;
  69.    cout <<"Comprobante Fiscal:"<<obj.ComprobanteFiscal.at(i)<<endl;
  70.    }
  71.  
  72. }
  73.  
  74. };
  75.  
  76.  
  77. int main ()
  78. {
  79.  NominaF   nomina;
  80.  UsuarioC  User;
  81.  
  82.  User.CargarDatos(nomina);
  83.  User.leer(nomina);
  84.  return 0;
  85. }
  86.  

disculpen la INSISTENCIA pero la verdad es una duda k tengo muy en el fondo

por que ahora pruebo el push_back fuera de la clase y al parece trabaja bien pero cuando uso una instancia de la clase amiga nada de nada k me recomiendan
« Última modificación: 22 Septiembre 2010, 03:05 am por Littlehorse » En línea

gracias por responder mis dudas
Páginas: [1] Ir Arriba Respuesta Imprimir 

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