آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

کد نویسی برای سوالات چند گزینه ای به چه شکله ؟

نورحسینی  10 سال پیش  10 سال پیش
+2 0

ضمن عرض سلام . یک سری سوال دارم که سه گزینه ایه . یکی از گزینه ها امتیازش صفره دیگری یک و دیگری دو برای اینکه در نهایت جمع بزنه و امتیاز بده . به نظر شما کدش رو چطور باید بنویسم . از هر گونه کمک دوستان ممنون اعم از تکه کد ، سمپل پروژه یا راهنمایی و آدرس و ...

+1 0
واسه امتیاز دهی به نظرم میشه یه متغیر استاتیک تعریف کرد که هر بار امتیازو بگیره و بریزه تو متغیر استاتیک (10 سال پیش)
0 0
ممنون محسن جان ولی به نظرت از کجا باید شروع کنم ؟ (10 سال پیش)
+1 0
ممنون محسن جان ولی به نظرت از کجا باید شروع کنم ؟ طرح پیشهادیت برای شروع چیه ؟ ممنون (10 سال پیش)
0 0
آقای نور حسینی شما چگونه این سوال هارو با جواب هایش در برنامتون استفاده کردین چون منم باید همین کارو کنم میخواستم ببینم شما چجور انجام دادین تا بهترین روشو انتخاب کنم؟ (10 سال پیش)
+1 0
والا من تازه بسم الله رو گفتم . ولی منظورت رو درست نفهمیدم . منظرت گرافیکشه یا کدنویسیش ؟ (10 سال پیش)
0 0
نه کدش.یعنی به نظر شما بهتره سوالامو تو استرینگ ذخیره کنم یا یه بانک بزنم یا لابه لای کدام بزارم یا...؟ (10 سال پیش)
+1 0
توصیه من استفاده از دیتابیسه . استرینگ ها دردسر داره ولی اونم خوبه . لابلای کد اصلا توصیه نمی کنم چون در تغییرات خیلی اذیت میشی . (10 سال پیش)
0 0
اگر از استرینگ استفاده کنم گزینه هاشو چجوری باهاش مرتبط کنم؟مثلا سوال هام 2 گزینه ای هستن. (10 سال پیش)
+1 0
کسی که جواب نمیده . من خودم فکر می کنم اگر از دیتابیس استفاده کنم برای سوال و جوابها شیوه خوبی باشه . فقط طریقه شیوه امتیاز دهی رو نمیدونم چه کار باید کرد کسی از دوستان نمونه کد نداره ؟ (10 سال پیش)
+2 0
همین دیگه . این تاپک رو زدم که بچه ها بیان با هم کمک کنیم تا وارد جزییات بشیم . مسلما خیلی ها با سوال و جواب سر و کار دارن و مورد استفادشون واقع میشه . هر کس هر چی میدونی دریغ نکنه بلکه کدش رو یا تکه هاییش رو در بیاریم . (10 سال پیش)
+1 0
خب میتونین این سوال هارو در یک دیالوگ نمایش بدین و برای هر کدوم از جواب ها قابلیت کلیک کردن بزارین.بعد رو هر کدوم که کلیک شد امتیاز مربوط به اون سوالو بریزه تو یک متغیر و همین جور در ادامه امتیاز ها به همین متغیر ها اظافه بشه. (10 سال پیش)
+2 0
خوب برای یک نقطه شروع خیلی خوبه . من قصدم اینه که از یک دیتا بیس ستفاده کنم . بهتره که یک xml طراحی کنم که سه تا تکست ویو داشته باشه یکی برای سوال و سه تای دیگه برای جواب . جوابها هم قابلیت کلیک داشته باشه . خوب حالا باید یک رکورد در دیتابیس ایجاد کرد که علاوه بر تایتل و متن یک بخش امتیاز جواب هم داشته باشه که با کلیک بر روی هر جواب اون امتیاز مربوطه هم از دیتابیس خونده بشه و در یک متغیر ذخیره بشه و نتیجه با نتیجه سوال بعدی جمع بشه . حالا باید یک معیار بدیم به کد که مثلا اگر نتیجه در بین این عدد تا این عدد بود بنویس فلان اگر بین فلان تا فلان بود بنویس فلان . خوب تا اینجا نظر دوستان چیه ؟ (10 سال پیش)
+1 0
آره همین کارو انجام بدین.حتی میتونین یک کادر دیگه اظافه کنین که امتیاز هر سوالم کنارش باشه. (10 سال پیش)
0 0
در مورد این قضیه معیار به نظرت چطور برای کد تعریف کنیم ؟ اینکه اگر بین این اعداد باشه چه کار کنه . (10 سال پیش)
0 0
منظورتون اینه که به یه امتیاز خواستی رسید چی بگه؟یا اینکه چجوری نمایش بده؟ (10 سال پیش)
0 0
نه اصلا برای خودت کدش از چه شیوه ای استفاده کنیم . از حلقه for مثلا یا ... یا راه دیگه ای مد نظرته ؟ (10 سال پیش)
+1 0
نه میشه از if استفاده کنیم.اگر بین این اعداد بود یه چیزی Toast یا تو دیالوگ نمایش بده else یه چیز دیگه. (10 سال پیش)
+1 0
چون بحث گزینه مطرح هست به نظرم دستور switch مناسبتر باشه (10 سال پیش)
0 0
خوب تا اینجا خوب پیش رفته و چارچوب کلی تقریبا مشخص شده . حالا دیگه دوستان اگر نظر خاصی دارن یا چیزی میخان اضافه کنن یا نمونه کد بدن خوشحال میشیم از نظراتشون استفاده کنیم . (10 سال پیش)
0 0
آخه دوست عزیز قرار گزینه ها بررسی بشن فقط امتیاز قراره بررسی بشه.بعدم دستور switch یکم بدفرمه نمیدوم چرا به دل من نمیچسبه باید یه فکری به حالش کنم تا بهش علاقه پیدا کنم:-) (10 سال پیش)
0 0
شیوه switch رو برای جمع بندی امتیاز می گی xuvi عزیز ؟ یا کلا شیوه دیگه ای در نظر داری ؟ (10 سال پیش)
+3 0
من یه برنامه داشتم به اسم " خودت رو بشناس " تو بازار هست میتونی اسکرین هاش رو ببینی ، که توش تست روانشناسی گذاشته بودم . گزینه ها رو با RadioButton ساختم بعد یه Switch گذاشتم که توی caseهاش مقدار id رادیو بوتون انتخاب شده رو بررسی میکرد .یه متغیر کلی int هم گذاشتم . بعد مثلا اگه گزینه 1 باشه متغیر رو با 5 جمع کن اگه گزینه 2 باشه با 10 جمع کن و... آخر سر هم که با بررسی مقدارکلی اون متغیر int با چند تا if ساده میفهمیدم چه متنی باید نمایش داده بشه :) نمیدونم چقد روشتم بهینه بود ولی به هر حال عمل کرد ! :)) (10 سال پیش)
+2 0
با تشکر از محسن عزیز که وارد جزییات شد . شیوه رادیو باتن هم به نظر شیوه مناسبی میاد . (10 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
MiRHaDi  10 سال پیش
+3 0

سلام

در دریتابیس سه تا جدول میسازیم

اولیش سوالات Questions با این فیلدها :

QID : int کد سوال
QBody : text بدنه سوال

متن سوال را به صورت Html داخل این فیلد میذاریم

جدول دوم گزینه هاست Choices :

  1. CID  : int کد
  2. جواب Qid  : int کد سوال CBody  : Text بدنه جواب value : int ارزش این جواب (صفر برای غلط )

جدول بعدی هم جوابهای انتخاب شده است Answers :

  1. Qid : int کد سوال
    Cid : int کد جواب
    Uid : int کد کاربر (برای حالتی که چند کاربر داشته باشد سیستم )

چند query ساده هم لازم است

یکی برای اینکه گزینه های یک سوال را در بیاری

select Cid,Cbody from choices c inner join Questions q on q.qid = c.qid

برای جوابها :

 

 insert into Answers (QId,CId,Uid) values (کد سوال و کد جواب و کد کاربر)

 

برای اینکه امتیاز سوالات را بدست بیاری هم این میشه

select sum(value) from Choices c inner join Answers A on A.Cid = C.Cid and A.Qid = C.Qid 
where C.Qid = :QuestionId اینجا کد مربوط به سوال را می نویسی
and A.Uid = :UserId کد مربوط به کاربر را مینویسی
+1 0
دوست عزیز کارو چرا انقد پیچیده کردین خداییش خیلی از این راحت ترم میشه نوشت که تازه بهینه هم باشه نیاز به این همه جدول بندیو Qery گرفتن نیست.چرا محاسباتو با کد جاوا انجام ندیم بریم با کد html تو بانک انجام بدیم. (10 سال پیش)
0 0
با تشکر از همه دوستان خصوصا میر هادی عزیز . ظاهرا راه ها داره متفاوت تر ومتنوع تر میشه ولی من خیلی از مطالبی که بالا گفته شده متوجه نشدم چون از html هیچ سررشته ای ندارم . از جاوا کسی بتونه کد بزاره خیلی آشناترم ولی بازم تشکر . (10 سال پیش)
0 0
خب مگه امتیاز هر گزینه مشخص نیست نورحسینی جان؟ امتیازات رو کجا مشخص میکنید؟ از بانک میخونید؟ (10 سال پیش)
0 0
من نگفتم با html بنویسی عزیز ، متن سوال را text بذار ؛ اگر خواستی رنگ بندی و عکس داشته باشه Html میذاری نخواستی text میذاری (10 سال پیش)
+1 0
این روشی که من گفتم نیاز به هیچ کد نویسی خاصی نداره و هر تعداد سوال که بخوای با هر تعداد گزینه و جواب میتونی بذاری و امتیاز را بهت میده بدون if و switch و ... و برای نوشتن برنامه های مختلف لازم نیست کد را دست بزنی ، فقط بانک سوال را تکمیل میکنی (10 سال پیش)
0 0
پس باید بیشتر بررسیش کنم . اتفاقا من از شیوه ای که دیتابیس داشته باشه بیشتر استقبال می کنم . (10 سال پیش)
پاسخ به سوال 
PandaStudio  10 سال پیش
+3 0

سلام

از سوالت اینطور برداشت کردم که میخواهی یه تست طراحی کنی

من واسه اینکار از این روش استفاده میکنم. یه جدول داریم با ستون های id,question,answer که توی question متن سوال را مینویسی و توی answer مقادیر 0 و 1 و 2 که هرکدوم نشون دهنده اینه که کاربر کدوم گزینه را انتخاب کرده. برای متن پاسخ ها هم میتونی 3تا ستون answer1,answer2,answer3 تعریف کنی و متن گزینه ها را داخلش ذخیره کنی و یا بیای توی فایل string متن سوالات را وارد کنی و یکی یکی از داخل فایل استرینگ بخونی که به نظر من اولی راحت تره. میمونه فقط دکمه های next و prev که برای اینکه موقع رفتن به سوال قبل یا بعد گزینه ها سر جاشون بمونن میتونی از Struct استفاده کنی و همه ی فیلد های جدولت را بریزی داخل یه struct سراسری مثل G.question و تغیرات را روی عناصر اون پیاده سازی کنی و نتیجه نهایی را طبق فرمولی که مد نظرت هست به دست بیاری.

پاسخ به سوال 
سامان پاپی  10 سال پیش
0 0

نورحسینی جان من خودم این راه حل رو استفاده کردم . برای همه رادیو باتن ها کار خاصی نذاشتم به جز اونی که درسته (اون رادیو باتنی که درسته فیلد رکورد رو 1 بکنه ) بعد با یه کوئری ساده 1 ها رو میشماره بعد میگم اگر متغیر نمره ده بود بنویس خوبه اگه پنج بود بنیس ضعیف


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .