18/05/2015, 12:42
|
| | Fecha de Ingreso: mayo-2015 Ubicación: Caracas
Mensajes: 1
Antigüedad: 9 años, 6 meses Puntos: 0 | |
Crear un programa en c q lea un archivo csv y haga operaciones con esa informacion Necesito hacer un programa q lea una lista de estudiantes q esta separada por comas en la cedula, apellidos, nombres y nota y que haga los siguientes calculos Número de estudiantes del curso:
Cantidad de aprobados (en número y porcentaje)
Cantidad de aplazados (en número y porcentaje)
Nota promedio del curso.
Nota mínima y estudiante(s): nombre(s), apellido(s), nota.
Nota máxima y estudiante(s): nombre(s), apellido(s), nota.
Hasta el momento solo he logrado llegar a numero de estudiantes pero luego para separar cada termino despues de la coma para ponerlo en la estructura no he sabido como alguien me ayuda xfa aqui el codigo hasta por donde voy
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_NOM 70
#define MAX_LIN 50
#define MAX_CHR 100
struct tipo{
char nombre[MAX_NOM];
char apellido[MAX_NOM];
float cedula;
float nota;
};
struct tipo Alumno[MAX_LIN];
char linea[MAX_CHR];
int main(void){
FILE*Fh;
char ced[MAX_LIN];
char aux[3];
int i,j;
char fnom[30];
printf("Introduzca el nombre del archivo: ");
scanf("%28s",fnom);
fflush(stdin);
Fh=fopen(fnom,"rb");
if(Fh==NULL){
printf("Archivo %s no existe \n", fnom);
return(-1);
}
fgets(linea, MAX_CHR,Fh);
if(strstr(linea,"Cedula")==NULL)
printf("Archivo no valido");
if(strlen(linea)==MAX_CHR-1)
printf("Error");
for(i=0;!feof(Fh) ;i++){
fgets(linea,MAX_CHR,Fh);
}
printf("N estudiantes %d\n", i);
int ind=0;
for (j=0; j<strlen(linea); j++){
if(linea[j]==','&& j<ind)
strncpy(ced,&linea[ind],ind-j);
Alumno[i].cedula=atoi(ced);
ind=j;
}
aca no se guarda la cedula cuando intento imprimirla me da 0 |