Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: LuisUvtol en 4 Mayo 2020, 17:05 pm



Título: ¿Como dejar espacios en un int?
Publicado por: LuisUvtol en 4 Mayo 2020, 17:05 pm
Hola a todos, necesito ayuda con este pequeño problema, se que es muy sencillo pero no he encontrado la manera de resolverlo, ¿Como puedo dejar una coma en una variable int? les dejo mi codigo para que me entiendan mejor:
Código
  1. cout << "Ingrese las listas: ";
  2. cin.ignore();
  3. cin.getline(lista,200,'\n');       //Guardo mi lista
  4. char *token = strtok(lista, delimitador); //Tokenizo mi lista
  5. while (token != NULL){
  6. int eje;
  7. //int espacio = ;
  8. eje = atoi(token); //Convierto mi token a int
  9. int a[] = {eje};    //Guardo en mi variable a
  10.  
  11. token = strtok(NULL, delimitador);
  12. cout<<*a;                      //Imprimo mi variable a, si mi lista es: 2,3,4,5 me imprime 2345
  13. } //Me gustaria que me imprimiera 2,3,4,5 ¿Como puedo hacerlo?

Intente haciendo esto: int[a]={eje,}, pero no servio, esta pensando en guardar un int = ,; pero se que esto no funciona :( ayuda por favor! Gracias


Título: Re: ¿Como dejar espacios en un int?
Publicado por: ThunderCls en 4 Mayo 2020, 18:00 pm
Una variable "int" solo puede almacenar valores numericos, el caracter "," evidentemente no lo es por lo que tu intento no es valido. Por otra parte puedes hacer algo como esto

Código
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. int main()
  5. {
  6.    char lista[200] = {0};
  7.    const char *delimitador = ",";
  8.  
  9.    std::cout << "Ingrese las listas: ";
  10.    std::cin.getline(lista, 200);
  11.    char *token = strtok(lista, delimitador);
  12.    while (token != NULL)
  13.    {
  14.        std::cout << atoi(token) << ",";
  15.        token = strtok(NULL, delimitador);
  16.    }
  17.  
  18.    std::cout << "\b" << " ";
  19. }

Saludos