教学管理系统Word格式文档下载.docx

上传人:b****6 文档编号:18578346 上传时间:2022-12-28 格式:DOCX 页数:20 大小:88.63KB
下载 相关 举报
教学管理系统Word格式文档下载.docx_第1页
第1页 / 共20页
教学管理系统Word格式文档下载.docx_第2页
第2页 / 共20页
教学管理系统Word格式文档下载.docx_第3页
第3页 / 共20页
教学管理系统Word格式文档下载.docx_第4页
第4页 / 共20页
教学管理系统Word格式文档下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

教学管理系统Word格式文档下载.docx

《教学管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《教学管理系统Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。

教学管理系统Word格式文档下载.docx

(2)系基本信息管理:

系的基本信息输入、修改、删除

(3)课程信息管理:

课程信息的输入、修改、删除

(4)教职工信息管理:

教职工信息的输入、修改、删除

(5)选课管理:

每学期所选课程的学分不能超过15分。

(创建触发器)

学生可以同时选修一门或多门课程。

可以同时为多个学生选修某一门或某几门课程。

删除和修改选课信息。

(6)成绩管理(视图)

按课程输入和修改成绩。

(查询选该门课程的学生)

按学生输入和修改成绩。

(查询该学生所选的课程)

(7)信息查询

按学号、姓名、系号查询学生基本信息。

按职工号、姓名、系号查询教职工基本信息。

按系号、系名称查询系的基本信息。

按课程号、课程名称、上课教师姓名查询课程基本信息。

按学号、学生姓名、课程号、课程名称、上课教师姓名、系号查询学生成绩,内容包括课程基本情况。

若查询涉及多门课程,则按课程分组。

每门课程按总评成绩从高分到低分给出选修该门课程的所有学生的成绩(平时成绩、考试成绩和总评成绩)。

(8)统计报表

成绩登记表,内容包括课程基本信息(课程号、课程名称、任课教师号、学时、学分、上课时间、上课地点、考试时间)、选课学生名单(学号、姓名、性别),每个学生的平时成绩(空格)、考试成绩(空格)和总评成绩(空格),按学号排序:

顺序输出所有课程的成绩登记表。

按课程号、课程名称、教师姓名输出对应课程的成绩登记表。

**按系号输出对应课程的成绩登记表(本系所有教师担任的课程)。

成绩报表,内容包括课程基本信息(课程号、课程名称、任课教师号、学时、学分、上课时间、上课地点、考试时间),选课学生名单(学号、姓名、性别),每个学生的平时成绩、考试成绩和总评成绩,>

=90分、>

=80分、、>

=70分、>

=60分及不及格学生的人数及比例,按学号排序:

顺序输出所有课程的成绩报表。

(报表格式自己订制,可以参考学校的系统的输出格式)

按课程号、课程名称、教师姓名输出对应课程的成绩报表。

**按系号输出对应课程的成绩报表(本系所有教师担任的课程)

概念结构设计

表的设计

课程(课程号,课程名,职工号,学时,学分,上课时间,上课地点,考试时间)

主码:

课程号外码:

职工号

Course(Cno,Cname,Tno,Cperiod,Ccredit,Cbeigan,Caddress,Cexamtime)

系(系号,系名,系简介)

系号

Dept(Dno,Dname,Dintro)

学生(学号,姓名,性别,出生日期,入学成绩,系号)

学号外码:

系号

Student(Sno,Sname,Ssex,Sbirth,Senrolgrade,Dno)

教职工(职工号,姓名,性别,出生日期,职称,专业级教学方向,系号)

职工号外码:

Teacher(Tno,Tname,Tsex,Tbirth,Tjodtitle,Tprofession,Dno)

选课(学号,课程号,平时成绩,考试成绩,总成绩)

学号,课程号外码:

学号,课程号.

SC(Sno,Cno,Gordinary,Gexam,Gsum)

表的关系图

数据库结构:

课程表:

CREATETABLECourse(

Cnovarchar(12)NOTNULLPRIMARYKEY

CHECK(CnoLIKE'

[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'

),

Cnamevarchar(10)NULL,

CperiodsmallintNULL,

CcreditsmallintNULL,

Cbeiganvarchar(10)NULL

CHECK(CbeiganLIKE'

[0-9][0-9][-][0-9][0-9][0-9][0-9][-][0-9][0-9]'

Caddressvarchar(20)NULL,

Cexamtimevarchar

(2)NULL,

Tnovarchar(12)NULLREFERENCESTeacher(Tno)

ONUPDATECASCADEONDELETECASCADE,

系表:

CREATETABLEDept(

Dnovarchar(12)NOTNULLPRIMARYKEY

CHECK(DnoLIKE'

Dnamevarchar(20)NULL,

DintrontextNULL,

学生表:

CREATETABLEStudent(

Snovarchar(12)NOTNULLPRIMARYKEY

CHECK(SnoLIKE'

Snamevarchar(10)NULL,

Ssexchar

(2)NULL

CHECK(Ssex='

男'

ORSsex='

女'

SbirthDATETIMENULL,

SenrolgradesmallintNULL,

CHECK(Senrolgrade>

=0),

Dnovarchar(12)NULLREFERENCESDept(Dno)

职工表:

CREATETABLETeacher(

Tnovarchar(12)NOTNULLPRIMARYKEY

CHECK(TnoLIKE'

Tnamevarchar(10)NULL,

Tsexchar

(2)NULL

CHECK(Tsex='

ORTsex='

TbirthDATETIMENULL,

Tjobtitlevarchar(20)NULL,

Tprofessionvarchar(20)NULL,

学课和成绩表:

CREATETABLESC(

Snovarchar(12)NOTNULLREFERENCESStudent(Sno),

Cnovarchar(12)NOTNULLREFERENCESCourse(Cno),

GordinarysmallintNULLCHECK(Gordinary>

=0ANDGordinary<

=100),

GexamsmallintNULLCHECK(Gexam>

=0ANDGexam<

GsumAS(Gordinary*+Gexam*,

PRIMARYKEY(Sno,Cno),

创建的存储过程:

对Dept、Student、Teacher、Course表的删除

CREATEPROCdeleteByNo

@Novarchar(12),

@typesmallint=1

AS

begintransaction

IF@type=1

BEGIN

DELETEFROMDept

WHEREDno=@No;

END

IF@type=2

DELETEFROMTeacher

WHERETno=@No

END

IF@type=3

DELETEFROMStudent

WHERESno=@No

IF@type=4

DELETEFROMCourse

WHERECno=@No

COMMIT

添加系信息:

CREATEPROCInsertDept

@Dnovarchar(12),@Dnamevarchar(20),@Dintrontext

BEGINTRANSACTION

INSERTINTODept

VALUES(@Dno,@Dname,@Dintro)

添加学生信息:

CREATEPROCInsertStudent

@Snovarchar(12),@Snamevarchar(10),@Ssexchar

(2),@Sbirthdatetime,

@Senrolgradesmallint=0,@Dnovarchar(12)

INSERTINTOStudent

VALUES(@Sno,@Sname,@Ssex,@Sbirth,@Senrolgrade,@Dno)

添加课程信息:

CREATEPROCInsertCourse

@Cnovarchar(12),@Cnamevarchar(20),@Cperiodsmallint=0,@Ccredit

Smallint=0,@Cbeiganvarchar(10),@Caddressvarchar(20),@Cexamtimevarchar

(2),@Tnovarchar(12)

INSERTINTOCourse

VALUES(@Cno,@Cname,@Cperiod,@Ccredit,@Cbeigan,@Caddress,@Cexamtime,@Tno)

添加职工信息:

CREATEPROCInsertTeacher

@Tnovarchar(12),@Tnamevarchar(10),@Tsexchar

(2),@Tbirthdatetime,

@Tjobtitlevarchar(20),@Tprofessionvarchar(20),@Dnovarchar(12)

INSERTINTOTeacher

VALUES(@Tno,@Tname,@Tsex,@Tbirth,@Tjobtitle,@Tprofession,@Dno)

创建的视图:

CREATEVIEWChooseCourse(Sno,Sname,Cno,Cname,Ccredit)

SELECT,,,,

FROMStudent,Course,SC

WHERE=AND=

CREATEVIEWScore(Sno,Sname,Cno,Cname,Gordinary,Gexam,Gsum)

Select,Sname,,Cname,Gordinary,Gexam,Gsum

FromStudent,Course,SC

Where=AND=

创建的触发器

Createtriggerinsertchoose

onSC

FORinsert

as

declare@iint,@Snovarchar(12)

select@Sno=Sno

Frominserted

select@i=sum(Ccredit)

fromChooseCourse

where=@Sno

if(@i>

15)

begin

ROLLBACKTRANSACTION

RAISERROR('

你选修的学分大于15学分,请确认后选课'

16,1)

程序的详细设计

一、数据库操作类ADOCoon

enumType{CSTRING,INT1,};

classADOConn

{

public:

ADOConn();

virtual~ADOConn();

voidOnInitDBConnect();

_RecordsetPtr&

GetRecordSet(_bstr_tbstrSQL);

ExcuteStoreProc(CStringProcNmae,CString*Parameters,CString*Values,Type*type);

BOOLExecuteSQL(_bstr_tbstrSQL);

voidExitConect();

_ConnectionPtrGetConnection();

private:

_ConnectionPtrm_PConnection;

_RecordsetPtrm_PRecordPtr;

};

ADOConn:

:

ADOConn()

OnInitDBConnect();

}

~ADOConn()

ADOConn:

ExitConect();

voidADOConn:

OnInitDBConnect()

:

CoInitialize(NULL);

try

{

("

"

);

_bstr_tstrConnect="

Provider=SQLOLEDB;

IntegratedSecurity=SSPI;

PersistSecurityInfo=False;

InitialCatalog=ljx;

DataSource=(local)"

;

m_PConnection->

Open(strConnect,"

"

adModeUnknown);

}

catch(_com_errore)

AfxMessageBox());

_RecordsetPtr&

GetRecordSet(_bstr_tbstrSQL)

if(m_PConnection==NULL)

{

OnInitDBConnect();

}

(__uuidof(Recordset));

m_PRecordPtr->

Open(bstrSQL,(),adOpenDynamic,adLockOptimistic,adCmdText);

returnm_PRecordPtr;

BOOLADOConn:

ExecuteSQL(_bstr_tbstrSQL)

m_PConnection->

Execute(bstrSQL,NULL,adCmdText);

returnTRUE;

returnFALSE;

ExitConect()

if(m_PRecordPtr!

=NULL)

();

m_PConnection->

Close();

CoUninitialize();

ExcuteStoreProc(CStringProcNmae,CString*Parameters,CString*Values,Type*type)

_CommandPtrpCmd=NULL;

(__uuidof(Command));

pCmd->

ActiveConnection=m_PConnection;

CommandType=adCmdStoredProc;

CommandText=_bstr_t(ProcNmae);

Parameters->

Refresh();

while(*Parameters!

="

\0"

switch(*type)

{

caseCSTRING:

pCmd->

Item[_variant_t(_bstr_t(*Parameters))]->

Value=_variant_t(*Values);

Parameters++;

Values++;

type++;

break;

caseINT1:

{

CStringstr=*Values;

intmm=atoi(str);

Value=_variant_t((long)mm);

}

default:

}

m_PRecordPtr=pCmd->

Execute(NULL,NULL,adCmdStoredProc);

_ConnectionPtrADOConn:

GetConnection()

if(m_PConnection==NULL)

OnInitDBConnect();

returnm_PConnection;

二、登陆界面

响应登陆按钮的消息:

voidCMyDlg:

OnLogin()

ormat("

%d"

m_Grade);

type[4]=INT1;

str[5]=m_Dno;

type[5]=CSTRING;

voidCAddStudent:

GetString(CString*str)

str[0]=m_Sno;

str[1]=m_Name;

str[2]=Sex;

str[3]=m_Sbirth;

str[4].Format("

SetWindowCString(CString*Info)

if(Info==NULL)

return;

GetDlgItem(IDC_SNO)->

SetWindowText(Info[0]);

GetDlgItem(IDC_SNAME)->

SetWindowText(Info[1]);

if(Info[2]=="

男"

(1);

((CButton*)GetDlgItem(IDC_SEX2))->

SetCheck(0);

Sex="

else

(0);

SetCheck

(1);

女"

GetDlgItem(IDC_SBIRTH)->

SetWindowText(Info[3]);

GetDlgItem(IDC_GRADE)->

SetWindowText(Info[4]);

GetDlgItem(IDC_DNO)->

SetWindowText(Info[5]);

this->

Info=NULL;

SetCString(CString*info)

Info=info;

主程序添加功能的实现:

voidCAdminStudent:

OnAdd()

strVal;

str+="

\r\n"

str+="

性别"

str+=m_Rec->

GetCollect(_T("

Ssex"

)).bstrVal;

出生日期:

data=m_Rec->

Sbirth"

));

birth=COleDateTime(data);

(_T("

%d-%d-%d"

),(),(),());

str+=Sno;

入学成绩:

("

m_Rec->

Senrolgrade"

)).bstrVal);

所在系号:

Dno"

MessageBox(str);

(一)修改功能(UPDA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1