
SetGramsPerUnits()
******************


FUNKTION
========

   void SetGramsPerUnits(int grams, int units);


DEFINIERT IN
============

   /std/unit.c


ARGUMENTE
=========

   grams
        Gewicht in Gramm
   units
        Zahl der Einheiten


BESCHREIBUNG
============

   Es wird festgelegt, wieviel eine bestimmte Menge der Einheiten wiegt.
   Eine einzelne Einheit wiegt grams/units Gramm.


RUeCKGABEWERT
=============

   keiner


BEISPIELE
=========

   Vier Einheiten sollen 3 Gramm wiegen:

   SetGramsPerUnits(3,4);


SIEHE AUCH
==========

   SetCoinsPerUnits(), QueryCoinsPerUnits(), QueryGramsPerUnits(),
   /std/unit.c

Last modified: Wed May 8 10:25:09 1996 by Wargon
