Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Mario Rubio
- */
- #include <stdio.h>
- #include <ctype.h>
- #define fiebre 37.2
- //Funcion que realiza la suma a partir del array temps[] de entrada
- double suma(int nm,double temps[]){
- float sum=0;
- int i;
- for(i=1;i<=nm;++i){
- sum=sum+temps[i-1];
- }
- return sum;
- }
- //Funcion que obtiene el minimo a partir del array[] temps de entrada
- double minimo(int nm, double temps[]){
- int i;
- float min=44;
- for(i=1;i<=nm;++i) if(temps[i-1]<min) min=temps[i-1];;
- return min;
- }
- //Funcion que obtiene el maximo a partir del array[] temps de entrada
- double maximo(int nm, double temps[]){
- int i;
- float max=30;
- for(i=1;i<=nm;++i) if(temps[i-1]>max) max=temps[i-1];;
- return max;
- }
- int main(){
- int nm; //Numero de medidas tomadas.
- char rep;
- while(1){
- //Se solicita el numero de medidas tomadas y se comprueban que sean menos de 10
- printf("Escriba cuantas medidas de la temperatura se han tomado. >");
- scanf("%d",&nm);
- if((nm>10)||(nm<=0)){
- printf("introduce como maximo 10 temperaturas.");
- continue;
- }
- double temps[nm];
- int i;
- for(i=1;i<=nm;++i){
- printf("Escriba la %d medida tomada en grados centigrados. >",i);
- while(1){
- scanf("%lf",&temps[i-1]);
- if((temps[i-1]<32)||(temps[i-1]>43)){
- printf("La temperatura debe estar comprendida entre 32 y 43 grados.\n");
- printf("Vuelva a inserta la %d temperatura. >",i);
- continue;
- }
- else break;
- }
- }
- //Se muestra la temeperatura media
- printf("La media de las temperaturas tomadas es de: %.2lf grados centigrados.\n",((suma(nm,temps)/nm)));
- //Se muestra la temperatura minima y maxima.
- printf("La temperatura minima seria de %.2lf grados y la maxima de %.2lf grados.\n",minimo(nm,temps),maximo(nm,temps));
- //Se muestra la semisuma.
- float semisuma = (minimo(nm,temps)+maximo(nm,temps))/2;
- printf("La semisuma de las temperaturas es de %.2lf.\n",semisuma);
- //Se muestra las temperaturas superiores a 37.2
- int nfieb=0;
- for(i=1;i<=nm;++i){
- if (temps[i-1]>=fiebre) ++nfieb;
- }
- printf("Se han producido %d tomas con fiebre.\n",nfieb);
- //Pregunta si se quiere repetir el programa
- while(1){
- printf("Quiere repetir el proceso con otros datos, escriba s para repetir, o n para cerrar. >");
- fflush(stdin);
- scanf("%c",&rep);
- rep=tolower(rep);
- if((rep=='n')||(rep=='s')) break;
- else continue;
- }
- if(rep=='n') break;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement