c++/struct/getline

Vinkkiä kaipailisin. Täytyisi tehdä ohjelma, jonka yksi osa on sellainen, että lukee käyttäjän syöttämiä aineita ja niiden määriä ja tulostaa tämän jälkeen sen massan. Ohjelmassa käytettävien aineiden nimet ja niiden tiheydet olisi tallennettava struct-tietorakenteeseen. Getline-funktion käytöstä ja tuosta edellämainitusta osasta ohjelmaa kaipailisin vinkkejä.
71212
Äänestä

Muut lukivat myös

Vastaukset 7

Vanhimmat

mä sanoisin, että sun kannattaisi, kun kerran c :aa käytät, tehdä lomake...

TForm* AineittenLomake; //, jolla on
TEdit* AineenNimi; //ja
TEdit* AineenMaara; //sekä
TButton* OKNappula// joka merkkaa sitä, että tiedot on syötetty ja sitten sulla on tietenkin se
srtuct Tietorakenne{AnsiString Nimi,double Maara}; // tämmöiset määrittelyt ihan lonkalta tohon heitin
//tietenkin sun tarttee saada tiedot siittä lomakkeesta tohon structiin, kun OKNappulaa klikataan
//eli sä teet semmoisen funktion, jota kutsutaan OKNappulalla (OnClick event) ja siinä funktiossa voisi olla jotain tommost

void AineittenLomake::NappulaaKlikattu(Tietorakenne* TiedotTanne)
{
   TiedotTanne->Nimi=AineenNimi->Text;
   TiedotTanne->AineenMaara=ToDouble(AineenMaara->Text);   
}

//tätä ei ole debugattu eikä hukattu, mutta ei se paljoa tosta voi monimutkallistua, kun jo toimii...

Äänestä

konsolisovellus???
Mikä työkalu yleensäkin on käytössäsi??

Äänestä
  • Unixpalvelimella jed-ohjelmalla koodailen ja kääntäminenkin tapahtuu samaisella palvelimella....

    Äänestä


  • Näppylöitä kirjoitti:

    mitään lomaketta voi käyttää... kokeile tuota
    http://www.google.fi/search?sourceid=navclient&hl=fi&ie=UTF-8&rls=GGLD,GGLD:2005-16,GGLD:fi&q=getline

    niin mä olen aina miettinny, mikä tähden sitä aina pitää tehdä asioista monimutkallisenpia kuin ne c : ssa oikeasti ovat: eihän sitä tarvitse tuollaisten funktioitten kanssa tuskailla ja mietiskellä, että mitä ja missä järjestyksessä niille syötellään ja mikä se on delimiitteri ja mikä ei ole ja mistä tietää, että se oli syöte siinä eikä jatku toiselle riville taikka katkennu tällä rivillä parikolme merkkii tonnenpana: tossa on aika hyvä esimerkki helppoudesta

    http://www.cplusplus.com/ref/iostream/istream/operatorgtgt.html

    Äänestä

Siinä on nyt aluksi funktio,jolla voi lisätä aineita plus tiheyksiä
tiedostoon.
Kun käyttäjä syöttää aineen ja määrän niin avataan tiedosto luettavaksi
ja katsotaan löytyykö aine - jos löytyi niin luetaan tiheys ja kerrotaan
sillä käyttäjän syöttämä määrä.Muunnetaan ensin tiheys atof-funktiolla
double-arvoksi.
Voin jossain välissä kirjoittaa myös tästä jälkimmäisestä osasta
hieman vinkkiä.

#include
#include
#include

using namespace std;

struct oma
{
char aine[15];
char tiheys[10];
};
void plusaine(char *);
int main(int argc, char* argv[])
{

plusaine("tiedot.dat");

return EXIT_SUCCESS;
}
//---------------------------------------------------------------------------
void plusaine(char *tiedosto)
{
oma tiedot;//Structi käyttöön
cout

Äänestä

-On käytetty cin.getline-funktiota.
Voit sijoittaa sen paikalle getline(cin,stringi)-funktion,mutta
vaatii hieman työtä.
-Kun tiedostoa luetaan voisi käyttää myös eof-tarkistusta.

#include
#include
#include
#include

using namespace std;

struct oma
{
char aine[15];
char tiheys[10];
};
void plusaine(char *);
void laske_paino(char *tiedosto);

int main(int argc, char* argv[])
{
int valinta;
cout

Äänestä

Kommentoi aloitusta


Hajoamassa kirjoitti:

Vinkkiä kaipailisin. Täytyisi tehdä ohjelma, jonka yksi osa on sellainen, että lukee käyttäjän syöttämiä aineita ja niiden määriä ja tulostaa tämän jälkeen sen massan. Ohjelmassa käytettävien aineiden nimet ja niiden tiheydet olisi tallennettava struct-tietorakenteeseen. Getline-funktion käytöstä ja tuosta edellämainitusta osasta ohjelmaa kaipailisin vinkkejä.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu