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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Programación C/C++ / undefined reference to.. (Build failed) ¿A qué se debe el error?. en: 29 Febrero 2016, 03:40 am
Hola. Estaba practicando con las clases y objetos (soy nuevo), la cual me encuentro con estos errores que no logro comprender porque pasa.

Los errores ocurren el fichero; mejores-amigos.cpp

Código:
undefined reference to `tfri::SetFrie(std::string)'
undefined reference to `tfri::puntos(int, int, int)'
undefined reference to `tfri::ResultadoFinal()'

mejores-amigos.cpp

Código
  1. #include <iostream>
  2. #include <string>
  3.  
  4. #include "tfriends.h"
  5.  
  6. using namespace std;
  7.  
  8. int pp1,pp2,pp3;
  9.  
  10. int main()
  11. {
  12.    tfri amiwo;
  13.    string men;
  14.  
  15.    cout<<"Promedio de tu mejor amigo"<<endl;
  16.    cout<<endl;
  17.  
  18.    cout<<"Coloca el nombre de tu amigo"<<endl;
  19.    getline(cin,men);
  20.    amiwo.SetFrie(men);
  21.  
  22.    cout<<endl;
  23.  
  24.    cout<<"Coloca tres notas para tu amigo: "<<endl;
  25.  
  26.    cout<<"¿Del 1-5 que buenos consejos da tu amigo?"<<endl;
  27.    cin>>pp1;
  28.    cout<<"¿Del 1-5 que tanto te tolera tu amigo?"<<endl;
  29.    cin>>pp2;
  30.    cout<<"¿Del 1-5 que tanto te quiere tu amigo?"<<endl;
  31.    cin>>pp3;
  32.  
  33.    amiwo.puntos(pp1,pp2,pp3);
  34.  
  35.    cout<<endl;
  36.  
  37.    cout<<"EL resultado es: "<<amiwo.ResultadoFinal();
  38.  
  39.    return 0;
  40. }


tfriends.h

Código
  1. #include <string>
  2.  
  3. using namespace std;
  4.  
  5. class tfri
  6. {
  7. private:
  8.    string amigo_original;
  9.    int presultado;
  10.  
  11. public:
  12.    void SetFrie(string);
  13.    void puntos(int,int,int);
  14.    int ResultadoFinal();
  15.  
  16. };
  17.  

tfriends.cpp

Código
  1. #include <iostream>
  2. #include "tfriends.h"
  3.  
  4. int main()
  5. {
  6.    return 0;
  7. }
  8.  
  9. ///////////////////////////////////////////////////
  10. void tfri::SetFrie(string amigo)
  11. {
  12.    amigo_original = amigo;
  13. }
  14.  
  15. void tfri::puntos(int puntos, int puntos2, int puntos3)
  16. {
  17.    presultado = (puntos + puntos2, + puntos3) / 3;
  18. }
  19.  
  20. int tfri::ResultadoFinal()
  21. {
  22.    return presultado;
  23. }

Gracias.
12  Programación / Programación C/C++ / Re: ¿Por qué no me imprime el valor en cout?. en: 2 Febrero 2016, 02:50 am
El asunto aquí va sobre la tabla ASCII

cuando colocas "a" representa 92, pero cuando colocas 10 y 20 representan los carácteres respectivos a dichos números

osea, que no puedo poner un valor numérico directo en un char?. Al menos para poder imprimir 10-20 y no sus representaciones.

Gracias.

13  Programación / Programación C/C++ / Solucionado - ¿Por qué no me imprime el valor entero en cout?. (char) en: 2 Febrero 2016, 01:32 am
Hola, ¿Qué tal?, soy nuevo en este foro y en el lenguaje de C++. La cuestión es que estoy recién iniciando (días) por lo cual me puse a experimentar e hice el siguiente código:

Código
  1. char carac2[3];
  2.  
  3. carac2[0] = 'a';
  4. carac2[1] = 20;
  5. carac2[2] = 30;
  6.  
  7. cout<<"carac2[0] "<<carac2[0]<<"\ncarac2[1] "<<carac2[1]<<"\ncarac2[2] "<<carac2[2];
  8.  

El problema es que me imprime correctamente solo 'a', los demás salen con otros símbolos.

http://prntscr.com/9xvaek (foto)

Según lo que leí, char, es básicamente para guardar datos pequeños asi que deduzco que tenga algo ver, pero si lo pongo directamente así:

Código
  1. cout<<carac2[0]<<endl;
  2. cout<<carac2[1]<<endl;
  3.  

si que lo imprime bien. Entonces, ¿En qué estoy fallando?.



*Edit (solucionado)

Vale muchas gracias chicos por la ayuda.

- char solo es usado para caracteres. Por lo cual, cuando  intento almacenar un valor entero (10-20), le estaremos diciendo que nos muestre su representación en la tabla ASCII. Asi que debo usar una variable de tipo entero (int).

Sin embargo puedo usar un Casting a int, asi cout lo interpretará como numero y no como carácter. Ejemplo:

Código
  1. carac2[0] = 20;
  2. carac2[1] = 'b'; // caracter ASCII
  3. carac2[2] = 'c'; // caracter ASCII
  4.  
  5. cout<<"carac2[0] "<<(int)carac2[0]<<"\ncarac2[1] "<<carac2[1]<<"\ncarac2[2] "<<carac2[2];
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines