/* muunnos.h */ /****************************************************************************/ /* ** M U U N N O S . H ** ** Kerho-ohjelman yleisiä merkkijonofunktioita. ** ** ** Tekijät: Vesa Lappalainen ** Ohjelmointikurssi 1991 ** Tehty: 20.12.1991 ** Muutettu: 6.12.1993/vl ** Mitä muutettu: enemmän erikoisarvoja ** Muutettu: 10.12.1995/vl ** Mitä muutettu: irroitettu pelkät muunnokset omaksi tiedostokseen ** Muutettu: 07.01.1996/vl ** Mitä muutettu: muunosfunktioita kenttä-tyyppiä varten ** Muutettu: 05.04.2000/vl ** Mitä muutettu: hetun välimerkiksi myös A ** ** Kommentit ks. muunnos.c ** *****************************************************************************/ #ifndef __MUUNNOS_H #define __MUUNNOS_H #ifdef __cplusplus extern "C" { #include #else #include #endif #define TYHJA_ARVO (INT_MIN+1) /* Arvo joka kuvastaa tyhjää num. kenttää */ #define TYHJENNA_ARVO (TYHJA_ARVO+1)/* Arvo joka kuvastaa kentän tyhjennystä */ #define TYHJENNA_JONO "==" /* Jono, joka pakottaa kentän tyhjäksi */ /****************************************************************************/ int /* 0 = ei */ onko_tyhjenna_jono( /* 1 = p:ssä oleva jono käskee tyhjentämään kentän*/ const char *p /* */ ); char /* */ *int_jonoksi( /* Jonon osoite */ char *jono ,/* t Jono, jonne tulos tulee */ int max_pit ,/* s Jonon maksimipituus */ int arvo ,/* s Arvo joka muutetaan jonoksi. */ const char *formaatti /* s Formaatti, jota muutoksessa käytetään */ ); char /* */ *double_jonoksi( /* Jonon osoite */ char *jono ,/* t Jono, jonne tulos tulee */ int max_pit ,/* s Jonon maksimipituus */ double arvo ,/* s Arvo joka muutetaan jonoksi. */ const char *formaatti /* s Formaatti, jota muutoksessa käytetään */ ); int /* */ jono_intiksi( /* */ const char *jono ,/* s Kokonaisluvuksi muutettava merkkijono */ const char *formaatti /* s Formaatti jota muunnoksessa käytetään. */ ); double /* */ jono_doubleksi( /* */ const char *jono ,/* s Reaaliluvuksi muutettava merkkijono */ const char *formaatti /* s Formaatti jota muunnoksessa käytetään. */ ); /* 0 1 2 3 */ /* 0123456789012345678901234567890 */ #define HETUTARK "0123456789ABCDEFHJKLMNPRSTUVWXY" #define HETUVALI "A+-" #define PUH_MERKIT "0123456789- " char *int_muunnos(char *s); char *double_muunnos(char *s); char *hetu_muunnos(char *s); char *puh_muunnos(char *s); char *arvosana_muunnos(char *s); char *numerot_muunnos(char *s); #ifdef __cplusplus } #endif #endif