Seuraavassa on joukko aliohjelmia merkkijonojen lukemiseen ja käsittelyyn. Niistä tehokkaimmalla - lue_jono_oletus - voidaan tulostaa näyttöön samalla hoput- teksti ja mikäli kysymykseen vastataan pelkkä [RET], käytetään oletusarvoa. Tämä aliohjelma on suunniteltu nimenomaan toimimaan kerhon jäsenrekisterin tarpeiden mukaisesti.
/****************************************************************************/ /* ** M J O N O T . C ** ** Yleisiä merkkijonojen käsittelyyn liittyviä aliohjelmia. ** ** Aliohjelmat: ** tee_jono - luo uuden merkkijonon jonne jono kopioidaan ** kopioi_jono - kopioi kork. annetun määrän merkkejä ** liita_jono - liittää jonon toisen perään, tulos ** korkeintaan max.pituus mittainen ** f_lue_jono - lukee tiedostosta merkkijonon ** alusta_lue_jono - alustaa merkkijonon lukemisen ** lue_jono - lukee päätteeltä merkkijonon ** lue_jono_oletus - lukee päätteeltä merkkijonon. ** Näyttöön tulostetaan haluttu viesti ja ** jonon oletusarvo, mikäli painetaan RET ** lue_kokluku_oletus - luetaan kokonaisluku, jolle käytetään ** oletusarvoa mikäli heti painetaan RET ** poista_alkutyhjat - poistaa merkkijonon alussa olevat välilyönnit ** poista_lopputyhjat - poistaa merkkijonon lopussa olevat välil. ** poista_2_tyhjat - muuttaa merkkijonossa kaikki peräkkäiset ** välilyönnit yhdeksi välilyönniksi ** poista_tyhjat - poistaa alusta ja lopusta kaikki sekä ** muualta moninkertaiset välilyönnit ** poista_alku_ja_2_tyhjat- poistaa alusta ja 2x tyhjät ** isoksi - muuttaa kirjaimen isoksi kirjaimeksi huomioiden ** skandit ** pieneksi - muuttaa pieneksi huomioiden skandit ** jono_isoksi - muuttaa jonon kaikki merkit isoiksi ** jono_pieneksi - muuttaa jonon kaikki merkit pieniksi ** jono_alku_isoksi - muuttaa jonon kaikki sanojen alut isoiksi ** ja kaikki muut pieniksi ** jono_1_isoksi - muuttaa jonon 1. kirjaimen isoksi ** wildmat - vertaa onko sana == maski, missä maskissa ** voi olla jokeri-merkkejä (* tai ?) ** onko_samat - ensin muutetaan jonot isoiksi ja poistetaan ** tyhjät ja sitten wildmat ** (eli " Kalle " == " k* ") ** palanen - ottaa merkkijonosta seuraavan erotinmerkkien ** määräämän palasen ** laske_merkit - laskee annettujen merkkien esiintymismäärän ** merkkijonossa ** paikka - palauttaa kirjaimen 1. indeksin merkkijonossa ** tayta_valit - täyttää syötön "A-F" muotoon "ABCDEF" ** joku_jono - vastaa kysymykseen onko "EY" joku jonoista ** "EU|EY|EL" ** joku_jono_func - kuten edellä, mutta vertailufunktio voidaan ** antaa itse, esim ** joku_jono("EU","E?|USA",wildmat) => 1 ** jono_arvosanaksi - muuttaa merkkijonon "7-" reaaliluvuksi 6.75 ** arvosana_jonoksi - muuttaa reaaliluvun 6.75 merkkijonoki "7-" ** sallituissa - paluttaa -1 jos tutkittavan jonon kaikki ** merkit ovat annetussa joukossa, muuten ** 1. väärän merkin indeksin ** poista_merkit - poistaa jonosta kaikki valitut merkit ** poista_alusta - poistaa merkkejä jonon alusta ** lisaa_alkuun - lisää merkkejä jonon alkuun ** lisaa_merkki - lisää merkin merkkijonon valittuun kohtaan ** vaihda_jonot - vaihtaa jonossa merkit toisiksi ** ^ - rivin alussa tarkoittaa, etta ** vaihto tehdaan vain rivin alusta ** vaihda_merkit - vaihtaa jonossa yksittäiset merkit ** toisiksi ** muunna_C_symbolit - muuttaa \t, \n ja \0x61 muotoiset ** C-symbolit vastaaviksi merkeiksi ** jonossa_vain_merkit - poistaa jonosta kaikki ne merkit, jotka ** eivät ole valitussa joukossa */