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
412
Vastaukset 4
- ...
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
- 1061271
Salaisuudet paljastuu
Viimeiset hetket meneillään ottaa yhteyttä. Kertoa totuus ja selvittää asioita. Viimeiset hetket meneillään jos joku94898Poliisi pamputti Variskankaalla
Mistä lie alkanut ja miksi poliisit kutsuttu, mutta mielestäni hyvin toimittu. Jos haluaa rähistä eikä rauhoitu puheella31804- 66693
- 32635
Karita Tykkä mennyt kihloihin.
Onnittelu kuuluu hänelle ja tulevalle aviopuolisolleen.93632S-ryhmän ihmisoikeuslinja ei kestä omaa hankintaketjuaan
S-ryhmän Israel-boikotin suurin uskottavuusongelma löytyy yllättävän läheltä, SOK:n omien tuotemerkkien hankintaketjuist16584- 18568
Haavoittuvuutesi on aseista riisuvaa
Harmi, etten voi osoittaa sinulle tunteita. Hyvää yötä miehelle. Naiselta43533- 10476