Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

imam jedan mali problem

[es] :: C/C++ programiranje :: imam jedan mali problem

[ Pregleda: 2491 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

petar karacic
student

Član broj: 89085
Poruke: 5
*.tel.net.ba.



Profil

icon imam jedan mali problem12.07.2006. u 00:42 - pre 215 meseci
Imam jedan problem. Kada dodajem novu strukturu u listu nikako neće da mi se unese decimalni broj float. U ovom slucaju čim unesem neki broj pojavljiva mi se dobug error. Evo vam citav algoritam pa vi to pogledajte, mislim da je problem u funkciji void dodaj() i to 8 linija koda (scanf("%f",&novi->ocjena); ) ali za svaki slucaj. Bio bih zahvalan kada bi netko znao u čemu mi je problem unaprjed hvala.



[#include<stdio.h>
#include<string.h>
#include<malloc.h>

struct student {
char ime[20];
float ocjena;
struct student *veza;
} *glava=NULL;


void dodaj();
void main(){
char izbor;


do{
printf("izaberite\n");
printf("a) dodavanje nove liste\n");
printf("d) izlaz iz programa\n\n\n");


fflush(stdin);
scanf("%c",&izbor);

switch(izbor){


case 'a':{
dodaj();
break;
}
case 'd':{
break;
}

default:{
printf("\n\n\nPogresan izbor! Pokusaj ponovo!\n\n\n");
break;
}
}
}
while(izbor!='d');

}
void dodaj(){


struct student *novi, *pom, *pred;


novi=(struct student*)malloc(sizeof(struct student));
printf("\n\n\nunesite podatke o studentu:\n\n\n");

printf("unesite ime studenta:");
fflush(stdin);
gets(novi->ime);

printf("\n\nunesite ocjenu studentu:");
scanf("%f",&novi->ocjena);
printf("\n\n");



if(glava==NULL){
glava=novi;
novi->veza=NULL;

}

else{
pom=glava;

while(pom!=NULL){

if(strcmp(pom->ime,novi->ime)>0){


if(pom==glava){
novi->veza=glava;
glava=novi;
break;
}
else{
pred->veza=novi;
novi->veza=pom;
break;
}
}

else{
if(pom->veza==NULL){
pom->veza=novi;
novi->veza=NULL;
}
}
pred=pom;
pom=pom->veza;
}
}
}
]
nuki***
 
Odgovor na temu

dume
dumeljic davor

Član broj: 101237
Poruke: 3
*.ptt.yu.



Profil

icon Re: imam jedan mali problem12.07.2006. u 13:01 - pre 215 meseci
imas dosta greska sa zagradama '{}' i ';' ,ispravi to za sad. nisam te dobro razumeo koj je tvoj problem. u koju listu hoces de smestis strukturu, jer hoces da pridruzis imena strukturnim tipovima? objasni mi problem ili jos bolje posalji mi zadatak pa kad ga budem uradio poslacu ti ga.
dume
 
Odgovor na temu

petar karacic
student

Član broj: 89085
Poruke: 5
*.tel.net.ba.



Profil

icon Re: imam jedan mali problem12.07.2006. u 15:51 - pre 215 meseci
Ne nema ni jedne greske s {} i ; jedino na početku koda ima nepotrebna zagrada [ također i na kraju ] nemam pojma ni odakle ih.
Problem je u ovome
struct student {
char ime[20];
float ocjena; //broj s decimalnom točkom
struct student *veza;
} *glava=NULL;
Ja kompajliram i bildujem program i nema ni jedne greške ali kada unosim u program ocjenu s decimalnom točkom recimo 2,3 onda mi samo prekine rad programa i izbaci upozorenje dubug error i runtime error.

Kada imam ocjenu kao cjeli broj int ocjena;
Na primjer.

struct student {
char ime[20];
int ocjena; //cjeli broj
struct student *veza;
} *glava=NULL;


onda sve radi ok (naravno i u codu programa promjeni se unos ocjene iz scanf("%f",&novi->ocjena); u scanf("%d",&novi->ocjena);.).

Znači problem je u tome što neće nikako da mi program unosi brojeve s decimalnom točkom (čim unesem broj program se prekida), ali kada unosim cjeli broj sve je ok.
Ajd oprobaj ti u sebe pa vidi ima li ikakvo rjesenje.
P.S dodam i funkciju za ispis i sve ispisuje normalno kada je int ocjena



nuki***
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 871
*.dialup.blic.net.



+148 Profil

icon Re: imam jedan mali problem18.07.2006. u 16:23 - pre 215 meseci
Uvijek stavljaj kode izmedju code tagova i tako da neces imati problema sa prikazom koda na forumu.
Citat:
ali kada unosim u program ocjenu s decimalnom točkom recimo 2,3 ...

Ti si napisao 2,3 sa zarezom a ne sa tackom, mozda je u ovome problem, ako uneses zarez to ce biti dodjela pogresnog tipa (kao da dodjeljujes char) i to bi objasnjavalo runtime error. Dakle stavi na 2.3 umjesto 2,3

 
Odgovor na temu

petar karacic
student

Član broj: 89085
Poruke: 5
*.tel.net.ba.



Profil

icon Re: imam jedan mali problem20.07.2006. u 19:26 - pre 215 meseci
Nije u tome problem, unosim decimalne brojeve s točkom ali hvala na pokusaju.
Ima li itko ideju u čemu je problem, aajjjjjjjjjjjjjjjjjjde ljudi daj molim vas oprobajte rjesiti to.
nuki***
 
Odgovor na temu

mikson
Miroljub Simić
Beograd

Član broj: 19162
Poruke: 51
..njuel-bg.customer.sbb.co.yu.



Profil

icon Re: imam jedan mali problem23.07.2006. u 17:57 - pre 215 meseci
Interesting....

Code:
printf("\n\nunesite ocjenu studentu:");
scanf("%f",&novi->ocjena);
printf("\n\n%f",novi->ocjena);



Ovako prolazi.... hm?!
"So many people seem to see the word "error" and then stop... few seem to actually read the words on the OTHER side of the colon."
- Chris Phillips from the mplayer-users mailing list
 
Odgovor na temu

petar karacic
student

Član broj: 89085
Poruke: 5
*.tel.net.ba.



Profil

icon Re: imam jedan mali problem26.07.2006. u 16:34 - pre 215 meseci
E hvala ti, sada radi.
Najgolemije od toga je to što prije ono moje nije radilo a sada kada sam unio tvoj kod proradilo je ono tvoje, i kada sam opet vratio na svoje proradilo i moje. ČUDNO
Hvala jos jedanput mikson
nuki***
 
Odgovor na temu

[es] :: C/C++ programiranje :: imam jedan mali problem

[ Pregleda: 2491 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.