文档库 最新最全的文档下载
当前位置:文档库 › C语言课程设计报告—学生选修课程系统设计

C语言课程设计报告—学生选修课程系统设计

C语言课程设计报告—学生选修课程系统设计
C语言课程设计报告—学生选修课程系统设计

中国地质大学本科生课程论文封面

课程名称C语言课程设计

教师姓名

本科生姓名

本科生学号

本科生专业

所在院系

类别: C.本科生

日期: 2012年09月05日

课程设计评语

注:1、无评阅人签名成绩无效;

2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;

3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。

目录

课程设计评语 (2)

目录 (3)

1.课程论文题目 (4)

2.程序设计思路 (5)

3.功能模块图 (5)

4.数据结构设计 (6)

5.算法设计 (6)

6.程序代码 (12)

7.程序运行结果 (22)

8.编程中遇到的困难及解决方法 (23)

9.总结心得及良好建议 (24)

10.致谢 (24)

1.课程论文题目

名称:学生选修课系统设计

【要求】

假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课时间,实验或上级时间,学分,开课学期等信息,学生可按要求(如总学分不超过60)自由选课。是设计一选修课课程系统,使只能提供以下功能:

(1)系统一菜单方式工作

(2)课程信息和学生选课信息录入功能(课程信息用文件保存

输入

(3)课程信息浏览功能——输出

(4)查询功能(至少一种查询方式)——算法

(5)按学分查询

(6)某门课程学生选修情况(可选项)

【提示】

数据结构可用结构体,包括授课和选课两个结构体,其中课程结构体成员包括编号,课程名称,课程性质,总学时,授课学时,实验或上机时间,学分,开课学期。学秀结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。

2.程序设计思路

由于题目要求将学生的选课信息用结构体形式输入,并写入文件中,所以应提供文件的输入输出等操作:在过程中需有浏览、插入、修改、查找、删除学生选课信息等操作,顾应分别建立个功能模块;另外还应提供键盘式选择菜单实现程序运行。

根据题目要求,可以将系统分为六个模块:

1)系统以菜单方式工作模块;

2)课程信息与学生选课信息录入功能模块;

3)课程信息浏览功能模块;

4)查询模块;

5)按学分查询模块;

6)某些课程学生选修情况模块

3.功能模块图

4.数据结构设计

该程序采用多个main ()函数模块分别来实现程序的运行,通过使用数组功能来实现数据的录入,使用strcpy ()函数来实现录入信息的复制,整个结构从整体来看使用了选择结构,break ..case ..的合理利用

5.算法设计

1.课程信息录入功能

void savefile(SUB *head) {

SUB *p; FILE *fp;

fprintf(fp,"课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期\n");

for(p=head;p;p=p->next)

fprintf(fp,"%5d%12s%9s%9d%9d%11d%11d%7d\n",p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term);

fclose(fp);

}

void savefileadd(SUB *head)

{

SUB *p;

FILE *fp;

fp=fopen("subjectsadd.txt","w");

fprintf(fp,"课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期\n");

for(p=head;p;p=p->next)

fprintf(fp,"%5d%12s%9s%9d%9d%11d%11d%7d\n",p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term);

fclose(fp);

}

2.查询功能

{

int a,num;

int t=1;

char type[10];

char ch='a',ch1;

SUB *ptr;

while(ch!=' '){

printf("若要按课程性质查找请输入1,若要按学分查找请输入2:\n");

scanf("%d",&a);

switch(a){

case 1:printf("请输入要查找的课程的性质:\n");

scanf("%s",type);

printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");

for(ptr=head;ptr;ptr=ptr->next)

if(strcmp(type,ptr->kind)==0){

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,pt r->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);

t=0;

}

if(t) printf("未找到!\n");

t=1;

break;

case 2:printf("输入要查找的课程的学分\n");

scanf("%d",&num);

printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,pt r->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);

t=0;

}

if(t) printf("未找到!\n");

t=1;

}

printf("继续查找请按回车键,结束请按空格键:\n");

ch1=getchar(); //将回车键赋给CH1,否则CASE里面最后输入的回车键会赋给CH,因此用CH1填补。

ch=getchar();

}

}

3.插入、删除信息功能

SUB *insert(SUB *head)

{

SUB *ptr,*ptr2,*subj;

int size=sizeof(SUB);

char ch='a',ch1;

while(ch!=' '){

subj=(SUB *)malloc(size);

ptr=subj;

printf("输入要插入的课程信息:\n");

scanf("%d%s%s%d%d%d%d%d",&subj->num,subj->name,subj->kind,&subj->sti me,&subj->ttime,&subj->etime,&subj->score,&subj->term);

if(head==NULL){

head=ptr;

head->next=NULL;

}

if(ptr2->next==NULL){

ptr2->next=subj;

subj->next=NULL;

break;

}

}

printf("继续插入请按回车,结束请按空格:\n");

ch1=getchar(); //将回车键赋给CH1,否则subj->term输完后输入的回车键会赋给CH,因此用CH1填补。

ch=getchar();

}

return head;

}

SUB *del(SUB *head)

{

SUB *p1,*p2;

char ch='a',ch1;

int num;

while(ch!=' '){

printf("输入想要删除的课程编号:\n");

scanf("%d",&num);

if(head->num==num){

p2=head;

head=head->next;

free(p2);

}

if(head==NULL)

return NULL;

p1=head;

p2=head->next;

while(p2){

if(p2->num==num){

p1->next=p2->next;

free(p2);

}

else p1=p2;

p2=p1->next;

ch1=getchar(); //将回车键赋给CH1,否则num

输完后再输入的回车键会赋给CH,因此用CH1填补。

ch=getchar();

return head;

}

4.选课功能

void choose(SUB *head)

{

SUB *p,*q;

int a[5];

int num,total=0,i=0,j;

printf("输入要选修的课程的编号,编号之间以空格分开,输完后以0结束\n");

scanf("%d",&num);

while(num!=0){

for(p=head;p;p=p->next)

if(p->num==num){

total=total+p->score;

a[i]=num;

i++;

}

scanf("%d",&num);

}

if(total<60) printf("选修总学分未达到60,选修失败!\n");

else {

printf("选修成功!\n");

printf("您选修的课程为:\n");

for(j=0;j

if(q->num==a[j])

printf("%s ",q->name);

printf("\n");

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

}

6.程序代码

#include

#include

#include

typedef struct subjects

{

int num;

char name[20];

char kind[10];

int stime;

int ttime;

int etime;

int score;

int term;

struct subjects *next;

}SUB;

SUB *create_form()

{

SUB *head,*tail,*p;

int num,stime,ttime;

int etime,score,term;

char name[20],kind[10];

int size=sizeof(SUB);

head=tail=NULL;

printf("输入选修课程信息:\n");

scanf("%d %s %s %d %d %d %d %d",&num,&name,&kind,&stime,&ttime,&etime,&score,&term); while(num!=0){

p=(SUB *)malloc(size);

p->num=num;

strcpy(p->name,name);

strcpy(p->kind,kind);

p->stime=stime;

p->ttime=ttime;

p->etime=etime;

p->score=score;

p->term=term;

if(head==NULL)

head=p;

else

tail->next=p;

tail=p;

scanf("%d %s %s %d %d %d %d %d",&num,&name,&kind,&stime,&ttime,&etime,&score,&term); }

return head;

}

void savefile(SUB *head)

{

SUB *p;

FILE *fp;

fp=fopen("subjects.txt","w");

fprintf(fp,"课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期\n");

for(p=head;p;p=p->next)

fprintf(fp,"%5d%12s%9s%9d%9d%11d%11d%7d\n",p->num,p->name,p->kind,p->stime,p->tt ime,p->etime,p->score,p->term);

fclose(fp);

}

void savefileadd(SUB *head)

{

SUB *p;

FILE *fp;

fp=fopen("subjectsadd.txt","w");

fprintf(fp,"课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期\n");

for(p=head;p;p=p->next)

fprintf(fp,"%5d%12s%9s%9d%9d%11d%11d%7d\n",p->num,p->name,p->kind,p->stime,p->tt

fclose(fp);

}

void savefiledel(SUB *head)

{

SUB *p;

FILE *fp;

fp=fopen("subjectsdel.txt","w");

fprintf(fp,"课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期\n");

for(p=head;p;p=p->next)

fprintf(fp,"%5d%12s%9s%9d%9d%11d%11d%7d\n",p->num,p->name,p->kind,p->stime,p->tt ime,p->etime,p->score,p->term);

fclose(fp);

}

void prin(SUB *head)

{

SUB *ptr;

if(head==NULL){

printf("没有此门课程记录!\n");

return;

}

printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分

开课学期\n");

for(ptr=head;ptr;ptr=ptr->next)

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,p tr->ttime,ptr->etime,ptr->score,ptr->term);

}

void search(SUB *head)

{

int a,num;

int t=1;

char type[10];

char ch='a',ch1;

SUB *ptr;

while(ch!=' '){

printf("若要按课程性质查找请输入1,若要按学分查找请输入2:\n");

scanf("%d",&a);

switch(a){

case 1:printf("请输入要查找的课程的性质:\n");

scanf("%s",type);

printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");

for(ptr=head;ptr;ptr=ptr->next)

if(strcmp(type,ptr->kind)==0){

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,p tr->ttime,ptr->etime,ptr->score,ptr->term);

t=0;

}

break;

case 2:printf("输入要查找的课程的学分\n");

scanf("%d",&num);

printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");

for(ptr=head;ptr;ptr=ptr->next)

if(ptr->score==num){

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind,ptr->stime,p tr->ttime,ptr->etime,ptr->score,ptr->term);

t=0;

}

if(t) printf("未找到!\n");

t=1;

}

printf("继续查找请按回车键,结束请按空格键:\n");

ch1=getchar(); //将回车键赋给CH1,否则CASE里面最后输入的回车键会赋给CH,因此用CH1填补。

ch=getchar();

}

}

SUB *insert(SUB *head)

{

SUB *ptr,*ptr2,*subj;

while(ch!=' '){

subj=(SUB *)malloc(size);

ptr=subj;

printf("输入要插入的课程信息:\n");

scanf("%d%s%s%d%d%d%d%d",&subj->num,subj->name,subj->kind,&subj->stime,&subj->tt ime,&subj->etime,&subj->score,&subj->term);

if(head==NULL){

head=ptr;

head->next=NULL;

}

else{

for(ptr2=head;ptr2;ptr2=ptr2->next)

if(ptr2->next==NULL){

ptr2->next=subj;

subj->next=NULL;

break;

}

}

printf("继续插入请按回车,结束请按空格:\n");

ch1=getchar(); //将回车键赋给CH1,否则subj->term输完后输入的回车键会赋给CH,因此用CH1填补。

ch=getchar();

}

return head;

}

SUB *del(SUB *head)

{

SUB *p1,*p2;

char ch='a',ch1;

int num;

while(ch!=' '){

printf("输入想要删除的课程编号:\n"); scanf("%d",&num);

if(head->num==num){

p2=head;

head=head->next;

free(p2);

}

if(head==NULL)

return NULL;

p1=head;

p2=head->next;

while(p2){

if(p2->num==num){

p1->next=p2->next;

free(p2);

}

else p1=p2;

p2=p1->next;

ch1=getchar(); //将回车键赋给CH1,否则num输完后再输入的回车键会赋给CH,因此用CH1填补。

ch=getchar();

}

return head;

}

void choose(SUB *head)

{

SUB *p,*q;

int a[5];

int num,total=0,i=0,j;

printf("输入要选修的课程的编号,编号之间以空格分开,输完后以0结束\n");

scanf("%d",&num);

while(num!=0){

for(p=head;p;p=p->next)

if(p->num==num){

total=total+p->score;

a[i]=num;

i++;

}

scanf("%d",&num);

}

if(total<60) printf("选修总学分未达到60,选修失败!\n");

else {

printf("选修成功!\n");

printf("您选修的课程为:\n");

选课系统的设计与实现

防灾科技学院 实习报告书 防灾科技学院灾害信息工程系 2015年制

实习所用软件简介: 系统的搭建平台选用的操作系统是Windows XP:Microsoft Windows XP是微软公司推出供个人电脑使用的操作系统,包括商用及家用的台式电脑等。2011年9月底前,Windows XP是世界上使用人数最多的操作系统,它的全球市场占有率达42%。2012年8月份,统治操作系统市场长达11年之久的Windows XP最终被Windows 7超越。 基于数据库的选课系统的数据管理所选得软件是SQL Server2008:SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。SQL Server 2008 允许使用Microsoft .NET 和Visual Studio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过 Microsoft BizTalk Server 进行的业务流程中使用数据。信息工作人员可以通过日常使用的工具直接访问数据。 基于https://www.wendangku.net/doc/f914736714.html,的选课系统开发所选的开发工具 Visual Studio 2010:Microsoft Visual Studio 2010 是微软的一个综合性的应用程序生命周期管理工具套件,可供团队用于确保从设计到部署的整个过程都能取得较高质量的结果。无论是创建新的解决方案,还是改进现有的应用程序,都能针对不断增加的平台和技术(包括云和并行计算)将梦想变成现实。 基于系统的建模选择的画图软件viso:Office Visio 2007 是一款便于IT 和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。使用具有专业外观的 Office Visio 2007 图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。Visio帮助创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。使用 Visio 时,以可视方式传递重要信息就像打开模板、将形状拖放到绘图中以及对即将完成的工作应用主题一样轻松。

学生选修课信息管理系统软件工程导论课程设计

湖南人文科技学院计算机系 课程设计说明书 课程名称: 软件工程导论 课程代码: 题目: 学生选修课信息管理系统年级/专业/班: 09级计科2班 学生姓名: 赵浩胡碧山文盼聂惠俊杨晨学号: 09408237 ;09408207 ; 09408203; 09408250; 09408214 指导老师: 颜富强 开题时间: 2010年6月5日 完成时间: 2010年6月30日 2010年6月30日

课程设计任务书及成绩评定 课程名称: 软件工程导论 完成者: 赵浩胡碧山文盼聂惠俊杨晨 1、设计的目的与要求 1)加强学生的实践能力; 2)理解小型系统开发的基本步骤; 3)本系统的功能包括:选修课信息查询模块、注册模块、选修课信息管理模块(包括基本的添加、修改、删除功能)。 2、设计进度及完成情况 3、成绩评定 设计成绩:(教师填写) 指导老师:(签字) 2011 年月日

目录 第一章项目开发计划书 (1) 1.1引言 (1) 1.1.1编写目的 (1) 1.1.2背景 (1) 1.2项目概述 (1) 1.2.1工作内容 (1) 1.2.2主要参加人员 (2) 1.2.3产品 (2) 1.2.4服务 (2) 1.2.5验收标准 (2) 1.2.6本计划的批准者和批准日期 (2) 1.3实施计划 (2) 1.3.1工作任务的分配与人员分工 (2) 1.3.2进度 (3) 1.4支持条件 (3) 1.4.1计算机系统支持 (3) 第二章可行性分析 (4) 2.1可行性研究前提 (4) 2.2 对现有系统的分析 (4) 2.3 建议新系统 (4) 2.3.1 新系统说明 (4) 2.3.2 新系统的流程图 (5) 2.4经济上可行性 (5) 2.5技术可行性 (6) 2.6开发工具的选择 (6) 2.7 新系统的影响 (6) 2.8 结论 (6) 第三章需求分析 (7) 3.1市场需求分析 (7) 3.2系统功能性需求分析 (7) 3.2.1 功能划分 (7) 3.2.2 功能描述 (8) 3.2.2.1 学生注册信息模块 (8) 3.2.2.2 课程信息模块 (8) 3.2.2.3学生登录功能模块 (8) 3.2.2.5选课功能模块 (9) 3.2.2.4选修课查询模块 (9) 3.3 系统非功能性需求 (9) 3.3.1 可用性 (9) 3.3.2 可靠性 (9) 3.4数据字典 (9)

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

C语言课程设计学生选修课程系统设计

学生选修课系统设计 一、设计目的 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息系统的环境。计算机的最到好处的于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。 尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。 数据处理手工操作,工作量大,出错率高,出错后不易更改,造成了时间上的浪费。 基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。 二、题目说明 假定有n门课程,每门课程都有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供一下功能: (1)系统以菜单方式工作; (2)课程信息和学生信息的录入功能(课程信息有文件保 存)----输入; (3)课程信息浏览功能----输出; (4)查询功能(至少一种查询方式)---算法; (5)按学分查询; (6)某门课程学生选修情况(可选项)。 [提示] 数据结构可用结构体,包括课程和选秀两个结构体,其中课程结构体包括课程编号、课程名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况.。 三、数据结构设计 本系统的实现,全部采用链表这种数据结构,用链表实现课程的查找、添加、删除、课程的选修、追加选修的课程,课程信息采用结构体这种数据结构。 typedef struct subjects {

学生选修课程系统设计说明书

(此文档为word格式,下载后您可任意编辑修改!) 课程设计说明书 课程名称:计算机科学与技术程序设计语言-课程设计 题目: 学生选修课程系统设计 年级/专业/班: 学生姓名: 学号: 开始时间:2010 年 06 月18日 完成时间:2010 年 07月 02 日 课程设计成绩: 指导教师签名:年月日 目录 1 引言 (1) 1.1设计背景 (1) 1.2任务与分析 (1) 2 程序的主要功能 (2) 2.1管理员功能 (2)

2.2学生功能 (2) 2.3浏览功能 (2) 2.4查询功能 (2) 2.5添加功能 (2) 2.6删除功能 (2) 3 程序运行平台 (3) 4 总体设计 (4) 4.1系统功能结构图 (4) 4.2数据结构 (5) 5 模块分析 (5) 5.1结构体声明,创建链表及主函数模块 (5) 5.2管理员模块 (7) 5.3学生模块 (9) 5.4浏览模块 (10) 5.5查询模块 (11) 5.6插入链表模块 (11) 5.7添加模块 (11) 5.8 删除模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 5.9 选修课程模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 6 系统测试 (16) 7 结论 (21) 参考文献 (21) s

摘要 大学期间总会有很多公共选修课,以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。原因是传统的选课方法没有预见性,大家没有事先协调好。使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,不用浪费体力去选课,还可以使教学资源合理平均地分配。 全校性选修课的目的在于扩大学生的知识面,加强学生素质教育,培养复合型高级人才,具有不可替代的重要性!随着教育改革的不断深入和素质教育的加强完全学分制的实施,选修课在一个学生的培养计划中站的比重越来越大! 关键词:选修课;素质教育; 开拓知识面……

学生选修课管理系统需求说明书

网上购物系统软件需求说明书

目录 1. 引言 0 目的 0 项目范围 0 定义、缩略语、缩写 (1) 2. 系统需求概述 (2) 用例模型 (2) 假设和依赖 (5) 3. 系统详细需求 (6) Use-Case 清单 (6) 规格说明 (6) 功能性需求 (6) 可用性 (7) 可靠性 (7) 性能 (7) 保障性 (7) 设计上的限制 (8) 4. 术语表 (9)

软件需求说明书 1.引言 1.1目的 本文档描述了学生选修课管理系统的软件需求规格。目的在于向读者表述系统的环境,系统的功能和非功能的需求。 1.2项目范围 本次软件项目开发的是一个学生选修课管理系统。使用此系统的学生通过互联网进行选课;使用此系统的管理员通过互联网进行系统的管理。系统的功能如下:学生能够通过课程名来寻找课程,并获得课程的摘要信息。 学生能够通过输入某些关键字,对课程进行查询,并获得符合检索条件的课程的摘要信息。 学生能够在课程详细画面上获得课程的详细介绍信息。 学生能够在页面上修改自己的注册资料,更新原有的注册信息。 学生能够在输入合法的用户账号和密码后,登录系统。 学生能够在任何时间退出系统。 学生能够查看当前选课的最新状态。 学生能够对各科成绩进行查询。 学生能够对各科课程信息及老师信息的查询。 能够允许学生修改个人信息。 学生能够浏览基本的课程并实现主要的选课功能。 学生能够填写选课信息、查看已选课程、修改选课。 老师能够申请教课。 老师能够查询课程,申请教课。 老师能够查询课程报名人数情况,进行成绩评定。 老师可以修改个人信息、浏览基本课程以及查看学生的选课情况。 管理员能够在输入合法的用户账号和密码后,登录系统。 管理员能够在任何时间退出系统。 管理员能够创建课程的指定任课老师、设定课程人数、统计学生选课信息、发通 知。 管理员能够维护课程数据,包括课程、老师数据的新增,更新,删除和检索。 管理员能够维护权限数据,包括新增,更新,删除,检索操作。 管理员使用子系统“选课管理”中的教学大纲信息和“科室分配管理”中的教师

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

程序设计学生选修课程系统设计与实现

通达学院 程序设计 (2017/2018学年第1学期) 题目:学生选修课程系统设计与实现 专业计算机科学于技术(嵌入式) 学生姓名 班级学号 指导教师徐小龙

指导单位计算机学院·计算机科学与技术系日期 2017年10月27日 南京邮电大学通达学院 程序设计 指导教师成绩评定表

一、课题内容和要求 学生选修课程系统设计与实现 假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:(1)系统以菜单方式工作 (2)课程信息录入功能(课程信息用文件保存)--输入

(3)课程信息浏览功能--输出 (4)查询功能:按学分查询、按课程性质查询 (5)学生可以选修课程 二、需求分析 本系统的功能模块如图所示

1.使系统以菜单方式工作:输出个菜单,用于显示以从文件中加载的 课程信息和若干个可选的功能选项。根据客户输入的选项来运行不同的功能,运行不同的函数。 2.录入课程信息:使用户可以将课程信息输入文件 3.浏览课程信息:使用户可以按照学分或者课程性质浏览文件中的课程信 息 4.进入选课操作:输入学号,姓名进行选课 5.统计选课情况:从选课文件中统计信息 三、概要设计 (1)主函数的设计 在主函数中按照提示输入相对应数字进入相应的操作,同时,在输入序号数字错误时,会自动提示“输入错误,请重新输入”,然后,重新输入一个数字,继续进行相应的操作。 (注:输入的数字要在0~5之内) 算法设计如下: S1: 从键盘上输入一个0~5的数字,进入相应的操作 S2: 如果选择序号1,则进入课程信息录入操作 S3: 如果选择序号2,则进入浏览课程信息操作

C语言程序设计报告—学生选修课程系统

C 语 言 程 序 设 计 学校:中国地址大学 学院:工程学院 班级序号:05507110 学号:20071001448 姓名:杨帆 指导老师:刘文中

C语言程序设计报告 一、C语言课程设计的目的:高级语言课程设计是学习完《高级语言程序设计》课程后进行的一次全面的综合性上机实验。其目的在于为同学提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼同学的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。 二、题目 学生选修课程系统设计 假定有n门课程,每门课程有课程编号、课程名称、课程性质、总学时、授课学时、实验或商机学时、血粉、开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。 1、要求: 试设计一个选修课程系统,使之能提供以下功能: (1)系统以菜单方式工作。 (2)课程信息和学生选课信息输入功能(课程信息用文件保存)——输入。 (3)课程信息浏览功能——输出。 (4)查询功能(至少一种查询方式)——算法。 (5)按学分查询。 (6)某门课程学生选修情况(可选项)。 2、分析: 由于题目要求将学生的选课信息用结构体形式输入,并写入文件中,所以应提供文件的输入输出等操作:在过程中需有浏览、插入、修改、查找、删除学生选课信息等操作,顾应分别建立个功能模块;另外还应提供键盘式选择菜单实现程序运行。 3、总体设计: 根据题目要求,可以将系统分为六个模块: 1)系统以菜单方式工作模块; 2)课程信息与学生选课信息录入功能模块; 3)课程信息浏览功能模块; 4)查询模块; 5)按学分查询模块; 6)某些课程学生选修情况模块。

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

