c++课程设计
南京
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
学院
题 目 面向对象程序设计
课 程 名 称 学生成绩管理
院(系、部、中心) 康尼学院
专 业 信息工程
班 级 K信息工程091
学 生 姓 名 杨传龙
学 号 240092616
设 计 地 点 信息楼C205
指 导 教 师 郭丽红
设计起止时间:2010年12月13日至2010年12月17日
(正文,宋体,小四,1.5倍行距,每个段落开头空两格)
(字数
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
:5000字左右,页数10页左右。)
目 录
1,系统设计的目的和意义 ................................. 3
2,系统总框架图.................................................... 3 3,软件功能描述.................................................... 3 4,软件代码的设计 ............................................... 4
4,1数据结构描述与定义 .............................. 4
4,2模块设计 ..................................................... 8 5,软件使用说明................................................. 11 6,测试结果与分析 ............................................ 11 7,比较有特色的函数 ....................................... 11 8,存在的不足与对策 ....................................... 11 9,课程设计总结................................................. 11 附录:源程序清单 .............................................. 12
1(系统设计的目的和意义
系统设计的目的是更好的管理学生成绩,以实现对其进行一些简单的操作,如添加,删除,查询,修改学生成绩等。从而实现更好的管理学生成绩的目的。
系统设计的意义是巩固所学理论知识,对学生掌握面向过程和面向对象程序设计的基本
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
和编程技巧有重要意义,与此同时更加的巩固了所学理论知识,使理论与实际相结合。从而提高自我分析问题、解决问题的能力。
2(系统总框架图
主控模块
登 添查修添退 删修查删
入加 询 改加出除改询除
框 成成成框 框 成框 框 框
绩 绩 绩 绩
3(软件功能描述
随着国家教育系统的全面升级,越来越多的学生信息及学生成绩需要管理,本软件可以实现对学生信息及考试成绩的管理,能够实现一些基本的操作功能,
如查询功能,添加功能,修改功能,删除功能等等,方便工作人员管理学生成绩。
4(软件代码的设计
4(1数据结构描述与定义
void CShuDlg::OnCancel2() //登录框确定函数定义
{
// TODO: Add your control notification handler code here
UpdateData(true);
if((m_name=="1")&&(m_password=="1"))
{
CDialog::OnCancel();
guanli s;
s.DoModal();
}
else
AfxMessageBox("密码错误!");
,
void CShuDlg::OnCancel() //登录框取消函数定义 {
// TODO: Add extra cleanup here
CDialog::OnCancel();
}
class shu : public CRecordset//shu类的定义
{
public:
shu(CDatabase* pDatabase = NULL);
DECLARE_DYNAMIC(shu)
// Field/Param Data
//{{AFX_FIELD(shu, CRecordset)
int m_Number;
CString m_Name;
CString m_Class;
float m_English;
float m_Maths;
float m_Computer;
float m_CLanguage;
float m_Total;
int m_Age;
float m_Average;
//}}AFX_FIELD
class xinxi2 : public CRecordset//xinxi2类的定义 {
public:
xinxi2(CDatabase* pDatabase = NULL);
DECLARE_DYNAMIC(xinxi2)
// Field/Param Data
//{{AFX_FIELD(xinxi2, CRecordset)
int m_Number;
CString m_Name;
CString m_Class;
float m_English;
float m_Maths;
float m_Computer;
float m_CLanguage;
float m_Total;
int m_Age;
float m_Average;
//}}AFX_FIELD
void guanli::Onchaxun() //查询函数的定义 {
// TODO: Add your control notification handler code here
xinxi2 temp;
CString str="select * from xinxi1";
int flag=0;
if(!temp.Open(xinxi2::dynaset,_T(str)))
{AfxMessageBox("error");
}
UpdateData(true);
temp.MoveFirst();
do{
if(temp.m_Number!=m_No)
temp.MoveNext();
else
{flag=1;
break;
}
}while(!temp.IsEOF());
if(flag==1)
{
m_N=temp.m_Name;
m_C=temp.m_CLanguage;
m_Cl=temp.m_Class;
m_C=temp.m_Computer;
m_E=temp.m_English;
m_M=temp.m_Maths;
m_No=temp.m_Number;
m_T=temp.m_CL+temp.m_Computer+temp.m_English+temp.m_Maths;
m_A=temp.m_Age;
m_Ave=m_To/4;
temp.Close();
UpdateData(false);
}
else
{
temp.Close();
!"); AfxMessageBox("查无此人
}
}
void guanli::Onshanchu() //删除函数的定义 {
// TODO: Add your control notification handler code here
xinxi2 temp;
CString str="select * from xinxi1";
int flag=0;
if(!temp.Open(xinxi2::dynaset,_T(str)))
{AfxMessageBox("error");
}
UpdateData(true);
temp.MoveFirst();
do{
if(temp.m_Number!=m_No)
temp.MoveNext();
else
{flag=1;
break;
}
}while(!temp.IsEOF());
if(flag==1)
{
m_N=temp.m_Name;
m_Cl=temp.m_CLanguage;
m_C=temp.m_Class;
m_C=temp.m_Computer;
m_E=temp.m_English;
m_M=temp.m_Maths;
m_No=temp.m_Number;
m_T=temp.m_Total;
m_A=temp.m_Age;
m_Ave=temp.m_Average;
UpdateData(false);
}
temp.Delete();
MessageBox("删除成功!");
}
void guanli::Ontianjia() //添加函数的定义 {
// TODO: Add your control notification handler code here
xinxi2 temp;
CString str="select * from xinxi1";
int flag=0;
if(!temp.Open(xinxi2::dynaset,_T(str)))
{AfxMessageBox("error");
}
UpdateData(true);
temp.AddNew();
m_To=m_Ma+m_En+m_C+m_Co;
m_Ave=m_To/4;
UpdateData(false);
temp.m_Name=m_N;
temp.m_CLanguage=m_C;
temp.m_Class=m_Cl;
temp.m_Computer=m_C;
temp.m_English=m_E;
temp.m_Maths=m_M;
temp.m_Number=m_No;
temp.m_Total=m_T;
temp.m_Age=m_A;
temp.m_Average=m_Ave;
temp.Update();
temp.Close();
MessageBox("添加成功!");
}
void guanli::Onxiugai() //修改函数的定义 {
// TODO: Add your control notification handler code here
xinxi2 temp;
CString str="select * from xinxi1";
int flag=0;
if(!temp.Open(xinxi2::dynaset,_T(str)))
{AfxMessageBox("error");
}
UpdateData(true);
temp.MoveFirst();
do{if(temp.m_Number!=m_No)
temp.MoveNext();
else{flag=1;break;}
}
while(!temp.IsEOF());
if(flag==1)
{ temp.Edit();
temp.m_Name=m_N;
temp.m_CLanguage=m_Cl;
temp.m_Class=m_Cl;
temp.m_Computer=m_C;
temp.m_English=m_E;
temp.m_Maths=m_M;
temp.m_Number=m_No;
temp.m_Total=m_T;
temp.m_Age=m_A;
temp.m_Average=m_Ave;
temp.Update();
temp.Close();
MessageBox("修改成功!");
}
else{temp.Close();
AfxMessageBox("无此人");}
,
4(2模块设计
系统共分4个模块
错误~未找到引用源。?查询模块
算法:
S1: 输入要查的学生学号;
S2:若有此学生,就把
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
中的值对应的传递给管理框中相应的值;
S3:输出相应的值;
S4: 若无,则输出“查无此人~”;
开始
输入学号
N Y
学号存
在
查无此人~ 输出信息
结束
错误~未找到引用源。?删除模块
算法:
S1:输入要删的学生学号;
S2:先查询并显示出该学生信息;
S3:删除表中的相应学生信息;
开始
查询并显示出信息
删除信息
结束
错误~未找到引用源。?添加模块 算法:
S1:输入要添加学生学号;
S2:若已有该学号,则输出错误; S3:若无,则添加;
S4:输出添加成功;
开始
N Y
NO
添加成功 输出错误
结束
错误~未找到引用源。?修改模块 算法:
S1:输入要修改的学生学号,查询信息 S2:若无,则输出“无此人”
S3:若有,则进行修改
S4:输出修改成功
开始
N Y
NO
输出“修改成输出“无此人”
功”
结束
5(软件使用说明
学号是主键,所以操作者在使用查询功能时要以学号来进行查询的;添加功能需添加的学生的学号必须是数据库中没有的;修改,删除功能的前提是目标学生学号必须存在,且必须先查询再操作。以上说明请操作者谨记„„
6(测试结果与分析
按系统功能描述(设计目标)测试软件运行是否正确,测试数据的选择要代表性,列出所有测试用的输入数据和相应的输出数据以及测试结果。 7(比较有特色的函数
8(存在的不足与对策
9(课程设计总结
总结可以包括 : 课程设计 过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对C++这门课程的思考、在课程设计过程中对C++课程的认识等
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
附录:源程序清单
编码规范,符合软件工程的要求(变量名,函数名见名知义,注释规范占总程序
行数的2/5)。