学生选修课程系统设计说明书.docx
- 文档编号:2453036
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:26
- 大小:240.96KB
学生选修课程系统设计说明书.docx
《学生选修课程系统设计说明书.docx》由会员分享,可在线阅读,更多相关《学生选修课程系统设计说明书.docx(26页珍藏版)》请在冰豆网上搜索。
学生选修课程系统设计说明书
课程设计说明书
课程名称:
计算机科学与技术程序设计语言-课程设计
课程代码:
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选修 课程 系统 设计 说明书