/* kirjestu.c */ /* Tutkitaan kirjeen hintaa /vl-94 */ #include typedef struct { int paino; double hinta; } hinta_tyyppi; hinta_tyyppi hinnasto[] = { { 50, 2.10 }, { 100, 3.40 }, { 200, 5.20 }, { 500, 9.30 }, { 0, 0 } }; int suurin_kirjeen_paino(double rahaa) { int i; double paino=0; for (i=0; hinnasto[i].hinta>0; i++) if ( hinnasto[i].hinta <= rahaa ) paino = hinnasto[i].paino; else break; return paino; } /* Palautetaan kirjeen hinta. Jos hintaa ei tiedet„, palautetaan 0 */ double postimaksu(int paino) { int i; for (i=0; hinnasto[i].hinta>0; i++) if ( hinnasto[i].paino >= paino ) break; return hinnasto[i].hinta; } int main(void) { int paino = suurin_kirjeen_paino(3.60); printf("Voit l„hett„„ %d g painavan kirjeen!\n",paino); printf("L„hetys maksaa %4.2lf mk.\n",postimaksu(130)); return 0; }