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

上传人:b****7 文档编号:9107744 上传时间:2023-02-03 格式:DOCX 页数:17 大小:73.83KB
下载 相关 举报
学生选课系统设计说明书.docx_第1页
第1页 / 共17页
学生选课系统设计说明书.docx_第2页
第2页 / 共17页
学生选课系统设计说明书.docx_第3页
第3页 / 共17页
学生选课系统设计说明书.docx_第4页
第4页 / 共17页
学生选课系统设计说明书.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

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

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

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

学生选课系统设计说明书

实践教学

*******************

 

兰州理工大学

计算机与通信学院

2013年春季学期

 

C程序设计课程设计

 

题目:

学生选课系统

专业班级:

计算机一班

******

学号:

********

*******

成绩:

 

摘要

C语言是在国内外广泛使用的一种计算机语言。

语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。

同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。

我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。

关键词:

学生选修课系统管理;C语言课程设计;计算机技术;模块化程序设计;信息录入;浏览信息;选课;查询

前言

近年来,随着学校和扩招规模的不断扩大,在校学生的数量也相应的增加,有关学生的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致学生选课管理上的混乱,人力与物力过多浪费,学生管理费用的增加,从而使管理人员的负担过重,影响整个学生选课的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的学生选课系统,对学生以及课程进行集中统一的管理。

系统开发的总的设计目标是实现学生选课的系统化、规范化和自动化,实现对学生和课程的集中统一的管理。

正文

问题描述

现代的社会是信息化的社会,信息无所不在。

在生产领域、流通领域、各个部门每天都和信息打交道,如何处理如此多的信息成为了一个重要的课题。

由于教职工和学生人数的增加,课程种类的扩大,使得学生选课工作繁重,而且人工管理效率极低,急需一个软件系统解决这些问题。

为了跟上时代潮流,规范管理,提高学生选课的效率,为全校学生提供方便、快捷、准确的选课退课服务,开发一个“学生选课系统”。

学生在学期开始选课是教学活动中的一个重要环节,该环节如果能管理好,它不仅能加快学生的选课速度,也提高了整个活动的效率。

需求分析

本设计的任务是学生选课系统的设计与实现,其中要实现,课程信息管理(录入、查询、维护);学生信息管理(录入、查询、维护);教师信息管理(录入、查询、维护);选课管理(选课、退课、选课信息查询);教师输入成绩管理(查询学生选到教师的课并给学生成绩)。

 

系统总体设计

1.整体结构流程图

2.系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续处理直到用户选择退出系统为止。

其间应对用户的选择做出判断和异常处理。

详细设计

查询学生信息模块:

Voidxuehao(按学号查询)

{

打开已录入数据的文件;

输入要查询的学生的学号;

While(比较输入的字符串与数据中的字符串的大小)

{

如果字符串大小相等;

按录入的数据的格式输出学生信息;

显示学生平台菜单界面;

}

如果字符串大小不相等;

显示上一级菜单界面,提示继续输入学生学号;

}

 

查询课程信息模块:

Voidkecheng(按代码查询)

{

打开已录入数据的文件;

输入要查询的课程的代码;

While(比较输入的字符串与数据中的字符串的大小)

{

如果字符串大小相等;

按录入的数据的格式输出课程信息;

显示学生平台菜单界面;

}

如果字符串大小不相等;

显示上一级菜单界面,提示继续输入课程代码;

}

 

函数流程图

系统测试

用以下的例子做测试,选择输入操作,依次查询学生信息与课程信息。

查询学生信息按学号查询时,输入要查询学生的学号;查询课程信息按代码查询时,输入要查询课程的代码。

学号

姓名

性别

学院

专业

班级

123

王不二

计通

计算机

1

214

李梅

计通

计算机

2

 

课城代码

课程名称

课程性质

学分

任课老师

上课时间

上课地点

选否

011

高数

必修课

2.0

李老师

周三1-2

1#201

012

JAVA

选修课

1.0

王老师

周四8-9

4#304

查询学生信息子菜单

查询课程信息子菜单

按学号查询学生信息并输出

查询不到学生信息

按代码查询课程信息并输出

查询不到课程信息

软件使用说明书

(1)根据正确的提示安装软件。

(2)Intel486以上系列、AMDK6以上系列等PC台式机和便携式电脑都可运行。

(3)打开该程序系统,浏览菜单,根据需要选择功能,进行各项操作。

操作如下:

点击开始菜单,进入菜单选择。

选择学生平台,输入学生学号;并输入密码(初始密码是123456)

选择查询课程信息或是查询个人信息;

进入查询课程信息,选择按代码查询或是按名称查询;

若选择按代码查询,输入课程的代码,否则输入课程的名称;

进入查询个人信息,选择按学号查询或是按名字查询;

 

总结

 

通过这次的课程设计,使我了解了一个简单的学生选课系统的设计过程,并且基本掌握了MicrosoftVisualC++的基本用法,掌握《C语言程序设计》课程的基本知识及其应用情况,加深对该课程的理解,在这次设计过程中使我对编程和程序的开发建立了浓厚的兴趣。

在设计过程中遇到了很多的问题,但是最后通过自己的努力或者在网上寻找最后都得到了解决,虽然这次的设计是一个很小的程序但是设计这样的程序真的不简单呀,首先要想好设计的界面,以及这些界面是怎样连接起来的。

然后要考虑数据库怎么样和应用程序连接起来。

虽然这次的设计时间很短,并且程序也不是很大,但是还是遇到了许多问题,但是我相信在以后的学习中我会更加的努力,并且努力的改正现在的程序,使之程序的功能更加的完善。

通过此次编程培养了我们结构化程序设计的思想,加深了对高级语言基本语言要素和控制结构的理解,锻炼我们独立思考制作程序的能力,并且掌握了一些课程设计的相关知识与实践操作能力,为以后的学习提供了锻炼的机会。

经过设计和开发,我对于数据的一致性的问题也通过程序进行了有效的解决。

从而是我对c语言这门课程有了更好的了解。

但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,出错处理不够等多方面问题。

这些都有待进一步改善。

 

参考文献

 

[1]c++程序设计教程,王连相,中国铁道出版社,2007

[2]C语言程序设计,谭浩强,清华大学出版社,1999

[3]C程序设计题解与上机指导,谭浩强,清华大学出版社,1999

[4]C语言的实际应用,安徽科学技术出版社,2000

[5]C语言函数手册,机械工业出版社,1999

[6]C语言实用程序荟萃,西安电子科技大学出版社,1993

 

致谢

 

在编写程序的过程中,我们得到了王连相老师的精心指导以及孜孜不倦的教诲,在老师的指导下,我们的能力得到了提高,同时养成了科学、严谨的作风和习惯,在此,我们对老师的精心栽培表示衷心的感谢!

感谢我们专业同学对我的帮助和指点,尤其感谢我的舍友在非常时期,在生活和学习上帮我许多忙。

在课设即将完成之际,我的心情无法平静,从开始进入课题到课设的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意。

附件Ⅰ部分原程序代码

 

voidseekxs()//查询学生信息

