软件学院课程设计报告.docx

上传人:b****5 文档编号:7609956 上传时间:2023-01-25 格式:DOCX 页数:39 大小:197.01KB
下载 相关 举报
软件学院课程设计报告.docx_第1页
第1页 / 共39页
软件学院课程设计报告.docx_第2页
第2页 / 共39页
软件学院课程设计报告.docx_第3页
第3页 / 共39页
软件学院课程设计报告.docx_第4页
第4页 / 共39页
软件学院课程设计报告.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

软件学院课程设计报告.docx

《软件学院课程设计报告.docx》由会员分享,可在线阅读,更多相关《软件学院课程设计报告.docx(39页珍藏版)》请在冰豆网上搜索。

软件学院课程设计报告.docx

软件学院课程设计报告

 

课程设计

设计题目:

班级信息管理系统

班级:

15-

学号:

201

学生姓名:

______

设计地点(单位):

软件学院第一实验室

指导教师评语:

该生在?

统设计中,承担了?

子系统的编程工作,并且和团队通力合作,进行程序的调试工作,最后系统正常运行,达到了预期目标,提高了C++语言在实际运用中的能力。

 

成绩:

________________

教师签名:

__田生伟________________

完成日期:

2016年06月日

课程设计任务书

设计题目:

学生姓名

课程名称

面向对象程序设计课程设计

专业班级

地点

第一实验室

起止时间

2016.6.-2016.6.

设计内容及要求

主要利用c语言的文件操作能力设计开发一个小型的班级信息管理系统,至少具有如下功能:

学生对本人信息查询,学生对他人基本信息查询,老师对学生信息的查询,老师对学生信息的录入,老师对学生信息的修改,保存。

操作界面要符合用户的一般习惯,图形或文本界面都可以。

要求:

明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。

设计

参数

文件记录的字段数量不少于6个,分类统计中统计的项不少于2个。

进度

要求

1.布置设计题目,讲解要求和说明2016.6.7

2.确定设计任务,确定具体的功能,熟悉相关知识2016.6.

3.按功能需求确定程序的主要模块2016.

4.编程实现程序的功能2016.6.-2016.6.

5.调试并完善程序2016.6.

6.撰写课程设计报告2016.6.

7.提交课程设计报告并答辩2016.6.

参考资料

其它

说明

1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。

2.若填写内容较多可另纸附后。

3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。

教研室主任:

指导教师:

年月日

摘要..............................................................4

1设计内容、任务及具体要求.........................................5

1.1设计内容.....................................................5

1.2设计任务及具体要求...........................................5

2概要设计.........................................................6

2.1该系统的功能简介.............................................4

2.2总体程序框图.................................................7

2.3各个模块之间的主要关系........................................7

3系统功能模块的具体设计............................................8

3.1各个模块的程序流程图及运行界面................................8

3.2对代码加以分析说明.......................................16

4程序调试分析.....................................................40

5程序使用说明.....................................................41

6总结............................................................42

致谢...........................................................43

 

摘要

班级信息管理系统最大的优点在于实现班级信息的管理和“共享”,其中,共享的实现是为方便学生对本班同学基本信息的查询,当然,像学生成绩这一类涉及隐私的信息将不会出现在基本信息当中,但本人可凭借学号对其进行查询。

对于班级信息的管理则有老师或班委负责,当然,管理之前则要进行密码验证,来确保管理者身份的合法性。

此处所说的管理则是对学生信息的录入,修改,增加,删除,输出学生信息,以及成绩排名的输出。

本文从需求分析、开发平台选择、系统模块建立、数据库设计、功能模块编程实现及软件测试等方面阐述了本应用系统的设计过程。

为便于说明,文中绘制了程序结构框图、数据流程图和部分界面图。

最后附有主要的源程序代码清单。

关键词:

班级管理系统维护数据汇总管理系统软件开发

 

1设计内容、任务及具体要求

1.1设计内容

《班级信息管理系统》按照课程设计要求进行设计,实现班级信息的管理和共享,该系统功能主要包括六大模块:

