1
C / C++ / Problema ejercicio en C
« en: Mayo 03, 2014, 11:45:09 pm »
Hola, otra vez(por tercera) yo molestando por acá, jaja. Tengo parcial el martes y estoy a full, complicandome, como de costumbre. Bueno, tengo un problema con el siguiente código, me crea el archivo actualizado(no sé si bien o mal), pero pesa 600 y pico de mb :|. Debo tener varios errores, porque no me devuelve el archivo, acá les dejo el problema con el código que hice:
Archivo Inscriptos
• NroInsc (cadena de 4, campo de secuencia
clave primaria)
• Apellido
• Cantidad de inasistencias
Archivo Asistencia
• NroInsc (cadena de 4, campo de secuencia
clave primaria)
• Apellido
Se pide:
• Actualizar la cantidad de inasistencias en el archivo de Inscriptos. Sabiendo que son N clases
(ingresa por teclado), dar de baja los inscriptos que registren inasistencia y alcancen el 30% de
ausentismo.
• Generar un listado con los apellidos de los casos erróneos (asistentes no inscriptos).
• Mostrar por pantalla la cantidad de asistentes inscriptos.
Ejemplo de Lote de Datos (N = 20)
----------- Inscriptos -------------- Asistencia
NroInsc--------- Apellido --------- CantInasist NroInsc ---------Apellido
CC01 Lopez 3 CC03 Perez
CC03 Perez 2 CC04 Garcia
CC04 Garcia 0 CC07 Giovanni
CC05 Fernandez 5 CC08 Rodriguez
CC08 Rodriguez 4 CC10 Gonzalez
CC10 Gonzalez 1 CC11 Ramirez
CC11 Ramirez 1 CC12 Felice
CC13 Juanes 0
Resultado
Inscriptos (actualizado)
NroInsc--------- Apellido --------- CantInasist
CC01 Lopez 4 (modificación)
CC03 Perez 2
CC04 Garcia 0
CC08 Rodriguez 4
CC10 Gonzalez 1
CC11 Ramirez 1
CC13 Juanes 1 (modificación)
Asistentes No Inscriptos
Giovanni
Felice
Cantidad de Asistentes Inscriptos: 5
Bueno, seguramente no sea la última vez que ande por acá preguntando. Muchas gracias de antemano.
___edited___
se ha editado el bloque de codigo para ponerlo con el coloreado y hacer la lectura mas facil
Archivo Inscriptos
• NroInsc (cadena de 4, campo de secuencia
clave primaria)
• Apellido
• Cantidad de inasistencias
Archivo Asistencia
• NroInsc (cadena de 4, campo de secuencia
clave primaria)
• Apellido
Se pide:
• Actualizar la cantidad de inasistencias en el archivo de Inscriptos. Sabiendo que son N clases
(ingresa por teclado), dar de baja los inscriptos que registren inasistencia y alcancen el 30% de
ausentismo.
• Generar un listado con los apellidos de los casos erróneos (asistentes no inscriptos).
• Mostrar por pantalla la cantidad de asistentes inscriptos.
Ejemplo de Lote de Datos (N = 20)
----------- Inscriptos -------------- Asistencia
NroInsc--------- Apellido --------- CantInasist NroInsc ---------Apellido
CC01 Lopez 3 CC03 Perez
CC03 Perez 2 CC04 Garcia
CC04 Garcia 0 CC07 Giovanni
CC05 Fernandez 5 CC08 Rodriguez
CC08 Rodriguez 4 CC10 Gonzalez
CC10 Gonzalez 1 CC11 Ramirez
CC11 Ramirez 1 CC12 Felice
CC13 Juanes 0
Resultado
Inscriptos (actualizado)
NroInsc--------- Apellido --------- CantInasist
CC01 Lopez 4 (modificación)
CC03 Perez 2
CC04 Garcia 0
CC08 Rodriguez 4
CC10 Gonzalez 1
CC11 Ramirez 1
CC13 Juanes 1 (modificación)
Asistentes No Inscriptos
Giovanni
Felice
Cantidad de Asistentes Inscriptos: 5
Código: C
- #include <stdio.h>
- #include <string.h>
- typedef struct inscriptos{
- char nroins[5];
- char apellido[20];
- int cantasis;
- } inscri;
- typedef struct asistencia{
- char nroins[5];
- char apellido[20];
- } asist;
- void lee();
- void readFile(FILE *libreryFile);
- void readFiles(FILE *libreryFile2);
- int main(){
- inscri in ; asist as;
- FILE *inscrip,*asis,*actualizado;
- lee();
- in.cantasis+=1;}
- else
- else {
- }
- }
- //aca leo lo obtenido
- readFile(actualizado);
- return 0;
- }
- void lee(){
- inscri in; asist as;
- int n,m; FILE *inscrip,*asis;
- while(n--){
- //while(getc(stdin) !='\n') ;
- }
- readFile(inscrip);
- while(m--){
- //while(getc(stdin) !='\n') ;
- }
- readFiles(asis);
- }
- void readFile(FILE *libreryFile){
- inscri in;
- fpos_t oldPosition;
- }
- }
- }
- void readFiles(FILE *libreryFile2){
- asist as;
- fpos_t oldPosition;
- }
- }
- }
Bueno, seguramente no sea la última vez que ande por acá preguntando. Muchas gracias de antemano.
___edited___
se ha editado el bloque de codigo para ponerlo con el coloreado y hacer la lectura mas facil