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ä.
c++/struct/getline
Hajoamassa
71212
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
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...
konsolisovellus???
Mikä työkalu yleensäkin on käytössäsi??
Unixpalvelimella jed-ohjelmalla koodailen ja kääntäminenkin tapahtuu samaisella palvelimella....
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
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
-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