praegune kellaaeg 22.06.2025 18:58:45
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
pmz
HV vaatleja
liitunud: 05.07.2008
|
05.07.2008 18:36:57
c# klasside probleem |
|
|
Selline mure siis:
Nimelt õpin siis progemist siin ühe tuttava käe all, ta annab mulle ise mingeid ülesandeid ja mina püüan neid lahendada. Ülesanne oli selline, et pidin tegema asp.net veebilehe, kus saab sisestada andmebaasi inimeste kaalu kilodes, pidi olema inimese nimi, kaal ja kaalumiskuupäev. Tegin selle jaoks eraldi klassi. Samuti pidin tegema veebilehel võimaluse keskmise kaalu näitamiseks, üleüldiselt, mõõtmisperioodi järgi, inimese nime osa järgi, et testida mu sql oskusi. Sain sellega hakkama, aga ma tegin selle nii, et igal lehel eraldi arvutasin selle välja. Nüüd ta ütles, et ma prooviks loogika keskmise kaalu arvutamiseks kolida kaalu klassi ja teha seda üldiseks. Ta ise läks kuu ajasele reisile, sellel ajal ma temaga kahjuks suhelda ei saa. Äkki keegi ütleks, mida ta selle all mõtles, just selle üldiseks tegemise all. Kui midagi minu seletuses jäi selgusetuks siis palun küsige, tahaks väga selle valmis teha selleks ajaks kui ta tagasi jõuab reisilt. Aitäh
|
|
tagasi üles |
|
 |
nene
Kreisi kasutaja

liitunud: 20.03.2004
|
05.07.2008 21:14:42
|
|
|
Ei oska öelda, mida ta konkreetselt selle üldiseks tegemise all mõtles...
Võimalik, et sul oli lihtsalt mitmes kohas sama koodi korratud. Näiteks kuidagi nii:
funktsioon keskmine_kaal() {
tulemus = tee_päring("SELECT AVERAGE(kaal) FROM kaalud");
rida1 = võta_esimene_rida(tulemus);
kaal = võta_esimene_väärtus(rida1);
tagasta kaal;
}
funktsioon keskmine_kaal_nime_kohta(nimi) {
tulemus = tee_päring("SELECT AVERAGE(kaal) FROM kaalud WHERE nimi = " + nimi);
rida1 = võta_esimene_rida(tulemus);
kaal = võta_esimene_väärtus(rida1);
tagasta kaal;
}
funktsioon keskmine_kaal_kuupäeva_kohta(kuupäev) {
tulemus = tee_päring("SELECT AVERAGE(kaal) FROM kaalud WHERE kuupäev = " + kuupäev);
rida1 = võta_esimene_rida(tulemus);
kaal = võta_esimene_väärtus(rida1);
tagasta kaal;
} |
Selle asemel, et kirjutada kogu keerukas andmebaasist kaalu kättesaamise protsess iga kord uuesti välja, oleks parem luua üks üldisem kaalu pärimise funktsioon, mida saab parameetri abil soovitud kombel käituma panna:
funktsioon tee_kaalupäring(tingimus) {
tulemus = tee_päring("SELECT AVERAGE(kaal) FROM kaalud WHERE " + tingimus);
rida1 = võta_esimene_rida(tulemus);
kaal = võta_esimene_väärtus(rida1);
tagasta kaal;
}
funktsioon keskmine_kaal() {
tagasta tee_kaalupäring("TRUE");
}
funktsioon keskmine_kaal_nime_kohta(nimi) {
tagasta tee_kaalupäring("nimi = " + nimi);
}
funktsioon keskmine_kaal_kuupäeva_kohta(kuupäev) {
tagasta tee_kaalupäring("kuupäev = " + kuupäev);
} |
PS. Ma seda C#-i just kuigivõrd ei oska, seega kirjutasin mingis üldises pseudokoodis, aga ma usun, et sa saad üldisest põhimõttest aimu.
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
23 |
|
tagasi üles |
|
 |
reneSharp
HV kasutaja

liitunud: 13.11.2005
|
06.07.2008 17:23:05
|
|
|
Pidas silmas ehk seda et kaalu arvutamine ei sobi web-i lehele vaid teenendavasse kaalu klassi, mis on põhjendatud kui
küsida:
1. Kui lisada uus web-i leht kus samuti on vajadus kaalu näidata (kas on korrektne kopeerida arvutamise kood eelmise veebilehe pealt?)
2. Kui tahaks kirjutada unit testi kontrollimaks kas kaal arvutatakse õieti, kuidas sa testid seda koodi mis asub web-i lehe peal ?
3. Kui täiendada programmi funktsioonaalsust pikkuse arvutamisega mis vajab sisendiks olemasolevat kaalu arvutamise funktsionaalsust mis sa siis peale hakkad ?
|
|
Kommentaarid: 25 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
25 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|