perdona Beovvulf pero es que soy muy malo para programar. Te copio el codigo i me cuentas. A ver yo tengo lo siguiente.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MOSTRES 100
#define NUM_SENSORS 100
#define MOTES_CARRER 25
struct sensor {
unsigned long int temps[MOSTRES];
int ocupat[MOSTRES];
int dada_valida[MOSTRES];
float mitja_ocupacio;
};
struct carrer {
char nom_carrer[30];
int num_motes;
int motes_carrer[MOTES_CARRER];
};
/*
Programa: Pràctica Exàmen (Sensors)
Autor: Eduard Borrega
*/
int llegirFitxerSensors(struct sensors *u, char* fitxer){
FILE *pt;
int cont=0;
unsigned int x,y,z;
if(( pt = fopen(fitxer,"r")) == NULL)
printf("No s'ha pogut obrir el fitxer\n");
else{
while( !feof(pt)){
for(cont=0;cont< NUM_SENSORS;cont++){
fscanf(pt, "%u,%u,%u", &x, &y, &z);
printf("\nHi ha %d sensors\n",cont);
}
fclose(pt);
system("PAUSE");
return 0;
}
}
}
int main(){ //Programa principal
int cont=0; //Declaració de variables
int bucle=1;
char opcio,*fitxer="Infosens.csv";
struct sensor sensors[NUM_SENSORS];
struct carrer carrers[20];
do{
printf("\n \n\t\t\t\tMENU SENSORS\n\n");
printf("\n1 - Llegir fitxer de dades");
printf("\n2 - Calcular mitjana d'ocupacio d'un sensor");
printf("\n3 - Calcular percentatge d'ocupacio d'un carrer en un moment donat");
printf("\n4 - Calcular percentatge d'ocupacio d'un sensor en un interval de temps donat");
printf("\n5 - Sortir del programa\n\n");
scanf(" %c",&opcio); fflush(stdin); //fflush -> neteja el búffer del teclat per a que nomes llegeixi
//el primer caràcter introduït i en descarti els altres
switch(opcio){
case '1':
printf("\n1 - Has triat:\n\nLlegir fitxer de dades\n");
//llamar funcion leer datos
//int llegirFitxerSensors(struct sensors *u, char* nom_fitxer);
break;
case '2':
printf("\n2 - Has triat:\n\nCalcular mitjana ocupacio sensor\n");
//llamar funcion hacer media ocupacion mota (No esta hecha)
//float calcular_mitja_ocupacio_mota(struct sensor *p_sensor);
break;
case '3':
printf("\n3 - Has triat:\n\nCalcular percentatge d'ocupacio d'un carrer en un moment donat\n");
//llamar funcion porcentage ocupacion en un momento dado (No esta hecha)
//float percentatge_ocupacio_carrer_instant(struct carrer *c,unsigned long int temps);
break;
case '4':
printf("\n4 - Has triat:\n\nCalcular percentatge d'ocupacio d'un sensor en un interval de temps donat\n");
//llamar funcio porcentage ocupación de un sensor en un intervalo de tiempo dado (No esta hecha)
//float percentatge_ocupacio_carrer_interval(struct sensor *p_sensor,unsigned long int temps_inici,unsigned long int temps_final);
break;
case '5':
printf("\n5 - Has triat:\n\nSortir del programa\n");
bucle=0; printf("\n\t\t\t\tFi del programa, ADEU\n\n");
break;
default: printf("\nSi us plau, introdueix una opcio valida");
break;
}
}while(bucle!=0);
system("PAUSE");
return 0;
}