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


 


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 172
1  Programación / Programación C/C++ / Re: Mi proyecto: BaseABase en: 23 Mayo 2015, 12:56
Tras hacer la función, puedes hacer funciones con el nombre que quieras que hagan de 'puente'. En esas funciones, llamarías a cualquier combinación de bases que quisieras.
Así, tienes lo mismo, y un extra de funcionalidad gracias a la función base.

el dia de mañana cuando necesite pasar un binario a por ejemplo octal solamente me fijo el nombre de la funcion y la llamo

El día de mañana, cuando quieras pasar de una base a otra, piensas "de base 2, a base 8". Y lo escribes xD

Es más, el día de mañana, cuando quieras pasar de cualquier base a cualquier base (pidiendo la base al usuario, por ejemplo), tan solo endrás que pasarle la entrada del usuario a la función, en vez de tener que hacer un arreglo de arreglos de funciones (por ejemplo).
2  Programación / Programación C/C++ / Re: Mi proyecto: BaseABase en: 22 Mayo 2015, 17:40
En vez de una clase, sería más comodo hacer solo una función:
Código
  1. bool toBase(string in, uint8_t initialBase, string &out, uint8_t finalBase);

Luego basta tirar false si alguna base se sale del rango [2,36]
3  Programación / Programación C/C++ / Re: Duda de switch y problema al ejecutar en: 20 Mayo 2015, 20:51
istream::get() coge solo un caracter del buffer de entrada.

Si introduces " a", cin.get() cogerá primero ' ' y luego 'a'.


Código
  1. case ' ':
  2. break;

Ese case hará break al switch, con lo que el bucle pedirá nueva letra ('a').
4  Programación / Programación C/C++ / Re: [Aporte] fixedInteger.h en: 19 Mayo 2015, 16:39
Con todo el respeto, de los códigos que se han aportado hasta ahora, ninguno tiene que ver con el post original.

El post original son métodos que convierten una string a un número, sin usar funciones de otras librerías con esa habilidad.

Al menos, proponed códigos que conviertan una cadena de caracteres en un entero :/

Edito:

Código
  1. #include <iostream>
  2. #include <cmath>
  3. #include <stdexcept>
  4.  
  5. using namespace std;
  6.  
  7. bool lessOrEqual(string a, string b){
  8.    if(a.size()<b.size()) return true;
  9.    if(a.size()>b.size()) return false;
  10.    if(a==b) return true;
  11.    for(int i=0; i<a.size(); i++)
  12.        if(a[i]<b[i]) return true;
  13.        else if(a[i]>b[i]) return false;
  14.    return true;
  15. }
  16.  
  17. int toInt(string str){
  18.    bool sign = str[0] == '-';
  19.  
  20.    for(int i=sign; i<str.size(); i++)
  21.        if(str[i]<'0' || str[i]>'9')
  22.            throw invalid_argument("Not numeric character found");
  23.  
  24.    size_t len = str.size()-sign;
  25.    if(sign)
  26.        str.erase(0,1);
  27.  
  28.    if(sign){
  29.        if(!lessOrEqual(str, "2147483648"))
  30.            throw out_of_range("Limits: [-2147483648, 2147483647]");
  31.    }else
  32.        if(!lessOrEqual(str, "2147483647"))
  33.            throw out_of_range("Limits: [-2147483648, 2147483647]");
  34.  
  35.    int temp = 0;
  36.    for(int i=str.size()-1; i>=0; i--)
  37.        temp += (str[i]-'0')*pow(10, str.size()-1-i);
  38.    if(sign)
  39.        temp *= -1;
  40.    return temp;
  41. }
  42.  
  43. int main(){
  44.    int number;
  45.    while(1){
  46.        cout << "Enter a number: ";
  47.        string temp;
  48.        getline(cin,temp);
  49.        bool good = true;
  50.        try{
  51.            number = toInt(temp);
  52.            break;
  53.        }catch(exception& e){
  54.            endl(cerr << "Exception: " << e.what());
  55.            endl(cout << "Invalid input.");
  56.        }
  57.    }
  58.    cout << "The number is: " << number;
  59. }
5  Programación / Programación C/C++ / Re: string & parametro dudas !! en: 18 Mayo 2015, 16:04
En primer lugar, estás accediendo en la linea 11 a rev[ len ]. Al comienzo, len es igual al tamaño de rev, por lo que ese acceso no es correcto. El for tampoco está correctamente condicionado. No es len>0, es len>=0, pues existe el índice 0. En C y C++ los índices empiezan por 0 (cosa que haces bien con la variable i).
A parte, no deberías trabajar con 2 variables, principalmente porque una va a ser siempre calculable teniendo la otra (y porque no condicionas en ningún momento la variable 'i')

Luego el tema del +5, pues ya no se a qué viene.
6  Programación / Programación C/C++ / Re: [C++] Importar Remove(); en: 17 Mayo 2015, 16:10
¿Y estás seguro de que se llega a llamar a esa función?
7  Programación / Programación C/C++ / Re: Copiar en archivo frases con varias líneas(renglones)[C] en: 17 Mayo 2015, 16:08
Una vez encontrada la palabra, basta separar la frase por puntos. O por saltos de linea, como quieras hacerlo.
8  Programación / Programación C/C++ / Re: Ordenar una lista alfabeticamente en: 17 Mayo 2015, 14:56
La ventana negra es la consola.
Si hubo un error, y viendo que usas memoria dinámica, intuyo que es por un acceso a memoria mal practicado.

Como dato, estás usando librerias de C y de C++ a la vez. Si les quitas el .h y le pones una 'c' al comienzo, la mayoria serán de C++. ("stdio.h" -> "cstdio")

Mete el código en etiquetas GeSHi.
9  Programación / Programación C/C++ / Re: en: 17 Mayo 2015, 11:35
Un renglón supongo que te refieres a un salto de linea. Eso es el caracter '\n'.
Para leer linea a linea, basta detectar ese caracter mientras lees.
10  Programación / Programación C/C++ / Re: [Aporte] fixedInteger.h en: 17 Mayo 2015, 01:48
400 lineas para convertir un número de string a int es excesivo ·_·

Luego, obviando el uso abusivo de if-else, ten en cuenta que estás comparando strings de 1 caracter. Es más, llamas a una variable string "caracter". Puedes y deberías usar el tipo char.

PD: También existe la función stoi de la librería string (stoi, stoul, stof, ...)
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 172
Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines