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

上传人:b****1 文档编号:2453036 上传时间:2022-10-29 格式:DOCX 页数:26 大小:240.96KB
下载 相关 举报
学生选修课程系统设计说明书.docx_第1页
第1页 / 共26页
学生选修课程系统设计说明书.docx_第2页
第2页 / 共26页
学生选修课程系统设计说明书.docx_第3页
第3页 / 共26页
学生选修课程系统设计说明书.docx_第4页
第4页 / 共26页
学生选修课程系统设计说明书.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

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

《学生选修课程系统设计说明书.docx》由会员分享,可在线阅读,更多相关《学生选修课程系统设计说明书.docx(26页珍藏版)》请在冰豆网上搜索。

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

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

 

课程设计说明书

课程名称:

计算机科学与技术程序设计语言-课程设计

课程代码:

8404091

题目:

学生选修课程系统设计

年级/专业/班:

学生姓名:

学  号:

开始时间:

2010年06月18日

完成时间:

2010年07月02日

课程设计成绩:

学习态度及平时成绩(30)

技术水平与实际能力(20)

创新(5)

说明书撰写质量(45)

总分(100)

指导教师签名:

年月日

目录

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引言

1.1设计背景

全校性选修课的目的在于扩大学生的知识面,加强学生素质教育,培养复合型高级人才,具有不可替代的重要性!

随着教育改革的不断深入和素质教育的加强完全学分制的实施,选修课在一个学生的培养计划中站的比重越来越大!

1.2任务与分析

本课程设计假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。

试设计一选修课程系统,使之能提供以下功能:

系统以菜单方式工作

1、课程信息录入功能(课程信息用文件保存)--输入

2、课程信息浏览功能--输出

3、查询功能:

(至少一种查询方式)--算法

按学分查询、按课程性质查询

4、学生选修课程(可选项)。

分析:

首先根据要解决的问题进行分析和总体设计,定义的数据结构使用链表结构体定义存储数据)和函数,然后进行详细编码,在主函数中对各功能函数进行测试。

划分为模块形式:

管理员和学生模块!

分别实现各自功能能!

浏览,查找添加,删除,选择等!

2程序的主要功能

2.1管理员功能

管理员功能一共有四个:

浏览课程,查询课程,添加课程,删除课程。

运用字符串处理函数处理密码的问题,用一个switch语句实现函数的调用。

2.2学生功能

学生功能菜单包括五个功能:

浏览所有课程,查询所有课程,选择选修课程,浏览所选课程,删除错选课程,用switch语句调用函数.

2.3浏览功能

浏览模块主要应用与管理员模块中的浏览课程,和学生中的浏览所有课程及浏览学生所选课程,即:

从文件中读出数据;

2.4查询功能

查询功能主要用于管理员功能中的“查询课程”和学生功能模块中的”查询所有课程”,查询模块共分为三个查询方法:

按课程名称查找,按课程性质查找和按学分查找.switch语句中,每一个case语句就是一中查询方法

2.5添加功能

通过链表方式,管理员添加新课程信息。

2.6删除功能

删除模块主要应用于管理员删除哪门课程的信息,主要应用删除链表中的哪个节点来实现。

3程序运行平台

Microsoftvisualc++6.0

具体操作如下:

(1)进入Microsoftvisualc++6.0集成环境。

(2)输入自己所编好的程序

(3)检查已输入程序是否有误,如发现及时改正

(4)进行编译和链接。

如在编译和链接过程中发生错误,屏幕上会显示出“报错信息”,根据提示找出错误位置和原因,加以改正。

在进行编译与连接!

(5)运行并分析运行结果是否合理和正确

4总体设计

4.1系统功能结构图

学生菜单

管理员菜单

主菜单

浏览课程

浏览我选修的课程

删除错选的课程

选择选修课程

查询课程信息

浏览所有课程

删除课程

添加课程

查询课程

4.2数据结构

本系统的实现,全部采用链表这种数据结构,用链表实现课程的查找,添加,删除,课程的选修,追加选修的课程.课程信息采用结构体这种数据结构.

5模块分析

5.1结构体声明,创建链表及主函数模块

主函数设计比较简单,只是提供一个主菜单,switch语句将整个程序分为两个大的功能模块!

#include

#include

#include

typedefstructsubjects//定义课程信息结构体

{

intnum;//课程编号

charname[20];//课程名称

charkind[10];//课程性质

intstime;//总学时

intttime;//授课学时

intetime;//实验或上机学时

intscore;//学分

intterm;//开课学期

structsubjects*next;

}SUB;

SUB*head=NULL;

SUB*create_form()//创建链表

{

SUB*head,*tail,*p;

intnum,stime,ttime;

intetime,score,term;

charname[20],kind[10];

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(sizeof(SUB));

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);

}

tail->next=NULL;

returnhead;

}

intmain()

{

intn,w=1;

do

{

system("cls");

puts("\n\n\t\t*********************MENU***********************\n\n");

puts("\t\t\t\t1.以管理员身份登录\n");

puts("\t\t\t\t2.以学生身份登录\n");

puts("\t\t\t\t3.退出");

puts("\n\n\t\t************************************************\n");

printf("Chioseyournumber(1-3):

[]\b\b");

scanf("%d",&n);

switch(n)

{

case1:

Mangers();

break;

case2:

Students();

break;

case3:

w=0;

break;

default:

;

}

}

while(w==1);

return0;

}

5.2管理员模块

管理员功能一共有四个:

浏览课程,查询课程,添加课程,删除课程。

运用字符串处理函数处理密码的问题,用一个switch语句实现函数的调用。

管理员菜单

voidMangers()

{

intn,w=1,flag=0,i=3;

chars[8];

charpassword[7]="1";

do

{

printf("\n\nEnterpassword:

");

scanf("%s",s);

if(!

strcmp(s,password))//进行密码匹配验证

{

flag=1;

break;

}

else

{

printf("\n\nError!

Youonlyhave%dtimes!

Enteragain:

\n",i-1);

i--;

}

}

while(i>0);

if(!

flag)

{

printf("youhaveEnter3times!

");//输入密码超过了3次!

exit(0);//自动退出

}

do

{

system("cls");

puts("\n\n\t\t*********************管理员菜单***********************\n\n");

puts("\t\t\t\t1---浏览课程\n");

puts("\t\t\t\t2---查询课程\n");

puts("\t\t\t\t3---添加课程\n");

puts("\t\t\t\t4---删除课程\n");

puts("\t\t\t\t5---返回主菜单");

puts("\n\n\t\t******************************************************\n");

printf("Chioseyournumber(1-5):

[]\b\b");

scanf("%d",&n);

switch(n)

{

case1:

prin();

break;

case2:

search();

break;

case3:

insert();

savefile();

break;

case

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

当前位置:首页 > 求职职场 > 职业规划

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

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