|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - i82maria
76
« en: Domingo 6 de Junio de 2004, 01:12 »
Es que no entiendo para que sirve la condicion de que sea menor de 3 años... que quieres exactamente que haga cuando es menor? En el codigo original no es k no salga del bucle, es k sale del primer while, pero no del segundo (el de feof). ¿podrias especificar lo k pretendes al controlar lo de los tres años? Verás lo que pretendo es poner alguna condición de salida,para que en un momento dado deje preguntar datos, los meta en el fichero binario. Y se guarden bien. Me inventé lo de los 3 años, porque como son 3 años de carrera, pues solo pueden como minimo debian llevar 3 años, porque la practica pone que son 3 años lectivos. En fin, era por poder salir del bucle. Gracias
77
« en: Sábado 5 de Junio de 2004, 14:32 »
Hola
float ***M; int i, j, k; int tamaño;
la forma de pedir memoria seria asi
**M=(int *)malloc(sizeof(float)*i); for(j=0;j<i;j++) { *M[j]=(int *)malloc(sizeof(int)*d[j].numero_anyo); for(k=0;k<d[j].numero_anyo;k++) M[j][k]=(int*)malloc(sizeof(int)*5); }
donde i es la cantidad de alumnos
y para liberar la memoria seria
for(j=0;j<i;j++) { for(k=0;k<d[j].numero_anyo;k++) free(M[j][k]); free(*M[j]); } free(**M);
y para ver la nota de algun alumno
seria algo asi:
M[0][0][0]//la nota de la primera asignatura del primer periodo del primer alumno
M[5][2][3]//la nota de la cuarta asignatura del tercer periodo del sexto alumno
espero que esto te aclara algunas dudas
cualquier cosa estoy para servirte........ Muchas gracias, por todo lo que me stás ayudando, pero pasando a float, lo que me dijiste, la manera de reservar la matriz podria ser esta?. float ***reservaMatriz(int a, int b, int c) { float ***M; int i, j; M =(float ***)malloc(a*sizeof(float**)); for(i=0; i<a; i++) M = (float**)malloc(b*sizeof(float*)); for(j=0;j<b;j++) M[j] = (float *)malloc(c*sizeof(float)); return M; } Por fa, cuando puedas me lo miras a ver si está bien. Gracias
78
« en: Sábado 5 de Junio de 2004, 14:19 »
He estado mirando tu codigo, y tu problema es k cuando es menor de 3 años, se sale del primer bucle, pero como tienes otro while mas abajo que controla el fin de fichero pues vuelve a empezar. Otra cosa que e visto es k si introduces unos datos en los que la persona tiene mas de 3 años no guarda los datos en el fichero, y te vuelve a pedir apellidos y demas, no creo k sea eso lo que pretendes.
Lo de controlar el fin de fichero no te hace falta a la hora de escribir, solo cuando kieras leer el fichero. En vez de controlar si es fin de fichero, haz algo asi:
printf("¿Quiere introducir otra persona? (s/n):"); }while(getchar!='n');
No se si es algo asi lo k pretendes de todas formas espero servirte de ayuda
Hola de nuevo, te refires a una cosa asi: #include<stdio.h> #include<string.h> #include<ctype.h> #include<conio.h> #define TAMANYODNI 10 struct alumno { char DNI[10]; char nombre[25]; char apellidos[50]; int numero_agno; }; typedef struct alumno DATOSALUMNO; main() { FILE *fp; FILE *ficbin; DATOSALUMNO d; char car; char dni[10]; int i; char nombre[25]; char apellidos[50]; int numero_agno; if((fp=fopen("alumnos.txt", "r"))== NULL) { printf("El fichero alumnos.txt no existe\n"); //abrimos el fichero texto para lectura getch(); return -1; } if((ficbin =fopen("alumnos.bin", "wb"))== NULL) { printf("El fichero no se puede crear\n"); //abrimos el fichero texto para lectura getch(); return -1; } do { while((car = fgetc(fp)) != '\n') /*se lee del fichero texto*/ { if(isspace (car) == 0) //si c es un espacio en blanco /*car == " ") si c es un espacio en blanco*/ { do{ for(i = 0; i<TAMANYODNI; i++) { dni = fgetc(fp); } strcpy(d.DNI, dni);
printf("Introduzca los Apellidos: "); gets(apellidos); fflush(stdin); printf("Introduzca el Nombre: "); gets(nombre); fflush(stdin);
printf("Introduzca el Numero de años: "); scanf("%d",&numero_agno); fflush(stdin);
/* }while(numero_anyo>3);*/ strcpy(d.nombre, nombre); strcpy(d.apellidos, apellidos); d.numero_agno = numero_agno; }while(numero_agno >= 3);
fwrite(&d, sizeof(DATOSALUMNO), 1, ficbin); }//cierre del if } //cierre del while printf("\n¿Quiere introducir otra persona\n"); }while(getchar() != 'n');
fclose(ficbin); fclose(fp); return 0; }
Pues es que sigo sin entender porque no se sale bien del bucle, cuando el numero de años es menor de 3. Gracias.Espero tu respuesta.
79
« en: Sábado 5 de Junio de 2004, 13:04 »
He depurado tu programa, parando la ejecución en la línia 34
if((fp=fopen("alumnos.txt", "r"))== NULL)
veo que como el fichero alumnos.txt no existe, te escribe el mensaje
printf("El fichero alumnos.txt no existe\n");
y luego salta a final del programa con return -1;
Si pones un getche(); después de cada printf, el programa esperará a presiones una tecla y te dará tiempo a visualizar los mensajes. Eso, o aprender a leer ultrarápidamente
Un saludo. Hola muchas gracias, por responderme, pero tengo otro problema, ahora en el dev cpp, uno el archivo alumnos.txt, pero no me lo reconoce, asi que cuando compilo el programa y ejecuto, me sale. que el archivo alumnos.txt, no existe. Como debo linkarlo el archivo alumnos.txt, para que la práctica me funcione?. Muchas gracias, por ser tan amable conmigo.Me estás ayudando mucho. Gracias. Espero tu respuesta para cuando puedas. Ya acabo de solucinar ese problema, pero sigue sin ejectarme bien. Debe de salirse del programa, cuando el numero_agno, sea menor de 3. Por favor, te mando de nuevo el codigo que tengo y me dices, porque no sale. Vale. DE NUEVO muchas gracias.
80
« en: Sábado 5 de Junio de 2004, 13:01 »
...un getche();... supongo que habra sido un error pero es getch(); no getche(); y otra cosa para usar getch() debes incluir un #include <conio.h> al principio del codigo (que supongo k tambien se sabe, pero por si alguien no lo sabe) Hola muchas gracias, por responderme, pero tengo otro problema, ahora en el dev cpp, uno el archivo alumnos.txt, pero no me lo reconoce, asi que cuando compilo el programa y ejecuto, me sale. que el archivo alumnos.txt, no existe. Y se sale. Por favor, respondeme si sabes como debo hacerlo. Gracias
81
« en: Martes 1 de Junio de 2004, 13:36 »
Esto que puse antes, ya lo tengo resuelto, muchas gracias, por la ayuda qye me habeis prestado todos.
82
« en: Martes 1 de Junio de 2004, 12:59 »
Hola.
Entra en la web oficial Downloads y descarga e instala la versión 4.9.8.0.
A continuación descargate el parche para aumentar a la versión 4.9.8.9, de la sección llamada Latest update : version 4.9.8.9.
Un saludo.
Ruben3d Gracias por tu ayuda, yo me bajo el programa version 4.9.8.0, y luego una vez lo tengo instalado que hago?. Me bajo lo otro. Pero como lo actualizo?. Saludos Gracias por tu ayuda ya lo logré. Un saludo Mercedes
83
« en: Martes 1 de Junio de 2004, 12:48 »
Yo siempre utilizo fprintf para escribir en los archivos ya que asi les doy el formato que yo desee
Lo otro que deseaba preguntarte es que datos eran los que guardas en la matriz de tres dimensiones y si se podria utilizar nodos en vez de matrices.
Espero tu respuesta gracias..... Verás en la matriz se debe guardar, en la primera dimensión el número identificativo de los alumnos, en la segunda el curso al que pertenecen, (que es de 1 a 3), y en la tercera respresenta una asignatura concreta (de 5 que hay). Entoncs sabemos que la matriz será M [][3][5], más o menos. Entonces en la matriz se meten estos datos, para calcular las calificaciones de cada alumno, en cada curso y por cada asignatura. Espero que esto te ayude a enteder un poco más el problema. Gracias a ti, por toda la ayuda que me estás prestando. Saludos
84
« en: Martes 1 de Junio de 2004, 12:44 »
Hola la forma de hacr la matriz de 3 dimensiones seria algo asi
int ***M; int i, j; int tamaño;
M=(int ***) malloc (tamaño);
for(i=0; i< tamaño; i++) M=(int **) malloc(tamaño);
for(i=0; i< tamaño; i++) for(j=0; j< tamaño; j++) M[j]= (int *) malloc(tamaño);
y asi obtienes una matriz de tres dimensiones de tipo entero.
espero que te sirva. Gracias por tu respuesta, eres muy amable, me es de gran ayuda. Y ahora para acceder a ella, como lo haria?. Porque verás se trata de una matriz tridimensional que gestiona la calificacion de los alumnos que están en tres cursos lectivos, la primera dimensión se refiere a los alumnos(numero identificativo de los alumnos), la segunda representa el curso en el que están (1 a 3), y la tecera representa una asignatura concreta de las 5 posibles. Entonces me piden obtener la califiaciónd e cada alumnos, en cada curso y por cada asignatura. Yo quisiera saber si a la hora de reservar la memoria, en este caso seria: M = (float ***)malloc(a*b*c*sizeof(float)); porque a, b, c son las tres dimensiones. Pero como hago para obtener la nota, seria una cosa asi? *(M +a *b*c+b*c+c) = nota; Por favor, contestame en cuanto puedas. Un saludos Mercedes
85
« en: Martes 1 de Junio de 2004, 12:32 »
Hola.
Entra en la web oficial Downloads y descarga e instala la versión 4.9.8.0.
A continuación descargate el parche para aumentar a la versión 4.9.8.9, de la sección llamada Latest update : version 4.9.8.9.
Un saludo.
Ruben3d Gracias por tu ayuda, yo me bajo el programa version 4.9.8.0, y luego una vez lo tengo instalado que hago?. Me bajo lo otro. Pero como lo actualizo?. Saludos
86
« en: Lunes 31 de Mayo de 2004, 22:01 »
Hola mira el .cpp o .c son cosas de uso de intrucciones, pero el que te envie es en C.
te lo explico a continuacion: Esta es tu estructura que la utilize como la tenias tu
#include<stdio.h> #include<string.h> #include<ctype.h> #include<conio.h> #include<malloc.h>
struct alumno {
char DNI[11]; char nombre[25]; char apellidos[50]; int numero_anyo;
}; typedef struct alumno DATOSALUMNO;
Aqui pregunto si el Archivo Alumnos.txt existe
void main(void) {
FILE *fp; FILE *ficbin; DATOSALUMNO *d; char dni[10]; int i,j;
textcolor(WHITE); textbackground(BLUE); clrscr(); if((fp=fopen("alumnos.txt", "r"))== NULL)//abrir fichero { printf("El fichero alumnos.txt no existe\n"); getch(); return ; } Si existe lo leeo y se guarda en la estructura que definimos arriba, y en la linea del malloc creo el arreglo dinamico. y si no entiendes lo del fseek es una funcion para posicionarce dentro del archivo y lo utilizo para ponerlo al comienzo despues de recorrerlo
else { i=0; while(!feof(fp))//cuenta cuantos alumnos hay en el archivo { fscanf(fp, "%d %s", &j, dni); i++; } d=(DATOSALUMNO*)malloc(sizeof(DATOSALUMNO)*i);//crea un areglo para guardar a los alumnos fseek(fp, 0L, SEEK_SET); for(j=0;j<i; j++)//limpia ese arreglo { d[j].DNI[0]='\0'; d[j].nombre[0]='\0'; d[j].apellidos[0]='\0'; d[j].numero_anyo=0; } i=0; while(!feof(fp))//coloca los datos del archivo en el arreglo { fscanf(fp, "%d %s", &j, d.DNI); i++; } } fclose(fp); y aca se comienza a pedir los datos de los alumnos y se van guardando en el archivo Alumnos.bin, y el fflush se utiliza para limpiar el cache del sistema en este caso el de ingreso por eso lleva el (stdin), ya que al utilizar gets y scanf se tienden a saltar ingresos por eso hay que limpiarlo con el fflush.
ficbin=fopen("Alumnos.bin", "wb"); for(j=0;j<i;j++)//pide los datos restantes { clrscr(); fflush(stdin); printf("Datos del alumno con DNI : %s\n\n", d[j].DNI); printf("Introduzca los Apellidos : "); gets(d[j].apellidos); printf("\n"); printf("Introduzca el Nombre : "); gets(d[j].nombre); printf("\n"); printf("Introduzca el Numero de a¤os: "); scanf("%d",&d[j].numero_anyo); fprintf(ficbin,"%s %s %s %d \n",d[j].DNI,d[j].apellidos,d[j].nombre,d[j].numero_anyo);//guarda los datos en archivo binario } fclose(ficbin); free(d); return; }
Cualquier duda que tengas dimelo no mas, tratare de responderte lo mas claro posible.
Gracias.... Muchas gracias por tu ayuda, pero hay algunas sentencias que no las uso yo, si se debe de escribir en el fichero binario, porque usas fprintf, porque una vez se han leido los datos de teclado, se pasan todos al fichero binario, y de ahi empieza a crear la matriz tridimensional. Gracias, por toda la ayuda que me estás prestando. Seguiremos en contacto. Saludos Mercedes
87
« en: Lunes 31 de Mayo de 2004, 21:35 »
Alguien sabe donde puedo bajarme una buena version, del programa Dev Cpp. Es que yo tengo la versión 4.9.8.0 pero desde hace unas semanas, no sé porqie el programa no me compilar, quisiera saber si alguien me puede ayudar, por favor, es muy urgente. Muchas gracias.
88
« en: Lunes 31 de Mayo de 2004, 19:31 »
Si queres el vector inicializado de esa forma podrias utilizar directamente cmalloc. Perdona, pero te insisto que la practica es en lenguaje C, con lo cual, no me vale en C++. De todos modos muchsa gracias.
89
« en: Lunes 31 de Mayo de 2004, 18:57 »
Hola otra vez
Ahi te mando un codigo que te servira para abrir el archivo y guardar los datos que necesitas, solo faltan las notas, espero que te sirva. Muchas gracias por tu ayuda, eres muy amable, pero no entiendo muy bien el codigo, es que es muy diferente al mio. Me podrías decir, que le falta al mio, y explicarme un poco el tuyo.Por cierto, la practica es en lenguaje c, lo digo porque como el archivo tiene extensión, .cpp. Bueno, muchas muchas gracias, por tu ayuda, eres el primero que me ayuda tanto, desde que estoy en el foro. Saludos Mercedes.
90
« en: Sábado 29 de Mayo de 2004, 17:24 »
Hola Segun lo que estuve revisando, si no esta el fichero no hace nada, (por los return -1, que hacen que se salga solo), por eso queria ver si tienes un archivo de ejemplo. lo otro es que si no existe el fichero trata igual de ller desde el, por lo tanto pondria esos ciclos dentro del if que pregunta si existe o no el archivo o como un else. tb, preguntas por un .txt para abrir y luego creas un .bin. si puedes explicarme mejor tu idea te ayudaria mas.
Gracias por responderme,aqui te mando el enunciado de la practica q tengo q hacer.Ahora voy a domir la siesta,luego cuando me conecte vere si me has contestado,y te sigo explicando,muchas gracias por tu ayuda. Saludos Mercedes
91
« en: Viernes 28 de Mayo de 2004, 19:40 »
Hola, vale ya entendí un poco más el problema.
He encontrado varios fallos:
1-
en esta condición:
... while((car = fgetc(fp) != '\n')) /*se lee del fichero texto*/ { ...
colocas los parentesis juntos (uno te sobraria) y lo que haces es meter en car, el resultado de la evaluación fgetc(fp) != '\n' que solo puede ser 0 si es falsa o 1 si es cierta.
¿entiendes?
deberias escribirlo:
... while((car = fgetc(fp)) != '\n') /*se lee del fichero texto*/ { ...
2-
Después, cuando entras en el bucle
do{ printf("Introduzca los Apellidos: "); gets(apellidos); printf("\n"); printf("Introduzca el Nombre: "); gets(nombre); printf("\n"); printf("Introduzca el Numero de años: "); scanf("%d",&numero_anyo); strcpy(d.nombre, nombre); strcpy(d.apellidos, apellidos); d.numero_anyo = numero_anyo; fwrite(&d, sizeof(DATOSALUMNO), 1, ficbin); }while(numero_anyo >=3);
no sales de aqui hasta que numero_anyo es menor que 3. de forma que si lee el primer dni y es correcto estaria pidiendo datos hasta que numero_anyo fuera menor de 3 sin leer ningún dni más ¿entiendes? el do deberia estar antes de leer el dni y la llave que cierra el if más abajo.
3-
Por ultimo.
lo que tienes que esperar es el fin del fichero alumnos.txt que es del que lees y no del .bin
osea que seria:
en vez de
.
Con esto el programa ya funcionaria más o menos.
otra cosa:
yo no habia oido hablar de la función isspace asique la cambie por
Otra cosa, si en el archivo colocas algun espacio despues del dni en vez de directamente un salto de linea te da error. Deberias buscar una forma mejor de leer los caracteres del fichero alumnos.txt Por supuesto no te voy a enviar el codigo corregido.
creo que tienes mucho que aprender aun. tanto como yo:hitcomp:
Pero para cualquier consulta preguntame que tratare de ayudarte
Suerte.
Gracias por tu ayuda,pero sigue sin salirme, veras ahora el codigo queda asi. #include<stdio.h> #include<string.h> #include<ctype.h> #define TAMANYODNI 10 struct alumno { char DNI[10]; char nombre[25]; char apellidos[50]; int numero_anyo; }; typedef struct alumno DATOSALUMNO; main() { FILE *fp; FILE *ficbin; DATOSALUMNO d; char car; char dni[10]; int i; char nombre[25]; char apellidos[50]; int numero_anyo; if((fp=fopen("alumnos.txt", "r"))== NULL) { printf("El fichero alumnos.txt no existe\n"); //abrimos el fichero texto para lectura return -1; } if((ficbin =fopen("alumnos.bin", "wb"))== NULL) { printf("El fichero no se puede crear\n"); //abrimos el fichero texto para lectura return -1; } do { while((car = fgetc(fp)) != '\n') /*se lee del fichero texto*/ { if(isspace (car) == 0) //si c es un espacio en blanco /*car == " ") si c es un espacio en blanco*/ { do{ for(i = 0; i<TAMANYODNI; i++) { dni = fgetc(fp); } strcpy(d.DNI, dni);
printf("Introduzca los Apellidos: "); gets(apellidos); fflush(stdin); printf("Introduzca el Nombre: "); gets(nombre); fflush(stdin);
printf("Introduzca el Numero de años: "); scanf("%d",&numero_anyo); fflush(stdin);
/* }while(numero_anyo>3);*/ strcpy(d.nombre, nombre); strcpy(d.apellidos, apellidos); d.numero_anyo = numero_anyo; }while(numero_anyo > 3); fwrite(&d, sizeof(DATOSALUMNO), 1, ficbin); }//cierre del if } //cierre del while }while(!feof(fp));
fclose(ficbin); fclose(fp); return 0; }
No toma la condición del while.En fin,sé que no me puedes hacer el código y lo comprendo,pero si me puedes dar alguna idea,te lo agradezco.Ahora no puedo seguir,porque tengo que hacer unas cosas.Mañana seguiré.Muchas gracisa
92
« en: Viernes 28 de Mayo de 2004, 19:15 »
Hola, vale ya entendí un poco más el problema.
He encontrado varios fallos:
1-
en esta condición:
... while((car = fgetc(fp) != '\n')) /*se lee del fichero texto*/ { ...
colocas los parentesis juntos (uno te sobraria) y lo que haces es meter en car, el resultado de la evaluación fgetc(fp) != '\n' que solo puede ser 0 si es falsa o 1 si es cierta.
¿entiendes?
deberias escribirlo:
... while((car = fgetc(fp)) != '\n') /*se lee del fichero texto*/ { ...
2-
Después, cuando entras en el bucle
do{ printf("Introduzca los Apellidos: "); gets(apellidos); printf("\n"); printf("Introduzca el Nombre: "); gets(nombre); printf("\n"); printf("Introduzca el Numero de años: "); scanf("%d",&numero_anyo); strcpy(d.nombre, nombre); strcpy(d.apellidos, apellidos); d.numero_anyo = numero_anyo; fwrite(&d, sizeof(DATOSALUMNO), 1, ficbin); }while(numero_anyo >=3);
no sales de aqui hasta que numero_anyo es menor que 3. de forma que si lee el primer dni y es correcto estaria pidiendo datos hasta que numero_anyo fuera menor de 3 sin leer ningún dni más ¿entiendes? el do deberia estar antes de leer el dni y la llave que cierra el if más abajo.
3-
Por ultimo.
lo que tienes que esperar es el fin del fichero alumnos.txt que es del que lees y no del .bin
osea que seria:
en vez de
.
Con esto el programa ya funcionaria más o menos.
otra cosa:
yo no habia oido hablar de la función isspace asique la cambie por
Otra cosa, si en el archivo colocas algun espacio despues del dni en vez de directamente un salto de linea te da error. Deberias buscar una forma mejor de leer los caracteres del fichero alumnos.txt Por supuesto no te voy a enviar el codigo corregido.
creo que tienes mucho que aprender aun. tanto como yo:hitcomp:
Pero para cualquier consulta preguntame que tratare de ayudarte
Suerte.
Hola muchas gracias,acabo de verlo,y antes de probarlo,queria agradecerte, las molestias.Voy a probarlo, y ahora te digo,el resultado. Saludos Mercedes
93
« en: Viernes 28 de Mayo de 2004, 13:59 »
Hola buenas, el codigo es, este no se donde me da error, el programa no me compila bien.Tengo que escribir en una matriz tridimensional los datos de alumnos, junto con los cursos y asignaturas.
#include<stdio.h> #include<string.h> #include<ctype.h> #include<conio.h>
struct alumno {
char DNI[10]; char nombre[25]; char apellidos[50]; int numero_agno; }; typedef struct alumno DATOSALUMNO;
main() {
FILE *fp; FILE *ficbin; DATOSALUMNO *d; char car; char dni[10]; int i,j,k,a; char nombre[25]; char apellidos[50]; int numero_agno;
if((fp=fopen("alumnos.txt", "r"))== NULL) { printf("El fichero alumnos.txt no existe\n"); //abrimos el fichero texto para lectura getch(); return -1; } else { i= 0; while(!feof(fp))//cuenta cuantos alumnos hay en el archivo { fscanf(fp, "%d %s", &j, dni); /*j sera para el numero identificativo*/ i++; /*i cuenta las filas*/ } d = (DATOSALUMNO*)malloc(sizeof(DATOSALUMNO)*i); // crea una estructura de //tipo puntero //para guardar los alumnos fseek(fp, 0, SEEK_SET); //posiciona el puntero for(j=0; j<i; j++) //inicializa la estructura a 0 { d[j].DNI[0] = '\0'; d[j].nombre[0] = '\0'; d[j].apellidos[0] = '\0'; d[j].numero_agno = '\0'; } i = 0; /*cuenta las filas*/ while(!feof(fp)) //coloca los datos en la estructura { fscanf(fp, "%d %s", &j, d.DNI); i++; } fclose(fp); if((ficbin =fopen("alumnos.bin", "wb"))== NULL) { printf("El fichero no se puede crear\n"); //abrimos el fichero texto para lectura getch(); return -1; } else { for(j=0;j<i;j++)//pide los datos restantes { system("clear"); fflush(stdin); printf("Datos del alumnos con DNI: %s\n\n",d[j].DNI); printf("Introduzca los Apellidos: "); gets(d[j].apellidos); fflush(stdin); printf("Introduzca el Nombre: "); gets(d[j].nombre); fflush(stdin); printf("Introduzca el Numero de años: "); scanf("%d",&d[j].numero_agno); fflush(stdin); fwrite(&d, sizeof(DATOSALUMNO), 1, ficbin); /*guarda los datos en un archivo binario*/ }
} fclose(ficbin); free(d);
}
float ***M; **M=(float *)malloc(sizeof(float) *a);
(for j =0; j<a; j++) { *M[j] = (float)malloc(sizeof(float)*3); for(k=0; k<d[j].numero_agno; k++) M[j][k]=(float*)malloc(sizeof(float)*5); } /*i es la cantidad de alumnos M[3][5]*/ /*M[5][2][3] seria la 4ºasignatura del 3º año del sexto alumno*/
Por favor,si alguien puede ayudarme, se lo agradeceria mucho. Saludos Mercedes
94
« en: Jueves 27 de Mayo de 2004, 13:21 »
El mejor consejo que te puedo dar es que lo desinstales, reinicies tu PC y vuelvas a instalarlo.......si los problemas continuan.....pues espero que alguien sepa la respuesta......porque yo nunca he tenido problemas.
En el todo caso, trata de bajarte la última versión.
Saludos,
Blag Hola, yo ya me he bajado, tengo la version 4.9.8.0, y de verdad, antes me funcionaba, y ahora no sé porque no me funciona, si conoces de alguien, o algo por favor, dimelo. Ok?. Gracias
95
« en: Jueves 27 de Mayo de 2004, 00:30 »
Hola, tengo un problema con el programa Dev Cpp, no me compila y me da un error que dice unable to run program file
Antes me funcionaba bien, pero ese error, me da desde hace una semana. Y no se muy bien porque pasa eso.Por favor, si alguien lo sabe, que me lo diga, que me hace mucha falta, ese programa. Porque soy estudiante de informatica, y necesito el compilador, para hacer mis practicas. Muchas gracias. Saludos Mercedes
96
« en: Jueves 27 de Mayo de 2004, 00:25 »
Podrias decirme que formato tiene el fichero alumnos.txt?
no entiendo muy bien el bucle del
se supone que el EOF se le marcas tú ¿no?
¿no estas esperando a que llegue?
mandame el fichero alumnos.txt y le hecho un vistazo haber si puedo ayudarte
saludos Hola, mira aqui te mando el enunciado de la practica, asi lo entenderas mejor. Vale?. Gracias por tu ayuda.
97
« en: Martes 25 de Mayo de 2004, 20:58 »
vas mal
memset sirve para llenar un area de memoria con repeticiones de nu valor especifico.
mejor has un pequeño ejercicio con lo del vector bidimencional que te coloque en el post de teleport media y maneja solo alumnos y cursos... una vez lo tengas hecho ampliale la funcionalidad a 3 dimensiones incluyendo materias.
fijate en el codigo del post.. va uno tras otro solo que lo separe para explicar cada parte.
sigue intentandolo animo!!! Hola Juan, aqui estoy de neuvo, lo sigo intentando, y ahora entre unos apuntes de clase, y lo que me dijiste obtengo esto. Por favor dime si es´ta bien. Gracias float ***reservaMatriz(int a, int b, int c) { float ***M; int i, j; M =(float ***)malloc(a*sizeof(float**)); for(i=0; i<a; i++) M = (float**)malloc(b*sizeof(float*)); for(j=0;j<b;j++) M[j] = (float *)malloc(c*sizeof(float)); return M; }
98
« en: Martes 25 de Mayo de 2004, 19:43 »
Hola, tengo un programa llamado Dev Cpp, q es el q todo el mundo recomienda para usar como compilador de C.pues bien,desde hace unos dias, cuando le doy al compilar,abajo, me aparece un errro,que pone:
unable to run program file
Estoy un poco agobiada,porque no sé porque antes si compilaba y ahora no.
Si alguien puede ayudarme,se lo agradeceria,estudio informatica, y necesito un compilador de C,para mis practicas.
Gracias
99
« en: Martes 25 de Mayo de 2004, 18:20 »
ok.. por cierto que el codigo que colocaste antes no sirve. Hola juan,seria algo parecido,a esto: /*MATRIZ TRIDIMENSIONAL*/ float ***M; /*reservamos memoria*/ m =(float***)malloc(sizeof(float**)*a*b*c)); for(k=0;k<c;k++) { for(j=0;j<b;j++) { for(i=0;i<a;i++) { m[a] [c]='\0'; } } }
a =identificador del alumno b = curso c =asignatura
La nota se haria asi? *(m + a*b*c+ b*c +c) = nota
Pero,una cosa,el memset,no lo conozco pa q sirve exactamente?. Porfa,dime si voy por buen camino.Para poder empezar a averiguar las calificaciones de cada alumno.Gracias Saluods
100
« en: Martes 25 de Mayo de 2004, 17:25 »
http://teleportmedia.com/foro/viewtopic.php?t=223 revisa el link por favor.. solo si entiendes como hacer una matriz bidimensional dinamicamente podras intentar hacer una de tres dimeniones.. si aprendes y entiendes lo que esta en el link hacer en 3 dimensiones es pan comido. Te podria hacer todo el codigo yo, y te garantizo que no me tardaria mas de 15 minutos siendo exagerado, pero no acostumbro a hacerlo, es mejor que aprendas con tu esfuerzo, porque si te dan todo el codigo hecho te garantizo que no aprenderas nada. Bueno gracias,de momento,voy a mirar de nuevo,el codigo q me dices de la matriz bidimensional,y una vez lo haya hecho te lo mando,para qe me digas si está bien.Para mi es muy importante conseguir hacer esta practica,y me gustaria mucho aprender,por eso estoy contenta desde que me apunté a este foro.Muchas gracias,por tu consejo,en cuanto lo tenga te lo mando. Saludos
|
|
|