c++学生选课系统设计报告

C++程序设计课程设计报告 课题名称: 学生选修课程系统设计 组号:第八组 指导教师:张帆

目录 引言………………………………………………………………..一设计目的及内容……………………………………………………二课题总体设计……………………………………………………… 1.性能需求…………………………………………………………… 2.功能需求……………………………………………………………. 3.功能模块图…………………………………………………………三详细设计……………………………………………………………. 1.各模块说明. ………………………………………………………. 2.各模块功能流程图………………………………………………四测试与调试…………………………………………………………五心得体会…………………………………………………..六附:源代码……………………………………………….

引言 21世纪以高科技为核心的知识经济占主导地位,国家的综合国力和以国际竞争力将越来越取决于科学技术创新水平。教育作为知识创新,传播和应用的基础,培养和输送人才的摇篮,已经成为经济发展和社会进步的基础。 尽管人类进步的程度随着不同时代,不同地区而有所变化,教育的口径不断扩宽,以便使过去仅供少数人使用的教育资源能够为更多各种年龄,不同社会阶层和背景的人们所用。在信息爆炸的时代,传统教学管理面临诸多挑战。 课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。此次程序设计综合运用所学知识解决实际问题,将课堂的书本知识有效的在程序中体现出来,让学生更理解了C++功能之强大,进一步让学生对面向对象的方法以及C++的编程思想有了较好了解和认识。 一设计目的及内容: 网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式(学生按照学校安排好的课程上课)已经不能适应新型的教学手段,如果仍然通过纸上的选课,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着学校规模的不断扩大,专业,班级,学生的数量急剧增加,有关学生选课的各种信息也成倍增加,而目前许多高校的学生的选课管理仍然停留在复杂的人工操作上,重复工作较多,工作量大,效率低,各种弊端会越来越多的暴露出来,因此利用网络,使学

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