1)学生对本人信息的查询。

此功能可以将学生的所有信息输出,包括成绩,但是它要求输入学号。

2)学生对他人信息的查询。

此功能主要方便同学之间相互联系,学生只需要输入所查询同学的姓名,就可得知该同学的基本信息,但出于隐私的保护,将不输出成绩这一栏。

3)老师对此系统拥有输入修改查询的权限,根据教师用户输入密码验证获得权限,方可进行操作。

4)教师管理模块,用户输入学生学号后,进行信息的录入、修改、查询。

5)数据输出模块,输出其相应的模块功能。

6)信息统计模块,根据输入的学生信息进行统计。

所有录入的学生的成绩根据总分进行排名。

1.2设计任务及具体要求

主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:

学生(本人信息查询,他人信息查询),教师(信息录入,信息查询,信息修改)。

操作界面要符合用户的一般习惯,图形或文本界面都可以。

要求:

明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。

2概要设计

2.1该系统的功能简介

该系统的主要功能是实现学生信息的录入与查询,包括(录入学生的基本信息、高数成绩、英语成绩、体育成绩、电工电子成绩、计算机系统基础成绩、思修成绩、C语言成绩、学生电话号码)。

对学生的信息进行删除、修改。

并统计学生的所有信息。

2.2总体程序框图

 

图2.2-A老师界面

 

图2.2-B添加学生信息

 

图2.2-C学生界面

 

图2.2-D主界面

2.2各个模块之间的主要关系

该程序的功能主要是实现学生信息的录入与查询,并对所有学生信息的统计。

各个模块之间的关系是相互联系的。

首先,主函数包含了所有的子函数。

主函数是整个程序的核心。

子函数之间也是有联系的,对所有学生成绩的计算、学生信息的修改、删除、查询,必须是在学生信息录入的情况下进行的。

因此对学生信息的录入是非常重要的。

3系统功能模块的具体设计

3.1各个模块的程序流程图

1)总界面程序运行界面

2)

老师界面程序(N-S)流程图及运行界面

老师界面程序(N-S)流程图(见图3.1-A)

定义变量charch[2];

while(TRUE)

 

scanf(“%s”,ch);

switch(ch)

case'1':

addone();break;添加学生信息

case'2':

delone();break;删除个人记录

case'3':

modone();break;修改个人记录

case'4':

idone();break;查找学生记录

case'5':

listall();break;统计学生信息记录

case'6':

wfile();break;将信息写入文件当中

case'7':

rfile();break;从文件中读取信息

case'8':

exit(0);退出系统

default:

printf("对不起,请重新选择!

\n");

图3.1-A老师界面程序

简单说明:

该功能主要显示的是给老师用户一个进入界面,它主要的是显示该程序主要能够执行的有哪些功能。

下面是显示给用户的界面。

(见图3.1-A)

运行界面截图

图3.1B老师界面

3)

录入学生信息(N-S)流程图及程序运行界面

录入学生信息(N-S)流程图(见图3.3-A)

printf("RecordNO.%d\n",n+1);

输入学生基本信息

输入学生的姓名

输入学生的学生

输入学生的电话号码

输入学生的QQ号

输入学生的高数成绩

输入学生的英语成绩

输入学生的电工电子成绩

输入学生的体育成绩

输入学生的C语言成绩

输入学生的思修成绩

输入学生的计算机系统基础成绩

图3.3-A录入学生信息程序

该模块主要是对学生的信息进行录入,录入的主要有包括(录入学生的基本信息、高数成绩、英语成绩、体育成绩、电工电子成绩、计算机系统基础成绩、思修成绩、C语言成绩、学生电话号码)。

录入学生信息程序运行界面。

(见图3.3-B)

图3.3-B录入学生信息程序界面

4)删除学生记录的(N-S)流程图及程序运行界面

删除学生记录的(N-S)流程图(见图3.4-A)

定义数据变量

输入某学生的学号gets(numstr);

number=atof(numstr);

for(j=0;j<=n;j++)

 

