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 - TØtti

#11
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

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 (cpp) [Seleccionar]
#include <iostream>
#include <string>

#include "tfriends.h"

using namespace std;

int pp1,pp2,pp3;

int main()
{
   tfri amiwo;
   string men;

   cout<<"Promedio de tu mejor amigo"<<endl;
   cout<<endl;

   cout<<"Coloca el nombre de tu amigo"<<endl;
   getline(cin,men);
   amiwo.SetFrie(men);

   cout<<endl;

   cout<<"Coloca tres notas para tu amigo: "<<endl;

   cout<<"¿Del 1-5 que buenos consejos da tu amigo?"<<endl;
   cin>>pp1;
   cout<<"¿Del 1-5 que tanto te tolera tu amigo?"<<endl;
   cin>>pp2;
   cout<<"¿Del 1-5 que tanto te quiere tu amigo?"<<endl;
   cin>>pp3;

   amiwo.puntos(pp1,pp2,pp3);

   cout<<endl;

   cout<<"EL resultado es: "<<amiwo.ResultadoFinal();

   return 0;
}



tfriends.h

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

using namespace std;

class tfri
{
private:
   string amigo_original;
   int presultado;

public:
   void SetFrie(string);
   void puntos(int,int,int);
   int ResultadoFinal();

};


tfriends.cpp

Código (cpp) [Seleccionar]
#include <iostream>
#include "tfriends.h"

int main()
{
   return 0;
}

///////////////////////////////////////////////////
void tfri::SetFrie(string amigo)
{
   amigo_original = amigo;
}

void tfri::puntos(int puntos, int puntos2, int puntos3)
{
   presultado = (puntos + puntos2, + puntos3) / 3;
}

int tfri::ResultadoFinal()
{
   return presultado;
}


Gracias.
#12
Cita de: engel lex en  2 Febrero 2016, 02:37 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
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 (cpp) [Seleccionar]

char carac2[3];

carac2[0] = 'a';
carac2[1] = 20;
carac2[2] = 30;

cout<<"carac2[0] "<<carac2[0]<<"\ncarac2[1] "<<carac2[1]<<"\ncarac2[2] "<<carac2[2];


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 (cpp) [Seleccionar]

cout<<carac2[0]<<endl;
cout<<carac2[1]<<endl;


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 (cpp) [Seleccionar]
carac2[0] = 20;
carac2[1] = 'b'; // caracter ASCII
carac2[2] = 'c'; // caracter ASCII

cout<<"carac2[0] "<<(int)carac2[0]<<"\ncarac2[1] "<<carac2[1]<<"\ncarac2[2] "<<carac2[2];