Tossa ohessa ohjelmanpätkä, jonka pitäisi luoda itse määrittelemälleni tietotyypille "ihminen" tietuetaulukko. Ohjelman pitäisi tehdä seuraavaa:
- Kysyy käyttäjältä, montako tietoa syötetään (Max 10 kpl)
- Tallentaa noin monta kappaletta tietoja tietuetaulukkoon
Tuo menee kääntäjästä läpi virheittä mutta sitten ohjelma kaatuu. Missä mahtaa olla vika?
#include
#include
#define KOKO 10
#define PITUUS 20
typedef struct
{
char nimi[PITUUS];
int vuosii;
}ihminen_t;
int
main(void)
{
ihminen_t tieto[KOKO];
int varattu, i;
/* Syötä tiedot */
printf("Montako tietoa annetaan > ");
scanf("%d", & varattu);
for (i = 0; i < varattu; i)
{
printf("\nAnna nimi > ");
gets("tieto[i].nimi");
printf("\nAnna ikä > ");
scanf("%d", & tieto[i].vuosii);
}
}
Ongelma tietuerakenteen kanssa
4
342
Vastaukset
- ...
gets("tieto[i].nimi") lainausmerkit
- Kaatuillen
No niinpäs olikin. Olin ensin kirjoittamassa siihen scanf:ää mutta vaihdoinkin getsiin ja nuo sulut unohtuivat.
Ohjelmoinnin hienoja puolia... Etsin pitkään ja hartaasti vikaa ja se oli jotain noin pientä. Kiitos paljon avusta! :)
- teuro
Edellä tulikin jo kysymykseen ratkaisu. Laitan kuitenkin muokatun version c ja STL vektoreilla toteutettuna.
#include
#include
#include
using namespace std;
const int maara = 10;
class Henkilo{
private:
string nimi;
int vuosi;
public:
Henkilo(string n, int v){
this -> nimi = n;
this -> vuosi = v;
}
Henkilo(){}
};
vector Henkilot;
int main(){
int varattu, i;
string nimi;
int vuosi;
/* Syötä tiedot */
cout nimi;
cout vuosi;
Henkilot.push_back(Henkilo(nimi, vuosi));
}
}
Olkaapa hyvät. - adasdasdasdas
#include
#include
typedef struct
{
char* nimi;
int vuosii;
}ihminen_t;
int main()
{
ihminen_t* tieto;
int varattu, i;
/* Syötä tiedot */
printf("Montako tietoa annetaan > ");
scanf("%d", &varattu);
tieto=(ihminen_t*)malloc(varattu*sizeof(ihminen_t));
for (i = 0; i < varattu; i)
{
printf("\nAnna nimi > ");
gets(tieto[i].nimi);
printf("\nAnna ikä > ");
scanf("%d", &tieto[i].vuosii);
}
free(tieto);
return 1;
}
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tällä kertaa Marinia kadehtii Minäminä Päivärinta
Kokoomuksen tyhjäntoimittelija itkeä tuhertaa, kun kansainvälinen superstaramme ei leiki hänen kanssaan. Oikean puoluee3861492- 1051278
Miksi koulut pakottavat
Lapset uimaan sekaryhmänä? Murrosikäiset tunnetusti häpeilevät vartalossa tapahtuvia muutoksia. Tulee turhia poissaoloja1161210Miksi jollain jää "talvi päälle"
Huvittaa kastoa ullkona jotain vahempaa äijää joka pukeutuu edelleen kun olisi +5 astetta lämmittä vaikka on helle keli1621113- 44987
- 63896
Se katse silloin
Oli hetki, jolloin katseemme kohtasivat. Oli talvi vielä. Kerta toisensa jälkeen palaan tuohon jaettuun katseeseen. Tunt32816Suomen Pallolitto: Tasoryhmät lasten jalkapallossa - Erätauko-tilaisuus ma 20.5.2024
Tasoryhmät lasten ja nuorten jalkapallossa herättävät paljon keskustelua. Mitä tasoryhmät ovat ja mikä on niiden tarkoit0800Susanne Päivärinta kirjassaan: Sannalla nousi valta päähän, Big Time!
Päivärinta toteaa ettei ole nähnyt kenenkään muuttuvan niin totaalisesti kuin Marinin, eikä siis todellakaan parempaan s91794Tuhdit oluet kauppoihin. Miksi vastustaa?
8% oluet kauppoihin mutta mikä siinä on että osa politikoista vstustaa ? Kauppa kuitenkin hinnoittelee vahvan oluen ni167681