gl[j].number==number?

flagfind=1;

tmp[k]=gl[j];k++;

flagfind==1?

for(j=0;j<=(n-1);j++)

没有你要删除的记录

gl[j]=tmp[j];

成功删除记录

n=n-1;

return(0);

图3.4-A删除学生记录程序

该模块主要通过已经输入的学生信息进行删除,如果你输入的信息存在或不存在,则显示以下运行界面。

见图(3.4-B)

图3.4-B删除学生记录程序界面

5)修改个人记录的(N-S)流程图及运行界面

修改个人记录的(N-S)流程图(见图3.5-A)

定义数据变量

输入学生的学号

将所输学生的学号转化为double型

for(j=0;j<=n;j++)

 

gl[j].number==number?

输入学生的新信息同时调用atof进行修改

flagfind=0

flagfind=1;

flagfind!

=0?

return0

图3.5-A修改个人记录程序

修改个人记录是在原有的基础上对学生信息进行修改,在修改的同时你可以看到该学生原来的信息。

以下是修改学生信息过后的显示界面。

(见图3.5-B)

图3.5-B修改个人记录的运行界面

 

6)查找学生记录的(N-S)流程图及运行界面

查找学生记录的(N-S)流程图(见图3.6-A)

定义数据变量

输入学生

将所输学生的学号化为double型

for(j=0;j<=n;j++)

 

gl[j].number==number?

将查询到的程序一一输出

flagfind=0

 

flagfind=1

flagfind!

=0?

您查找的记录不存在!

return0

图3.6-A查找学生记录的(N-S)流程图

该功能是对已经录入的学生信息进行查寻,如果你输入的学生学号存在,则显示学生信息,如果不存在,则提示为“您查找的记录不存在”。

运行界面如下。

(见图3.6-B)

图3.6-B查找学生记录的运行界面

7)统计出所有的学生信息的(N-S)流程图及运行界面

统计出所有的学生信息的N-S流程图(见图3.7-A)

intj

n<1?

您查找的记录不存在

 

for(j=0;j

 

printf("\nNO:

%d|",j+1)

输出全体学生相应的信息

return(0)

图3.7-A统计出所有的学生信息的(N-S)流程图

在这个子模块程序中,主要是对输入的学生信息进行统计,统计过后并输出说有的学生信息。

以下是程序的运行界面。

(见图3.7-B)

图3.7-B统计出所有的学生信息的运行界面

8)班级信息管理学生的运行界面

3.2对代码加以分析说明

#include"stdio.h"

#include"conio.h"

#include"stdlib.h"

#include"string.h"

#include"dos.h"

/*为了调用atof()等函数*/

#include"stdlib.h"

#defineTRUE1

intsystem(constchar*string);//清屏函数声明

addone();//增加学生信息

delone();//删除学生信息

modone();//修改学生信息

idone();//输出某学生的所有信息

listall();//学生成绩排名信息

wfile();//保存文件

rfile();//下载文件

voidmima();//教师密码登陆

personalInformation();//本人信息查询

informationSearch();//信息查询

studentSystem();//学生界面

voidteacherSystem();//教师界面

passwordMod();//修改密码

otherInformation();//他人信息查询

/*结构体声明*/

structinformation

{

charname[50];//姓名

doublenumber;//学号

doubleTel;//电话号码

doubleQQ;//QQ号码

doubleMath;//高数

doubleEnglish;//英语

doubleele;//电子电工

doubleLanguage;//C语言

doublesiXiu;//思修

doublePE;//体育

doubleComputer;//计算机系统基础

doubleamount;//总分

intpassword;//密码

};

structinformationgl[50];

/*建立结构体变量*/

structinformationtemp;

/*学生列表中的数量*/

intn=0;

/*获得字符串*/

charnumstr[50];

 

///////////////////////////////主函数/////////////////////////////////////////////////////

intmain()

{

//总界面

charch[2];//ch存放选项

intn=0;//控制输错次数

system("color3e");//颜色

while(TRUE)

{

system("cls");//清屏

printf("\t★************★***************★******************★**************★\n\n");

printf("\t\t\t欢迎来到班级管理系统\n\n");

printf("\t\t\t\t★1.学生\n\n");

printf("\t\t\t\t★2.老师\n\n");

printf("\t\t\t\t★3.结束\n\n");

printf("请选择1或2,按回车键结束\n\n");

scanf("%s",ch);

switch(ch[0])

{

case'1':

studentSystem();

break;//studentSystem学生界面

case'2':

mima();

break;//教师登陆验证

case'3':

exit(0);//退出

default:

printf("输入有误,请核对后重新输入\n\n");

}

}

}

//本人信息查询界面///////////////////////////////////////////////////////////////////////////////////////

personalInformation()

{

intn=0,i;

doublenumber1;//承接学号

system("cls");//清屏

printf("\t★************★***************★******************★**************★\n\n");

printf("\t\t\t欢迎来到学生信息服务中心\n\n");

printf("请输入你的学号,按回车键结束\n\n");

scanf("%lf",&number1);

for(i=0;i<50;i++)

{

if(number1==gl[i].number)

break;//学号验证

}

printf("姓名:

%s",gl[i].name);

printf("QQ:

%lf",gl[i].QQ);

printf("学号:

%lf",gl[i].number);

printf("\n\n");

printf("高数:

%lf",gl[i].Math);

printf("英语:

%lf",gl[i].English);

printf("电子电工:

%lf",gl[i].ele);

printf("\n\n");

printf("计算机基础:

%lf",gl[i].Computer);

printf("C语言:

%lf",gl[i].Language);

printf("思修:

%lf",gl[i].siXiu);

printf("\n\n");

printf("体育:

%lf",gl[i].PE);

printf("电话:

%lf",gl[i].Tel);

printf("总分:

%lf",gl[i].amount);

printf("\n\n");

exit(0);

}

////////////学生界面////////////////////////////////////////////////////////////////

studentSystem()

{

charch[2];

intn=0;

system("cls");

printf("\t★************★***************★******************★**************★\n\n");

printf("\t\t\t欢迎来到学生服务中心\n\n");

printf("\t\t\t\t★1.信息查询\n\n");

printf("\t\t\t\t★2.返回首页\n\n");

printf("请选择1或2,按回车键结束\n\n");

while(TRUE)

{

scanf("%s",ch);

switch(ch[0])

{

case'1':

personalInformation();break;//本人信息查询

case'2':

return;

default:

printf("输入有误,请重新输入\n\n");

}

}

}

///////////////////////////教师系统//////////////////////////

voidteacherSystem()

{

FILE*fptr;

charch[2];

n=0;

//rfile();使用后启动程序时系统会自动加载纪录*/

//////////////////////////////////////////////////////////////////

n=0;

printf("\nLoadingdate...\n");

if((fptr=fopen("成绩.rec","rb"))==NULL)

printf("Cannotopenfile成绩.rec!

\n");

else

{

while(fread(&gl[n],sizeof(gl[n]),1,fptr)==1)

n++;

fclose(fptr);

printf("Total%drecordsread!

\n",n);

}

//////////////////////////////////////////////////////////////////

while(TRUE)

{

printf("\n");

system("cls");

printf("================================================================================\n");

printf("\t\t〓〖欢迎来到班级管理系统(老师)〗〓(请在<1-8>中选择)\n");

//printf("______________________________________________________\n");

printf("\t\t★1.增加学生的信息\n");

printf("\t\t★2.删除某学生的信息\n");

printf("\t\t★3.改变某学生的信息\n");

printf("\t\t★4.输出某学生的所有信息\n");

printf("\t\t★5.学生成绩排名信息\n");

printf("\t\t★6.保存\n");

printf("\t\t★7.下载\n");

printf("\t\t★8.退出\n");

printf("\t\t★9.返回首页\n");

printf("========================================================\n");

printf("\t\t\t请选择(1-9)\n");

sca

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

当前位置:首页 > 成人教育 > 专升本

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

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