{

voidxuehao();

voidxingming();

inta;

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

printf("1.按学号查询\n");

printf("2.按姓名查询\n");

printf("3.返回主菜单\n");

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

printf("\n请选择子菜单编号:

\n");

scanf("%d",&a);

switch(a)

{

case1:

xuehao();break;

case2:

xingming();break;

case3:

xspt();break;

}

}

voidxuehao()//查询学生信息子函数(按学号查询)

{

inti,n=100;

chars1[20];

charch;

FILE*fp;

fp=fopen("student","r");

printf("请输入要查询的学生的学号:

\n");

fscanf(fp,"%s",st.xh);

scanf("%s",s1);

while(strcmp(st.xh,s1)==0)

{fscanf(fp,"%s",st.xm);

fscanf(fp,"%s",st.xb);

fscanf(fp,"%s",st.xy);

fscanf(fp,"%s",st.zy);

fscanf(fp,"%s",st.bj);

printf("学号姓名性别学院专业班级\n");

printf("------------------------------------------------------------\n");

printf("%s%5s%3s%3s%3s%3s\n",st.xh,st.xm,st.xb,st.xy,st.zy,st.bj);

xspt();

}

printf("不存在该学号\n");xuehao();

}

voidxingming()//查询学生信息子函数(按姓名查询)

{

inti,n=100;

chars1[20];

charch;

FILE*fp;

fp=fopen("student","r");

printf("请输入要查询的学生的姓名:

\n");

fscanf(fp,"%s",st.xm);

scanf("%s",s1);

while(strcmp(st.xm,s1)==0)

{fscanf(fp,"%s",st.xh);

fscanf(fp,"%s",st.xb);

fscanf(fp,"%s",st.xy);

fscanf(fp,"%s",st.zy);

fscanf(fp,"%s",st.bj);

printf("学号姓名性别学院专业班级\n");

printf("------------------------------------------------------------\n");

printf("%s%5s%3s%3s%3s%3s\n",st.xh,st.xm,st.xb,st.xy,st.zy,st.bj);

xspt();

}

printf("不存在该姓名\n");xingming();

}

voidseekkc()//查询课程信息

{

voidmingcheng();

voidxspt();

intb;

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

printf("1.按代码查询\n");

printf("2.按名称查询\n");

printf("3.返回主菜单\n");

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

printf("\n请选择子菜单编号:

\n");

scanf("%d",&b);

switch(b)

{

case1:

daima();break;

case2:

mingcheng();break;

case3:

xspt();break;

}

}

voiddaima()//查询课程信息子函数(按代码查询)

{

inti,n=100;

chars1[20];

charch;

FILE*fp;

fp=fopen("kecheng","r");

printf("请输入要查询的课程的代码:

\n");

fscanf(fp,"%s",ke.kcdm);

scanf("%s",s1);

while(strcmp(ke.kcdm,s1)==0)

{fscanf(fp,"%s",ke.kcmc);

fscanf(fp,"%s",ke.xf);

fscanf(fp,"%s",ke.rkls);

fscanf(fp,"%s",ke.sksj);

fscanf(fp,"%s",ke.skdd);

fscanf(fp,"%s",ke.xuanfou);

printf("%10s%10s%10s%5s%10s%10s%10s%5s\n","课程代码","课程名称","课程性质","学分","任课老师","上课时间","上课地点","选否");

printf("----------------------------------------------------------------------\n");

printf("%10s%10s%10s%5s%10s%10s%10s%5s\n",ke.kcdm,ke.kcmc,ke.xf,ke.rkls,ke.sksj,ke.skdd,ke.xuanfou);

xspt();

}

printf("不存在该课程\n");daima();

}

voidmingcheng()//查询课程信息子函数(按名称查询)

{

inti,n=100;

chars1[20];

charch;

FILE*fp;

fp=fopen("kecheng","r");

printf("请输入要查询的课程的名称:

\n");

fscanf(fp,"%s",ke.kcmc);

scanf("%s",s1);

while(strcmp(ke.kcmc,s1)==0)

{fscanf(fp,"%s",ke.kcdm);

fscanf(fp,"%s",ke.xf);

fscanf(fp,"%s",ke.rkls);

fscanf(fp,"%s",ke.sksj);

fscanf(fp,"%s",ke.skdd);

fscanf(fp,"%s",ke.xuanfou);

printf("%10s%10s%10s%5s%10s%10s%10s%5s\n","课程代码","课程名称","课程性质","学分","任课老师","上课时间","上课地点","选否");

printf("----------------------------------------------------------------------\n");

printf("%10s%10s%10s%5s%10s%10s%10s%5s\n",ke.kcdm,ke.kcmc,ke.xf,ke.rkls,ke.sksj,ke.skdd,ke.xuanfou);

xspt();

}

printf("不存在该课程\n");daima();

}

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

当前位置:首页 > 高中教育 > 理化生

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

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