选修课程管理系统

选修课程管理系统 一、实验目的 1、使学生掌握DBMS的基本工作原理; 2、培养学生基本掌数据库应用系统设计的基本思路和方法; 3、培养学生分析、解决问题的能力; 二、实验简述 针对给定的系统进行需求分析,设计系统结构图和系统功能模块图;针对需求分析,画出E-R图表示的概念模型,并将其转换为至少满足3NF的关系模式,设计较为合理的数据库模式;系统中应能体现对数据库的保护(数据恢复、并发控制、安全性和完整性);系统应该有较为友好的用户界面; 通过本系统软件,能帮助教研人员利用计算机,快速方便的对学生选课进行管理、输入、输出、查找的所需操作,使散乱的档案能够具体化,直观化、合理化。 三、课程设计过程 1、需求分析 2、概念结构设计及系统结构设计 3、系统功能实现 3.1需求分析 学生包含学号等属性,通过登记系统保存学生成绩的信息。学生通过分组程序分出个个选修课的学生名单。课程包含课程号,名称等属性。分组信息分出选修课教师,教师包含名称,教师编号属性。 用户通过SQL SERVER 2000 的查询分析器直接输入各种操作代码,其中包括对系统管理原的的创建,管理员可以创建其他管理员权限,当然,系统管理员可以对所有表进行修改,删除,增加。 3.2 概念结构设计及系统结构设计 1..用E-R图设计信息模型

2.设计相应关系模型,确定数据库结构 设计关系模型如下:下划线为关系的码 学生(学号,姓名,地址,邮编,市,省,性别) 教师(教师编号,姓名,电话,工资) 课程(课程编号,课程名,系名,学分) 分组(分组号,教师编号,课程号,学生数) 登记(课程号,组号,学生号,成绩) 3.设计应用系统的系统结构图,确定系统结构

c++学生选课系统设计报告

(此文档为word格式,下载后您可任意编辑修改!) C++程序设计课程设计报告 课题名称: 学生选修课程系统设计 组号:第八组 指导教师:张帆

目录 引言……………………………………………………………….. 一设计目的及内容…………………………………………………… 二课题总体设计……………………………………………………… 1.性能需求…………………………………………………………… 2.功能需求……………………………………………………………. 3.功能模块图………………………………………………………… 三详细设计……………………………………………………………. 1.各模块说明. ………………………………………………………. 2.各模块功能流程图……………………………………………… 四测试与调试………………………………………………………… 五心得体会………………………………………………….. 六附:源代码………………………………………………. 引言 21世纪以高科技为核心的知识经济占主导地位,国家的综合国力和以国际竞争力将越来越取决于科学技术创新水平。教育作为知识创新,传播和应用的基础,培养和输送人才的摇篮,已经成为经济发展和社会进步的基础。 尽管人类进步的程度随着不同时代,不同地区而有所变化,教育的口径不断扩宽,以便使过去仅供少数人使用的教育资源能够为更多各种年龄,不同社会阶层和背景的人们所用。在信息爆炸的时代,传统教学管理面临诸多挑战。 课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。此次程序设计综合运用所学知识解决实际问题,将课堂的书本知识有效的在程序中体现出来,让学生更理解了C++功能之强大,进一步让学生对面向对象的

学生选修课管理系统C++课程设计

#include #include #include #include #include //using namespace std; const int count =3; class situaction; class student { public: int sno; char sname[20]; char sex[3]; int age; char depart[20]; char classno[20]; char lianx[40]; //public: friend void sselect(); friend void supdate(); friend void sdelet(); friend void saccount(); friend void sdisplay(); friend istream & operator >> (istream & in,student &stu) { in>>stu.sno>>stu.sname>>stu.sex>>stu.age>>stu.depart>>stu.classno>>stu.lianx; return in; } friend ostream & operator<< ( ostream & out,student &stu) { out<

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

选课系统的设计与实现

项目说明书 项目名称:学生自主选课系统项目成员: 指导老师: 提交日期:

1. 系统概述 本文档是针对开发的学生自主选课系统而编写的,文档中将会对软件系统的开发进行详细的分析,主要包括几大方面:系统的功能实现、系统的运行环境、数据库的描述与设计的各个阶段等等。 1.1 系统开发目标 本系统是学生自主选课系统。随着各大高校的扩招及信息化社会的到来,学校为了合理规划人力资源的利用,保证学校信息的安全性,对信息化处理数据的要求也越来越高。学生选课系统就是为了减少学校对信息管理的工作量,增强学生选课及成绩信息管理的安全性的双重要求下出现的。通过本系统,学生可以在网上自主选择自己想要的课程,极大的减少学校在课程统计和学生选课记录上的工作量,而且也可以让学生自己安排选课时间,上课时间等,为学生和学校都提供了很大的方便。本系统实现的主要功能是学生选课,成绩录入,成绩查询,课程信息管理,用户信息管理等。采用的B/S架构,其作用范围为所有在校本科生和在校研究生和系统管理员。 项目背景 Internet的发展给我们的教育更加现代化,现在网上信息管理是我们现在教育中的一个热点。现在,学生跟学校的之间的信息传播只在一指之间,时为我们创造方便快速的途径。《学生自主选课系统》是高校教学管理系统的重要组成部分。熟悉教学管理工作的全部过程,从教务工作的实际出发,解决工作中关键性的难点问题,并充分利用计算机网络功能,实现教学工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来。使得教学管理走向无纸化办公和规范化、现代化管理。 由于 Internet 具有影响范围广,能够方便快捷的传递信息,具有近乎实时的交互性,本身又是一个巨大无比的信息库等诸多优点。学生自主选课系统,学生和学校的管理效率。我们的目标是用学生自主选课系统实现最快对全校学习课程发布以及新闻发布,使学生最快知道,创造现代化的学习环境。学生选课是大学的主要管理工作之一,涉及到诸多方面,随着教学体制的不断改革,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。在这里,运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。 1.2 开发平台 VS2012 ,ASP开发框架,SQL Server 2008。 1.3 运行环境 操作系统:Windows 98/2000/XP/2003 数据库:SQL Server 2008 1.4 系统的条件与限制 系统必须通过登录才能进行操作。对于数据库的操作权限大多数都是在管理员中,只有当管理员安排课程后,学生才能选修该课程。除学生自己外,没有人有权限去修改他人的选课记录。 参考资料 需求分析说明书 概要设计说明书 系统详细设计说明书 软件工程概论郑人杰马素霞殷人昆编著机械工业出版社

c++课程设计之学生选修课程系统设计之令狐文艳创作

《C++程序设计》课程设计报告 令狐文艳 学生选修课程系统设计 一、需求分析 计算机技术作为信息化的核心技术受到全社会的普遍重视。如今,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。深入掌握计算机专业知识、具有良好系统设计与分析能力的计算机高级专业人才在社会上深受欢迎。而系统设计与分析能力的培养需要通过实践训练才能获得。通过计算机对一些系统的管理已经成为一种系统、便捷的方式。本课程设计就是用C++设计学生选课系统的问题,实现对学生选课的管理操作。 本课程设计的目的是设计一个学生选修课程系统的程序,用来实现对学生成绩的管理,其中包括学生信息的文件读入、添加、查询、保存、删除以及相应的课程信息管理。程序设计了两个类,其中一个包含学生的学号、姓名、选课数以及选修总学分,另一个则包含了课程的信息,包括课程编号、课程名称、课程性质、课时等等。然后通过数组、向量、集合等来实现学生选课信息的记录、保存,删除等相关操作从而达到管理学生选课的。 二、设计要求 假定有n门课程,每门课程有课程编号、课程名称、课程性质、总学时、授课学时、实验学时、学分、开课学期等信息。学生可以按要求(如每个学生总学分不得少于20、没学期不能超过3门课程,每门课程不得超过50个人,但不能少于10否则该课程不开设)自由选课。使之能提供一些功能: 1)课程信息录入功能 2)课程信息浏览功能 3)查询功能:(按课程性质查询、按课程学分查询,查询每 个学生的选修信息、查询每门课程的选修信息等) 4)学生选修课程 5)修改课程或选课信息(根据课程编号或名称修改课程信 息、根据学生姓名修改选课信息);

选修课程管理系统

课程设计 课程名称大型数据库课程设计 题目名称选修课程管理系统 专业班级10级计算机科学与技术本1学生姓名戴赛跑、汪雨生、杨涛学号510020110 22 37 44指导教师戚晓明(副教授) 二○一二年十二月十二日

目录 摘要 (1) 第一章前言 (2) 1.1题目与要求 (2) 1.2问题的提出 (2) 1.2.1本系统设计的知识点 (2) 1.2.2功能需求 (2) 1.3设计目的 (2) 1.4课程设计的简介 (3) 第二章开发环境 (4) 2.1 系统开发环境 (4) 2.1.1 开发环境的选择 (4) 2.1.2 Visual Studio 2008简介 (4) 2.1.3 SQL server 2008简介 (5) 第三章需求分析 (7) 3.1 设计思想 (7) 3.2 可行性分析 (7) 3.2.1 操作可行性 (7) 3.2.2 技术可行性 (8) 3.2.3 经济可行性 (8) 3.3 功能需求 (8) 3.3.1 基本功能需求 (8) 3.3.2 用户界面需求 (9) 3.4 性能需求 (9) 3.4.1 系统可扩展性 (9) 3.5 系统设计基础 (9) 3.6模块分析及设计 (10)

第四章数据库的设计说明 (11) 4.1数据表 (11) 4.2数据库的完整性和安全性 (11) 4.3选修课数据库的设计 (12) 4.3.1建立一个选修课程数据库: (12) 4.3.2建立一个学生student表 (12) 4.3.3建立一个登录t_login表 (13) 第五章系统功能的实现 (16) 5.1 系统登录窗体 (16) 5.2学生操作主界面 (18) 5.2.1选修课程的选修 (18) 5.2.2退选功能 (19) 5.2.3密码修改 (20) 5.3教师操作主界面 (21) 5.3.1 录入学生选修课程的成绩 (21) 5.3.2 增加选修课程 (22) 5.3.3 删除选修课程信息 (23) 5.3.4 修改选修课程基本信息 (25) 5.4注销和退出 (26) 5.4.1注销 (26) 5.4.2 退出 (27) 总结 (29) 致谢 (32) 参考文献 (33)

UML学生选课系统

UML统模语言 实验报告 实验名称:学生选课系统UML部署系(院):计算机科学学院 专业班级:软工11402 姓名:靳生栋 学号:201404621 指导教师:应霞

实验时间:2017.10.15—2017.10.21 实验地点:12教一楼B区机房 一.需求分析 网上选课系统是一个高等院校用来进行对学生选修课程管理的管理信息系统(MIS)。该信息系统能够为学生提供方便的选课功能,也能够提高高等院校对学生和教学管理的效率。网上选课系统的功能性需求包括以下容: (1)系统管理员负责系统的管理维护工作,维护工作包括课程的添加、删除和修改,对学生基本信息的添加、修改、查询和删除。 (2)学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询。 满足上述需求的系统主要包括以下几个小的系统模块: (1)基本业务处理模块。基本业务处理模块主要用于实现学生通过合法认证登录到该系统中进行网上课程的选择和确定。 (2)信息查询模块。信息查询模块主要用于实现学生对选课信息的查询和自身信息的查询。 (3)系统维护模块。系统维护模块主要用于实现系统管理员对系统的管理和对数据库的维护,系统的管理包括学生信息、课程信息等信息的维护。数据库的维护包括数据库的备份、恢复等数据库管理操作。 二.创建系统用例模型 1.学生用例能够通过该系统进行如下活动: (1)查询选课信息。学生可以在查询界面了解可供自己选择的各门课程的详细信息。 (2)登录选课系统。学生能够根据自己的学号和密码登录选课系统,如果身份验证失败,不得进行下一步操作。如果通过身份验证才能进入下一个操作界面。

相关文档
相关文档 最新文档