Escolar Documentos
Profissional Documentos
Cultura Documentos
55
}
/* calcular la media e imprimir resultados */
if (numvalores>0)
{ *media = suma/numvalores;
printf("\n Se leyeron %d: \n", numvalores);
}
else printf("\nNo se encontraron valores positivos\n");
fclose(fichero);
}
56
{
int encontrado,j,lon;
encontrado=0; j=0;
lon=strlen(tira); // devuelve la longitud de la cadena
while ((!encontrado) && (j<lon))
{
if (tira[j]>letra) encontrado=1; // ha encontrado un carácter mayor
j++; // pasa a la siguiente letra de la cadena
}
return encontrado;
}
57
58
if (len==0) return(-1);
Chk = 0;
for(i=0;i<len;i++) {
if (Bufffer[i]<0)
Chk = Chk - Buffer[i]
else
Chk = Chk + Buffer[i]
}
Chk = Chk % len;
return (Chk);
}
bool es_primo(int n) {
if (n <= 0 || n == 1) return false;
for (int i = 2; i <= n/2; ++i)
if (n % i == 0) return false;
return true;
}
if ((Fclientes=fopen(“Fclientes”,”rb”))==NULL) return 0;
while (fread(&rc,sizeof(rc),1,Fclientes) && !encontrado)
if (!strcmp(nif,rc.nif)) encontrado=1;
fclose(Fclientes);
if (encontrado) return 1; else return 0;
}
59
#define PRECIO_HORA_CAPATAZ 15
#define PRECIO_HORA_RECOLECTOR 10
int calcula_e_imprime_cheque ( )
{
FILE *fich;
char nif[10], nombre[50], linea[256], categoria;
int horas, precio_hora;
float cantidad;
if ((fich=fopen("empleados.txt","rt"))==NULL) {
printf("Fichero no existe\n");
return -1;
}
while (fgets(linea,256,fich))
{
sscanf(linea,"%s %s %d %c", nif, nombre, &horas, &categoria);
if (categoria=='c') precio_hora=PRECIO_HORA_CAPATAZ;
else precio_hora=PRECIO_HORA_RECOLECTOR;
if (horas <=8)
cantidad= horas*precio_hora;
else
cantidad= 8*precio_hora + (horas-8) * precio_hora*1.2;
printf("NIF: %s NOMBRE: %s CATEGORIA %c \n", nif, nombre, categoria);
printf("HORAS : %d CANTIDAD A PAGAR : %f\n", horas, cantidad);
}
return 0;
}
Diseñe los casos de prueba siguiendo la técnica del camino básico: dibuje el grafo de flujo, calcule la
complejidad ciclomática, especifique los caminos independientes y los casos de prueba asociados a cada
camino.
60
61