|
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.
Temas - i82maria
26
« 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.
27
« 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
28
« 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
29
« 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
30
« en: Domingo 23 de Mayo de 2004, 14:51 »
Hola, tengo un problema con el bucle do-while en C, quisiera que si alguien puede mirar el siguiente codigo, me diga si sabe donde está el error, porque no me funciona la condición de salida del bucle.
#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*/ { for(i = 0; i<TAMANYODNI; i++) { dni = fgetc(fp); } strcpy(d.DNI, dni); }/*cierre del if*/ } /*cierre del while*/ 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); /* }cierre del while*/ }while(!feof(ficbin));
fclose(ficbin); fclose(fp); }
Mi intención es que el bucle se salga cuando el numero_anyo sea menor de 3, y lo escriba en el fichero binario.Puesto que como minimo el alumno debe estar tres años en la carrera ya que es una carrera de tres años. Bueno, pues eso,si alguien es tan amable de echarme una manilla, por favor, que responda. Muchas gracias. Saludos desde Andalucia
31
« en: Domingo 23 de Mayo de 2004, 04:09 »
El do - while, se puede utilizar una variable entera como condición de salida?. Es que a mi no me funciona este codigo.
#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*/ { for(i = 0; i<TAMANYODNI; i++) { dni = fgetc(fp); } strcpy(d.DNI, dni); }/*cierre del if*/ } /*cierre del while*/ 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 !=0); /* }cierre del while*/ }while(!feof(ficbin));
fclose(ficbin); fclose(fp); }
Lo que pretendo es que me presente los datos de arriba por pantalla, hasta que le meta un numero de años menor de 3, entonces se pare. Y esos datos los meta en un fichero binario. Si alguien me puede ayudar, por favor,que lo haga es para un trabajo de fin de curso,de carrera.Para aprobar la asignatura de programacion. Gracias
32
« en: Sábado 22 de Mayo de 2004, 21:50 »
Bueno, aqui pongo el codigo, a ver si alguien me puede ayudar, porque me compila pero no me hace lo que necesito. EL codigo es este #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*/ { for(i = 0; i<TAMANYODNI; i++) { dni = fgetc(fp); } strcpy(d.DNI, dni); }/*cierre del if*/ } /*cierre del while*/ 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 !=0); /* }cierre del while*/ }while(!feof(ficbin));
fclose(ficbin); fclose(fp); }
Necesito que me pregunte por pantalla los datos, y me los meta en el fichero binario, y no lo consigo., Por favor,si alguien puede echarme una mano, se lo agradeceria, en ese caso, aqui pongo el codigo de la practica, por si alguien puede echarme una mano. Venga gracias.
33
« en: Domingo 16 de Mayo de 2004, 22:46 »
#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*/ { for(i = 0; i<TAMANYODNI; i++) { dni = fgetc(fp); } strcpy(d.DNI, dni); }/*cierre del if*/ } /*cierre del while*/ 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); /* }cierre del while*/ }while(!feof(ficbin));
fclose(ficbin); fclose(fp); }
El codigo es este, me compila, pero no me hace lo que quiero. Quiero que me pide por teclado los datos, del alumno, y los meta en un fichero binario. La condicion de salida del do-while,es q el numero de años introducido,cuando sea menor de 3 se salga. Eso es lo que pretendo,pero no lo consigo. Si alguien me puede ayudar, que vea este codigo, y me escriba a mi correo. Gracias, ruego me contesten lo antes posible
34
« en: Domingo 16 de Mayo de 2004, 20:49 »
El problema que tengo es el siguiente, tengo un fichero texto Alumnos.txt, en el que tiene el siguiente aspecto: 1 30957703 2 45698567 3 56985687 Es decir, el primer campo, son el numero identificativo de un alumno, y el segundo campo es el dni. Pues bien, se necesita crear un fichero binario,alumnos.bin, que deberá recoger el dni del fichero texto alumnos.txt, y preguntar al usuario apellidos, nombre y numero de años.
#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*/ { for(i = 0; i<TAMANYODNI; i++) { dni = fgetc(fp); } strcpy(d.DNI, dni); }/*cierre del if*/ } /*cierre del while*/ 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 !=0); /* }cierre del while*/ }while(!feof(ficbin));
fclose(ficbin); fclose(fp); }
Por favor, si alguien lo sabe, que me lo diga, que lelvo todo el fin de semana, con el dichoso programa. Y estoy muy agobiada. Gracias
35
« en: Domingo 16 de Mayo de 2004, 20:22 »
Hola a todos, necesito ayuda, porque tengo que hacer una práctica en lenguaje de Programación C, que se trata de una matriz dinámica tridimensional , la primera dimensión está reservada para los alumnos, la segunda dimensión representa un curso concreto, y la terecera representa una asignatura. Todo esto es, porque se desean guardar calificaciones de alumnos, que cursan una titulación de 3 años lectivos. Y a raiz de estos datos, tengo que averiguar las calificaciones de cada alumno, en cada curso, y en cada asignatura. Si alguien quiere o puede ayudarme a comenzar la practica, es que no tengo mucha idea de matriz tridimensional, y una vez la utilice para averiguar las calificaciones de cada alumno,en cada curso, y en cada asignatura, entonces podré iniciar la practica. Si alguien está interesado en seguir ayudandome a elaborar la practica, pues que lo diga, y le envio el enunciado de la misma. Muchas gracias.Saludos i82maria
36
« en: Sábado 15 de Mayo de 2004, 01:43 »
Por favor, si alguien me puede ayudar, que lea mis peticiones de antes. Y me conteste a mi correo. Necesito pasar de un fichero texto, en el se almacena un numero identificador, y el dni, de una serie de alumnos. Tengo que recoger el DNI, de ese fichero texto, y crear un fichero binario a partir del fichero texto, cogiendo el DNI del fichero texto, y pasandolo al binario. Pero no sé como hacerlo. El fichero texto tiene este aspecto. 1 30458985 2 25698896
Es decir, se me ha ocurrido una cosa asi:
FILE *fp; FILE *ficbin; DATOSALUMNO d; char car; char dni[10]; int i;
if((fp=fopen("alumnos.txt", "r"))== NULL) { printf("El fichero alumnos.txt no existe\n"); //abrimos el fichero texto para lectura exit(1); } if((ficbin =fopen("alumnos.bin", "wb"))== NULL) { printf("El fichero no se puede crear\n"); //abrimos el fichero texto para lectura exit (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*/ { for(i = 0; i<10; i++) { car = fgetc(fp); } strcat(dni, car); /*PERO AQUI EL COMPILADOR ME DA UN ERROR, PORQUE NO ME DEJA*/ /*CONCATENAR UNA CADENA DNI, CON UN CARACTER*/ /*YO LO QUE PRETENDO ES LEER EL DNI,DEL FICHERO TEXTO,Y ALMACENARLO EN UNA VARIABLE,PARA EL FICHERO BINARIO*/ fwrite(&dni, sizeof(char), 1, ficbin); printf("Introduzca los apellidos: "); gets(d.apellidos); printf("Introduzca el nombre: "); gets(d.nombre); printf("Introduzca el numero de años: "); scanf("%d",&d.numero_anyo); } }/*cierre del while*/ }while(!feof(ficbin));
fclose(ficbin); fclose(fp); }
Por favor si alguien me ayuda a encontrar el error, o la manera de que me funcione.
37
« en: Viernes 14 de Mayo de 2004, 20:50 »
Hola, bueno, lo primero me voy a presentar, soy nueva en el foro, y tampoco sé muy bien, como se usa, Pero vereis, soy alumna de informática, y tengo que hacer una práctica de programacion en lenguaje C. Estoy un poco perdida, porque es mi primer año, y necesito ayuda, porque estoy agobiadilla. Yo voy a enviar el enunciado de la practica y adjunto tambien lo que yo llevo hecho. Si alguien me puede ayudar, se lo agradecería enormemente, porque es muy improtante para mi.
Esto es lo que yo llevo hecho, y mi primer problema, es que no consigo la linea /*/*/*/* esta me da un error al compilar. Porque yo necesito sacar el dni, del fichero de texto para meterlo en el binario. Sé que es difícil, pero si alguien es un experto, me podría ayudar. Gracias.
#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*/ { for(i = 0; i<TAMANYODNI; i++) { dni = fgetc(fp); } strcpy(d.DNI, dni); }/*cierre del if*/ } /*cierre del while*/ 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 !=0); /* }cierre del while*/ }while(!feof(ficbin));
fclose(ficbin); fclose(fp); }
Adjunto el enunciado de la practica.
|
|
|