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 - amchacon

#211
El problema radica en el printf("%g"). No se debe usar el %g para enteros.

Podemos comprobar que retorno es correcto
Código (cpp) [Seleccionar]
#include <stdio.h>

int obtenerNumero(char *operando,int base)
{
  int i,potencia,lon,entero=0,x = 1;
  int num_decimal = 0;
  lon = strlen(operando);
  for(i = lon-1,potencia = 0;operando[i];i--,potencia++)
  {
      /*if(esLetraBase16(operando[i]))
          entero = hexadecimal(operando[i]);
       else*/
         entero = operando[i]-'0';
      num_decimal+= pow(base,potencia)*entero;

      //printf("%g\n",num_decimal);
  }
  //printf("[%d]",num_decimal);
  return num_decimal;
}
int main(){
printf("%d\n",obtenerNumero("65536",10));

return 0;
}


Aunque por eficiencia, yo lo haría sin la función pow (tal y como ha hecho Leo).
#212
Programación C/C++ / Re: \n y endl
19 Marzo 2014, 00:39 AM
Citar'\n' = salto de linea
endl = '\n' + flush

Yo no me preocuparía la vida, usa endl y punto ^^
#213
Programación C/C++ / Re: Duda
18 Marzo 2014, 13:25 PM
Cita de: eferion en 18 Marzo 2014, 08:29 AM
No debes confundir el saber programar en un lenguaje con saber programar.

Haciendo ejercicios de C, aprenderás a programar en C, pero no aprenderás a programar.
Depende del ejercicio, no estoy de acuerdo.

Para programar no es necesario saber como funciona la arquitectura de ordenador, yo puedo programar a alto nivel y despreocuparme de eso.

Lo importante es tener buena capacidad para resolver problemas y familiarizarte con la sintaxis de los lenguajes. Resolver problemas te hará más hábil para resolver otros, el usar C o no es irrelevante.
#214
Programación C/C++ / Re: Ayuda
18 Marzo 2014, 13:22 PM
Yo creo que para eso ya existen configuraciones y programas hechos.
#215
Código (cpp) [Seleccionar]
strData = "\0";

Estas apuntando a una cadena de 2 nulos. La sintaxis correcta sería:
Código (cpp) [Seleccionar]
strData = "";

Pero vamos, eso es irrelevante para los crashs.

#216
En C++ no hace falta poner struct, eso es en C.

Con la sintaxis de new me refería a que no hace falta parentesis:
Código (cpp) [Seleccionar]
ptrPila* q = new nodo;

En cuanto a los parentesis:
Código (cpp) [Seleccionar]
nuevo->naipe.fig = 0;

Mal, fig es un objeto.

PD: Antes de empezar haciendo una pila. Deberías seguir algún tutorial de programación en C++, te faltan las bases del lenguaje.
#217
¿Vienes de Java? Lo digo por esto

Código (cpp) [Seleccionar]
nodoPtr nuevo;
nuevo = new(NODO);


Esto no es valido ya que nuevo no es un puntero. Y aunque lo fuera esa no es la sintaxis del new:
http://www.cplusplus.com/reference/new/operator%20new%5B%5D/

Los objetos pueden crearse de forma local o dinamicamente con punteros. En el primer caso se usa el '.' para adceder a sus miembros, en el otro caso se usa el '->'
#218
Programación C/C++ / Re: Duda
16 Marzo 2014, 21:02 PM
¿Lo estás haciendo aposta para que te hagamos la tarea? :huh:

Vale que los novatos cometen errores, pero esque ahí hay como una línea por error.

De momento:
Código (cpp) [Seleccionar]
cout << "Escriba los numeros: ";
cin >> numeros[num];


No puedes hacer eso, los arrays se escriben valor a valor. Tienes que irlo recorriendo con un for:
Código (cpp) [Seleccionar]
for (int i = 0; i < num;i++)
{
    cin>>numeros[i];
}


Lo mismo con la suma, hay que hacerla elemento a elemento con un for.

Y hasta ahí puedo llegar. Reescribe el código desde cero, probablemente te des cuenta que algunas cosas no concuerdan. Si sigues teniendo dudas postea.

Y repasate los arrays anda :(

Saludos.
#219
Programación C/C++ / Re: Ayuda con programa
16 Marzo 2014, 15:11 PM
Cierto, muy buena observación ^^
#220
Programación C/C++ / Re: [C] Estructuras
16 Marzo 2014, 14:07 PM
Pero si solo has leído los datos :huh:

La formula ya te la escribieron unas líneas atrás...