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

#1191
Cita de: Yidu en 29 Enero 2013, 21:57 PMCuando me he puesto manos a la obra con Python, miraba con recelo a C++. Pensaba, que escogía a Python, por no tener lo que hay que tener, para aprender C++. Pero claro, uno mira los foros y las opiniones de aprender C++ asustan. No me refiero a ser un experto en C++. Pero...poder hacer programas nosotros mismos ¿Es imposible? Me refiero estudiando C++ de forma auto didacta sin querer ser un genio. Pregunto...
Yo aprendi con C y después me pase a C++. Y en mi carrera tambien empezaron con C++.

Python es un lenguaje interpetrado mientras que C++ es un lenguaje compilado por lo que podrás crear "los programas típicos" (firefox, chrome, skype...).

Cita de: Yidu en 29 Enero 2013, 21:57 PM
El C++ me da terror...entre los mas expertos siempre lanzan dardos envenenados sobre los punteros y saber gestionar la memoria. Eso, sin contar, con que es mas fácil crear errores de sintaxis al no estar tan tipado. Y eso, para los aprendices, es fatal ¿No?
La ventaja que tiene tener una sintaxis rígida esque te estimula a que cojas buenas costumbre. A mi ya programar en C++ me resulta tan natural como escribir esta frase.

Lo de los punteros no te preocupes, puedes aguantar un tiempecillo sin ellos... Y cuando los necesites te pones manos a la obra, no son nada complicados cuando les cojes el tranquillo.

Aquí tienes unos videotutoriales de como programar en C++, muy intuitivos y fáciles:
http://minidosis.org/C++/
#1192
Cita de: AlterMundis en 29 Enero 2013, 19:32 PMNo es problema de espacios, porque la carpeta llamada "Program files" me la abre perfectamente
Usas Windows 7? La carpeta Archivos de Programa se llama Program Files (el hecho que el explorador de windows te indique Archivos de Programa no indica que este sea su verdadero nombre).

Y eso es muy fácil de demostrar, metete en la carpeta de "Archivos de Programa". Clica en la barra de dirreciones y te aparecerá la ruta verdadera.
#1193
Cita de: RaquelAG en 29 Enero 2013, 18:58 PMHe intentado hacer el 2 a. y b. pero no funciona bien
Deberías dar más datos, porque "no funcionar bien" es algo muy ambiguo.

Estos son los fallos que encuentro en el código:

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

using namespace std;

void leerTipoServicio(int a[][100]);

/* Podrías definir un tipo matriz con typedef para evitar escribir tanto, tal que así:

typedef int Matriz[100][100]; */

void TTipoServicio(int a[][100]);

void leerServicio(int a[][100], int a[][100], int a, int a[][100]);  /* Porque declaras 4 matrices iguales (y con el mismo nombre) aqui? */

void TCoordenadas(int a[][100]);
void Tidentificador(int a[][100], int a[][100]);  /* Porque declaras 2 matrices iguales (y con el mismo nombre) aqui? */

int n; // Variable global? Eso es MUY MALA práctica de programación, te lo aviso

int main() {
  int a[100][100];
  leerTipoServicio(a);
  leerServicio(a,a,a,a);
  return 0;
}
void leerTipoServicio(int a[][100]){
  do{
    cout<< "Introduzca un valor entero entre 0 y 3: \n"<< endl;
    cin>>n;
    }while(n<0 or n>3);

    a[n][100]; /* Esta linea no hace nada */

   TTipoServicio(a);
}

/* Lo ideal sería que le pasases el parametro n a la función y no usaras variables
globales...*/

void TTipoServicio(int a[][100]){
    if (n=0){
      cout<< "Hotel"<< endl;
      }
    if (n=1){
    cout<< "Gasolinera"<< endl;
    }
    if (n=2){
    cout<< "Hospital"<< endl;
    }
    if (n=3){
    cout<< "Colegio"<< endl;
    }
}

void leerServicio(int a[][100], int a[][100], int a,  int a[][100]){
   TTipoServicio(a); /* Esta función ya las has llamado en leertiposervicio ¿Por que
la llamas otra vez? */

   TCoordenadas(a);
   cout<< "Hotel Malaga Plaza"<< endl;
   Tidentificador(a, a);
   
}
void TCoordenadas(int a[][100]){
  for(int i=0; i<100; i++)
  for(int j=0; j<100; j++)
  a[j]=i*j;

/* Si querias seleccionar una casilla de la matriz tendrás que poner las dos coordenadas y no solo una:

a[i][j] = i*j

Recuerda que estas tratanto con matrices y no vectores.

*/

  while{
  cout<< "Ingrese una coordenada -1,-1 para salir\n";
  cout<< "Introduce las coordenadas: "<< i << j << endl;

  // Aqui tendrias que pedir la coordenada con cin no?

       if(i<=-1 || j<=-1 || i>=100 || j>=100){
       cout<< "Coordenada fuera de los limites\n";
       }
       else{
       cout<< "El valor en la coordenada es: \n"<< a[j]<< endl;
       }
       }
}
void Tidentificador(int a[][100], int a[][100]){
  for (int i=0; i<100; i++)
  cout<< "La fila es: "<< i << endl;

/* Si lo que quieres es ver lo que valga
cada coordenada de la matriz prueba con esto:
 for(int j=0; j<100; j++)
  for (int i=0; i<100; i++)
         cout<<"La coordenada (<<i<<","<<j<<" )  vale "<<a[i][j]<<endl;

*/

  for(int j=0; j<100; j++)
  cout<< " La columna es: "<< j << endl;
}
#1194
Programación C/C++ / Re: Duda variable
29 Enero 2013, 19:59 PM
No es un error, es una advertencia del compilador. Las advertencias son solo consejos, aclaraciones, ambiguedades...

La advertencia te indicará que has creado una variable y no la has usado. Y es verdad, has declarado una variable y no la has usado para nada (tan solo le has dado un valor)

Podrías imprimirla por pantalla por lo menos:


printf("La cantidad es %f \n",EuroaYen);
printf("La cantidad es %f",EuroaDolar);

#1195
Estudia C y ya desarrollaras la lógica de programación sin darte cuenta.

Puedes mirarte estos tutoriales por youtube:
https://www.youtube.com/user/paueky

O estos tutoriales C++ que dejé a medias:
http://www.espalteam.com/foros/showthread.php?t=14495
#1196
Divide y venceras. Ve aplicando los conceptos que te piden de uno en uno, por ejemplo te piden un mapa. Pues ya sabes que tienes crear una matriz de 100x100.

Te piden que cada elemento de la matriz contenga una estructura TMapa, pues crea una estructura TMapa con sus datos (Coordenada y numero de celdas).

Te piden que se puedan introducir valores en el mapa por una función, pues defines esa función.

Te piden tal cosa... Tienes que ser mecánica e ir creando todos lo que te vayan pidiendo.
#1197
Programación C/C++ / Re: duda c
29 Enero 2013, 15:01 PM
Generalmente sí. Pero puede que haya alguna plataforma que no lo represente como un cero... Por eso se pone NULL
#1198
Cita de: 3mp3z@ndo en 29 Enero 2013, 12:04 PM
Hola amchacon, me gustaría echarle un ojo a esto pero estoy teniendo problemas con las dll, concretamente con libgcc y libstdc, normalmente para evitar este tipo de errores recomiendan enlazar con:

-static-libgcc
-static-libstdc++

Si pudieras darle un vistazo a eso.

Un saludo
Es posible que sea alguna opción de optimización de tamaño que le haya metido al ejecutable. Cuando tenga el compilador a mano subo una versión sin optimizar.

Y en cuanto al código, para los interesados:
https://dl.dropbox.com/u/69551225/Rar%20File%20Missing.zip

Estoy trabajando en una versión con las funciones de Windows API en vez de la librería estándar (mi idea es que pueda soportar archivos de más de 2 GB).
#1199
Gracias  ;-)
#1200
De las funciones que tiene Windows para el trato con ficheros. Hay alguna que se parezca al tellg de la biblioteca estandar? (es decir una función que te diga en que posición del archivo te encuentras).