C/Visual C - mismas listas en 2 Programas distintos

 
Vista:

mismas listas en 2 Programas distintos

Publicado por Adrian (4 intervenciones) el 26/12/2009 14:08:52
Hola muy buenas, resulta que nuestra profesora de programacion nos ha mandado un proyecto de ficheros-listas por asi decirlo... utilizando un menu.
He conseguido como manda la 3 opcion del menu volcar los datos del fichero a listas(un entero y una cadena), hasta ahi todo perfecto, el problema viene cuando la 4 opcion del menu es visualizar una linea (int) de metro y todas sus estaciones (cadena) lo cual no he conseguido hacer.
Resulta que la profesora ha indicado que el el menu y sus "case" en vez de hacerlos con funciones, los hagamos invocando al programa que realiza dicha opcion (system"nombre_del_programa")por asi decirlo es un programa menu que llama a programas aparte que son las opciones de dicho menu).Entonces al realizar la opcion de visualizar la lista introducida por teclado (realizando anteriormente la opcion 3(el volcado de datos del fichero a las listas), la opcion 4 no muestra las estaciones correctamente si no caracteres raros...debido a que una y otra opcion son programas aparte ya que si lo ago en el mismo programa sale perfectamente, (supongo que se muestren caracteres raros al usar la opcion 4 por que la lista creada en la opcion 3 ha desaparacido de memoria).

Mi pregunta es si hay alguna manera de acerlo posible con programas independientes o abria que acerlo en el mismo menu( ya que mi profesora a demas de no explicar este tipo de cosas, siquiera realiza ella misma los programas que manda, se la ocurre un enunciado y ale!! xD a buscarselas uno mismo).

gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:mismas listas en 2 Programas distintos

Publicado por Capitan Kirk (97 intervenciones) el 30/12/2009 18:50:09
Efectivamente, es una extraña forma de hacerlo.

En principio, cuando llamas desde una aplicación a otra mediante system("nueva_aplicacion"), nueva_aplicacion es un programa distinto que no sabe nada acerca de las variables del programa llamador, por lo que es lógico que presente resultados extraños.

A falta de más detalles, lo que se me ocurre es hacer algo así como esto:

// Codigo del programa...
system("nueva_aplicacion nombre_fichero_datos");

es decir, pasar el nombre del archivo de datos como parámetro de línea de comando al nuevo programa. En el nuevo programa tendríamos:

// Declaraciones...
int main(int argc, char **argv)
{
FILE *archivo;

archivo = fopen(argv[1], "r");
// Leer y procesar archivo...
}

Lógicamente, hay que añadir las declaraciones y comprobaciones correspondientes.

Quizá parezca una chapuza innoble, ni siquiera sé si funcionaría (nunca he probado algo así), pero es lo único que se me ocurre a partir del problema tal como se ha planteado aquí y a falta de más detalles.

Espero que sirva de ayuda. Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar