/*--------------------------------/ /* llegirnum com una funcio en C */ /*--------------------------------/ /* com que és una funcio, li hem de dir quin tipus retorna */ int llegirnum(int min,int max) /*En aquest cas, la variable que ha de retornar la definirem com variable local, i la tornarem amb un return, recollint el seu valor amb la variable que, des del main, fa la crida a la funcio */ { int n; do { scanf("%d", &n); /* fixeu-vos que ara fem scanf("%d",&n) ja que n es un int, i no una posicio de memoria com en l'exemple amb accions */ if (n < min || n > max) printf("NO ES VALID "); } while(n < min || n > max); /* I ara, hem de tornar el valor de n cap a fora */ return (n); } /* ¿Com cridem ara a la funció?. Ja que retorna un valor amb return, aquest valor l'hem de recollir des del lloc on hem fet la crida, per tant num = llegirnum(1,3) per exemple, llegiria un numero n que ha d'estar entre 1 i 3, tornaria el valor cap a fora, i el recolliriem en num. */ /* -------------------------------/ /* llegir_sn com una funció en C */ /* -------------------------------/ /* com que és una funció, li hem de dir quin tipus retorna */ char llegir_sn() /* No passem cap argument a la funcio, pero la funcio tornara cap a fora la lletra que l'usuari hagi introduit. */ { /* Com abans, hem de declara la variable local amb la que treballarem*/ char siono; do { scanf("%c", &siono); /* Al igual que en el llegirnum, ara, com que siono es un char, hem de passar-li al scanf la seva posicio de memoria, per aixo posem el & */ } while(siono != 's' && siono!= 'S' && siono != 'n' && siono != 'N'); /* Per consultar el valor introduït per l'usuari ara podem preguntar directament per siono, que es un char i per tant emmagatzema el valor que l'usuari ha introduït */ if (siono == 's') siono='S'; if (siono == 'n') siono='N'; /* I ara , com sempre que la funcio no es de tipus void, hem de fer el return */ return (siono); } /* /* La crida a la funcio la farem de la mateixa manera que amb el llegirnum. La funció torna un char (siono), per tant des de fora quan fem la crida, farem "sn = llegir_sn()" on sn ha de ser una variable de tipus char, ja que ha de recollir el valor tornat per la funcio, que es de tipus char */