PDA

View Full Version : آموزش: محاسبه درصد نمرات {دانلود پروژه}



Ali_M.Eghbaldar
چهارشنبه 06 مرداد 1389, 19:03 عصر
سلام به همه
این چند روز یکی از دوستان یه برنامه ای ازم می خواست که با توضیحاتم مشکلش حل نشد
تصمیم گرفتم یه نمونه کوچیک برتش بنویسم تا مشکلش حل شه

براساس پست:
http://barnamenevis.org/forum/showthread.php?p=1050143#post1050143

مواد لازم: :لبخند:
SQL Server 2005 یک عدد
IIS و مخلفات به مقدار لازم :قهقهه:

گفتم بجای Private کردن Public کنم تا اگه کسی خواست استفاده کنه

اگه برنامه کوچیکه باید ببخشید چون اصلا وقت نداشتم بزرگترش کنم :لبخندساده:
توضیح : برنامه ای است که نمره ها را براساس سه اصل:
جواب درست عدد 1
جواب غلط عدد -1
جواب نزده عدد 0
درصد را محاسبه می کند .
از اونجایی که علاقه به SQL دارم تمام محاسبات بوسیله یک StoreProcedure انجام میشه بنام Calc
Script SQL بصورت زیر است:


/*
select * from tbl_grant
select code_applicant,count(*) from tbl_grant where [nomre]=-1 group by [code_applicant]--تعداد غلط های داوطلب
select code_applicant,count(*) from tbl_grant where [nomre]=1 group by [code_applicant] --درست های هر داوطلب
select count(*) from tbl_grant --تعدد کل سوالات
*/
--------------------------
declare @code_applicant bigint
set @code_applicant=2

Declare @Correct bigint
Declare @wrong bigint
Declare @All bigint


set @All=(select count(*) from tbl_grant where code_applicant=@code_applicant)
set @wrong = (select count(*) from tbl_grant where [nomre]=-1 and code_applicant=@code_applicant group by [code_applicant])
set @Correct=(select count(*) from tbl_grant where [nomre]=1 and code_applicant=@code_applicant group by [code_applicant])
If (@wrong is null)
set @wrong=0
If (@Correct is null)
set @Correct=0
select code_applicant,(((3*@Correct)-@wrong)*100)/(3*@All) from tbl_grant where code_applicant=@code_applicant
group by [code_applicant]ساختار جدول :

http://tehranpic.net/images/gvs40xtaexlq7h87fk9.jpg

محتوای از قبل ریخته شده در جدول:

http://tehranpic.net/images/l8js0vwf24x3js8jsnu6.jpg

و محیط برنامه:

http://tehranpic.net/images/6ugeyzdv89b5bpas4vh.jpg
در TextBox کد داوطلب قرار میگیرد
---------------
اگه مشکلی بود مطرح کنید
موفق باشید

FullDeveloper
چهارشنبه 06 مرداد 1389, 23:41 عصر
سلام
واقعا دستتون درد نکه مثال جتلبی بود ولی ایکاش به قول خودتون کامل ترش می کردید
بازم ممنون :تشویق:

Ali_M.Eghbaldar
پنج شنبه 07 مرداد 1389, 01:21 صبح
سلام
ممنونم . همون طور که گفتم وقت نمیشه . در اسرع وقت . حتماااااااا :لبخندساده:
موفق باشی