PDA

نسخه کامل مشاهده نسخه کامل : دستور struct به همراه اشاره گر



del30m
22-11-2011, 20:54
سلام!

اين سوال رو نميتونم با اشاره گر بنويسم!اگه ميشه بگيد كه چطوري بهم ربطشون بدم.
سوال:تابعي بنويسيد كه نمره و معدل n دانشجو را بگيرد!

همين سوال رو با n=20 نوشتم كامپايل ميشه و در موقع run اولين ورودي ها رو ميگيره ولي بعديها رو نميتونه بگيره اشكالش كجاست؟

ممنون ميشم كمكم كنيد!

اينم كد همين مسئله با n=20 :

// barnamei ke nam & moadele 20 daneshjoo ra begirad!
#include "stdio.h"
#include "conio.h"
struct studentpack
{
char name[20];
float grade;
};
int main ()
{
struct studentpack pk[20];
int i=0;
for (i=0;i<20;i++)
{
printf ("enter a student name: ");
printf ("\n");
gets (pk[i].name);
printf ("\nenter her/his grade on float:\n ");
scanf ("%f",&pk[i].grade);
}
return 0;
}

p d
05-12-2011, 23:02
سلام.
از لحاظ منطقی الگوریتم شما مشکلی نداره. مشکل اون enter هست که از بافر برداشته نمیشه و وقتی gets برای بار دوم صدا زده میشه enter که از بافر برداشته نشده بود و برمیداره.
این کد و ببینید؛ درست کار میکنه :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید