级C语言学生选课系统报告

级C语言学生选课系统报告
级C语言学生选课系统报告

课程设计(论文)题目:学生选修课管理系统设计

学生姓名:邓康言

学号:20141409

班级: 计软

所在院部: 广西科技大学

指导教师:

2015 年6 月

学生选修课管理系统设计

学生选修课管理系统设计

摘要

C语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。使我们体会到自身知识和能力能在实际中的应用和发挥。不但可以激发创新意识,还可以开发创造能力、培养沟通能力。这次学生选修课系统管理设计时间虽然仅有一个星期,但确实使我受益非浅。通过学生选修课系统管理设计我丰富了计算机操作经验,更加深了对C语言的了解,熟悉了其环境,更增强了对Microsoft Visual C++ 6.0的使用技巧。

C语言是在国内外广泛使用的一种计算机语言。语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。

关键词:学生选修课系统管理;C语言课程设计;计算机技术;模块化程序设

计;信息录入;浏览信息;选课;查询

STUDENTS ELECTIVE COURSES MANAGEMENT SYSTEM

DESIGN

ABSTRACT

C language curriculum design and modern computer technology in the practical application of the combination, we are at this stage of learning theory course on their own side of the ability of a good test, from the beginning of the algorithm to run after the beautiful graphical interface and exciting available procedures, is a very good learning and training process. We consolidate the original theory of knowledge, cultivate our flexible application and integration of the knowledge learned and skills of analysis, ability to solve practical problem. So that we realize that their knowledge and ability in practical application and play. Can not only stimulate consciousness of innovation, also can develop creative ability, communication skills training. The student elective system management design time although only a week, but it does make me benefit. Students elective system management design my rich experience in computer operation, more deep understanding of the C language, familiar with the environment, more increased to Microsoft Visual C++ 6 using skills.

The C language is widely used at home and abroad a computer language. Language feature-rich, expressive capability is strong, flexible and convenient use, not only has the advantages of high-level language, but also has many of the characteristics of low-level language, suitable for the preparation of system software.

At the same time, I think C language should be the operation of combining theory and curriculum, constantly writing to think, the two are inseparable. Us in the preparation of a larger process should divide it into several small procedures, it would be much easier.

Key words:students elective system management; C language curriculum design; computer technology; modular design; information; information query; selection;

目录

1、需求分析 (1)

2.1概要设计 (1)

2.1模块设计及图示 (1)

2.2主函数流程设计 (2)

3 详细设计 (3)

3.1程序中的数据类型 (3)

3.2函数运行过程详解 (3)

4、设计和调试分析 (13)

4.1 调试中遇到的问题 (13)

4.2 算法复杂度分析 (15)

4.3 经验和体会 (15)

5、用户使用说明 (16)

6、测试数据和测试结果 (16)

参考文献 (22)

1 需求分析

假定有N门课程,每门课程有课程编号,课程名称,课程性质,总学分,授课学时,实验上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。要求设计一选修课程系统,使之能提供以下功能:(1)课程信息录入功能(课程信息用文件保存)---------输入;

(2)课程信息浏览功能------输出;

(3)查询功能:(多种查询方式:一种、任意两种组合、三种都能满足)------算法;

(1)按学分查询

(2)按课程性质查询;

(3)按课程名称查询;

要求:

(1)用C语言实现系统,源程序要有适当的注释,使程序容易阅读;

(2)函数功能要划分好(结构化程序设计);

(3)至少采用文本菜单界面(如果能采用图形菜单界面更好);

(4)可以增加新功能模块

2 概要设计

本程序功能模块根据程序设计的需求,综4.0合程序的实用性、智能化得考虑,将程序划分为6个模块分别编写:

2.1 五个模块分别为:

(1)浏览课程信息模块

(2)查询课程信息模块

(3)进入系统进行选课模块 (4)选课情况统计模块 (5)录入选课信息模块

2.2 主函数的流程设计:

学生选课系统执行主流程如图所示,先执行主函数 按键的有效键值为0~5输入。各个按键的执行功能为:

“1”:浏览已录入的选修课课程信息调用函数,“2”:通过不同的方式查找记录,调用函数search(); “3”:进入系统进行选课,调用函数xuan_ke();

“4”:查看课程已选情况,调用函数“5”:录入选修课信息,调用函数input(); “0”:退出系统;

3 详细设计

3.1 程序中定义的数据类型

3.1、1 定义与课程有关的结构体

struct course

{

int num; /*课程编号*/

char name[20]; /*课程名称*/

char kind[10]; /*课程性质*/

int taltime,ttime,etime,mark,term; /*课程时间,学分,开课信息等*/

};

3.1.2 定义与学生有关的结构体

struct student

{

int snum;/*学生学号*/

int cnum;/*所选课程编号*/

char cname[20];/*所选课程名称*/

};

3.2 每个函数的过程详解

3.2.1 void f1();

函数原型:void f1();

函数源程序:

void f1()/*常用函数2*/

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

函数功能及实现:此函数仅包含输出语句,在课程信息输出之前调用此函数,打印出表头信息

3.2.2 void menu();

函数原型:void menu()

函数源程序:

void menu()/*主菜单*/

{

Printf(“\n\n\n”);

printf(" 欢迎使用学生选课系统!\n");

printf("

************************************** \n");

printf(" * 1-浏览选课信息2-查询选课信息* \n");

printf(" * 3-进入选课操作4-选课情况统计* \n");

printf(" * 5-录入选课信息0-退出选课系统* \n");

printf("

************************************** \n");

printf(" 请选择输入选项编号(请先选择5进行课程信息录入): ");

}

函数功能及实现:此函数为输出菜单,进入系统后提示可根据供选择的项目进行后续操作。

3.2.3 void browser();

函数原型:void browser();

函数源程序:

/*浏览选课信息*/

void browser()

{

FILE *fp;/*定义指向文件的指针*/

struct course c;/*定义课程结构体变量c*/

if((fp=fopen("course.txt","r"))==NULL)

{

printf("\nCannot open course!\n");

}

f1();

for(;!feof(fp);) /*直到文件结束*/

{fscanf(fp,"%d %s %s %d %d %d %d %d\n",&c.num,&https://www.360docs.net/doc/177750134.html,,&c.kind,&c.ttim e,&c.etime,&c.taltime,&c.mark,&c.term); /*将课程信息写入文件*/ printf("%5d%12s%9s%9d%12d%12d%8d%9d\n",c.num,https://www.360docs.net/doc/177750134.html,,c.kind,c.ttime,c. etime,c.taltime,c.mark,c.term);/*格式化输出*/

}

fclose(fp);/*关闭文件*/

menu();

}

函数功能及实现:此函数先定义指向文件的指针*fp,课程结构体变量c,通过if语句判断文件是否存在,在调用函数f1(),输出表头信息,通过for 循环并使用fscanf函数将文件中的课程信息读出并通过printf打印到屏幕上,再通过fclose函数关闭文件。

3.2.4 void search();

函数原型:void search();

函数源程序:

/*查询选课信息*/

void search()

{

FILE *fp; /*定义文件指针变量*/

struct course c;/*定义学生结构体变量c*/

int score;

char kind[10];

char name[20];

int b;

/*输入需要的查询课程信息的方式*/

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

printf("\n 2.按课程性质查询\n\n");

printf("\n 3.按课程名称查询\n\n");

printf(" 请选择查询方式,输入选项数字:");

for(;b<1||b>3;)

{printf("

scanf("%d",&b);}

/*按学分查询*/

if(b==1)

{

printf("\n

scanf("%d",&score);

printf("\nCannot open course!\n");

f1();

for(;!feof(fp);)

{

fscanf(fp,"%d%s%s%d%d%d%d%d\n",&c.num,&https://www.360docs.net/doc/177750134.html,,&c.kind,&c.ttime,&c.e time,&c.taltime,&c.mark,&c.term);

if(c.mark==score)

printf("%5d%12s%9s%9d%12d%13d%8d%9d\n",c.num,https://www.360docs.net/doc/177750134.html,,c.kind,c.ttime,c. etime,c.taltime,c.mark,c.term);

}

}

/*按课程细致查询*/

else if(b==2)

{printf("\n 请输入您要查询的课程性质: ");

scanf("%s",&kind);

if((fp=fopen("course.txt","r"))==NULL)

printf("\nCannot open course!\n");

f1();

for(;!feof(fp);)

{

fscanf(fp,"%d%s%s%d%d%d%d%d\n",&c.num,&https://www.360docs.net/doc/177750134.html,,&c.kind,&c.ttime,&c.etime ,&c.taltime,&c.mark,&c.term);

if(strcmp(c.kind,kind)==0)

printf("%5d%12s%9s%9d%9d%11d%11d%11d\n",c.num,https://www.360docs.net/doc/177750134.html,,c.kind,c.ttime,c .etime,c.taltime,c.mark,c.term);

}

}

/*按课程名称查询*/

else if(b==3)

{

printf("\n 请输入课程名称:");

scanf("%s",&name);

if((fp=fopen("course.txt","r"))==NULL)

printf("\nCannot open course!\n");

f1();

for(;!feof(fp);)

{

fscanf(fp,"%d%s%s%d%d%d%d%d\n",&c.num,&https://www.360docs.net/doc/177750134.html,,&c.kind,&c.ttime,&c.etime ,&c.taltime,&c.mark,&c.term);

if(strcmp(https://www.360docs.net/doc/177750134.html,,name)==0)

printf("%5d%12s%9s%9d%9d%11d%11d%11d\n",c.num,https://www.360docs.net/doc/177750134.html,,c.kind,c.ttime,c.eti me,c.taltime,c.mark,c.term);

}

}

else{

printf("输入错误!");

exit(1);

}

fclose(fp);

menu();/*调用menu函数*/

}

函数功能及实现:先定义学生结构体变量s,打印相关可供选择的选项,通过scanf函数读取输入字符,打印表头,再使用if语句进行相关选择。如果数“1”,则是按学分查询课程,符合第一个if语句,输入想要查询的学分,程序通过for 循环从文件中读取课程信息,并通过printf函数输出满足要求的课程信息;如选择“2”,符合第二个if语句,则按照课程性质查询,输入课程性质,程序通过for 循环从文件中读取课程信息,并通过printf函数输出满足要求的课程信息;如输

入“3”,符合第二个if语句,则按照课程名称查询,输入要课程名称,程序通过for循环从文件中读取课程信息,并通过printf函数输出满足要求的课程信息;查询完成后通过fclose 函数关闭文件,打印主菜单,返回主函数。

3.2.5 void xuan_ke();

函数原型:void xuan_ke()

函数源程序:

/*进入选课操作*/

void xuan_ke()

{

struct student s;/*定义学生结构体变量s*/

struct course c;/*定义课程结构体变量c*/

FILE *fp; /*定义文件指针变量*/

printf("\n 请输入您的学号及您要选择的课程编号(用空格分开):");

scanf("%d%d",&s.snum,&https://www.360docs.net/doc/177750134.html,um);

if((fp=fopen("course.txt","r"))==NULL) /*打开选课记录文件"course.txt"*/

{

printf("\nCannot open course!\n");

}

for(;!feof(fp);)

{

fscanf(fp,"%d %s %s %d %d %d %d %d\n",&c.num,&https://www.360docs.net/doc/177750134.html,,&c.kind,&c.ttime, &c.etime,&c.taltime,&c.mark,&c.term);

if(https://www.360docs.net/doc/177750134.html,um==c.num)

break;

}

fclose(fp);/*关闭选课记录文件"course.txt"*/

if((fp=fopen("student.txt","a+"))==NULL)

{

printf("\nCannot open student!\n");

} /*将学生选课信息输入student.txt文件*/

fprintf(fp,"%d %d %s\n",s.snum,https://www.360docs.net/doc/177750134.html,um,https://www.360docs.net/doc/177750134.html,);

fclose(fp);

printf("\n 恭喜您选课成功!\n");

menu();

}

函数功能及实现:进入此函数可进行自由选课,首先定义了学生结构体变量s,和课程结构体变量c。选课学生输入自己的学号和要选的课程,通过for循环打开文件并找到所要选择的课程,通过break跳出循环,关闭课程文件“course.txt”并将学生选课信息存入文件“student.txt”中,关闭文件。打印菜单信息,返回主函数。

3.2.6 void xuanke_information();

函数原型:void information();

函数源程序:

/*选课情况统计*/

void xuanke_information()

{

int total=0;/*人数统计变量*/

FILE *fp;

struct student s;

if((fp=fopen("student.txt","r"))==NULL)/*打开选课记录文件"student.txt"*/

{

printf("\nCannot open student!\n");

}

printf("\n 学号课程编号课程名称\n");

for(;!feof(fp);)

{

fscanf(fp,"%d%d%s\n",&s.snum,&https://www.360docs.net/doc/177750134.html,um,&https://www.360docs.net/doc/177750134.html,ame);

total++;

printf("%22d%17d%18s\n",s.snum,https://www.360docs.net/doc/177750134.html,um,https://www.360docs.net/doc/177750134.html,ame);

}

printf("\n 选课学生总人数为:%d 人",total);

fclose(fp);

menu();

}

函数功能及实现:此函数为查看选修课被选择的情况。定义了变量total为了统计选课人数,通过if语句判断是否存在文件“student.txt”,通过for循环打印出所有已选课学生的学号、选课课程编号和所选课程的名称,通过计数变量total 输出已选课的人数信息。然后打印菜单,返回主函数。

3.2.7 void input()

函数原型:void input();

函数源程序:

/*录入选修课课程信息*/

void input()

{

FILE *fp;

struct course c;

int count;

int i;

if((fp=fopen("course.txt","a+"))==NULL)/*建立文件"course.txt"*/

{

printf("cannot open file\n");

}

printf("\n (录入选课信息)请输入课程门数: ");

scanf("%d",&count);

printf("\n

(各项目间用空格分开)\n\n");

f1();

for(i=0;i

{

scanf("%d %s %s %d %d %d %d %d",&c.num,&https://www.360docs.net/doc/177750134.html,,&c.kind,&c.ttime,&c.eti me,&c.taltime,&c.mark,&c.term);

fprintf(fp,"%d %s %s %d %d %d %d %d\n",c.num,https://www.360docs.net/doc/177750134.html,,c.kind,c.ttime,c.etime, c.taltime,c.mark,c.term);

}

fclose(fp);

printf("\n 录入数据成功!\n\n");

menu();

}

函数功能及实现:此函数录入课程信息,在查询、浏览、进入选课,查看选课信息等函数之前。定义指向文件的指针变量*fp,课程信息结构体c,通过fopen 函数建立文件”course.txt”,后输入录入课程的门数,打印表头,通过for循环,用scanf函数从屏幕读取课程信息,并通过fprintf函数将课程信息录入到文件“course.txt”中,最后输出主菜单,返回主程序。

3.2.8 void main()

函数源程序:

/*主函数*/

void main()

{

int n;

menu();

scanf("%d",&n);

/*防止错误,提示重新输入*/

for(;n>5||n<0;)

{

printf("\n 输入错误!请重新输入!");

scanf("%d",&n);

}

while(n>0&&n<6)

{

switch(n)

{

case 1:browser();break;/*浏览选课信息*/

case 2:search();break; /*查询选课信息*/

case 3:xuan_ke();break;/*进入选课操作*/

case 4:xuanke_information();break;/*选课情况统计*/

case 5:input();break;/*录入选课信息*/

}

scanf("%d",&n);

/*防止错误,提示重新输入*/

for(;n>5||n<0;)

{

printf("\n 输入错误!请重新输入!");

scanf("%d",&n);

}

system("cls");/*调用系统命令cls,清除屏幕*/

}

if(n==0)

exit(0);/*退出选课系统*/

}

函数功能及实现:函数先打印出主菜单,用户可通过输入项目编号进行后续操作,输入数字为0~5之间的任意数字,代表进入不同的模块,通过for循环可

有效避免错误选择。如果输入1~5通过while循环和switch调用相关函数,实现相关功能,调用完后,通过break跳出循环,并选择后续操作。为了界面的更加简洁,调用DOS命令,清屏。如果输入0则执行exit(0)退出程序。

4 设计和调试分析

4.1调试中遇到的问题

(1)在用scanf函数给普通变量输入数据时,在变量名前漏写地址运算符&。

如:scanf(″%d%d″, x, y);

(2)在scanf函数调用语句中,企图规定输入实型数据的小数位。

如执行以下语句:scanf(″%6.2f″, &a);

(3)输入数据时的数据形式与要求不符。

用scanf函数输入数据时,必须注意要与scanf语句中的对应形式匹配。

如:scanf(″%d,%d″,&x, &y);

若按以下形式输入数据:

2 4

是不合法。数据2和4之间应当有逗号。

(4)输入、输出时的数据类型与所用格式说明符不匹配。

例如有以下说明语句:

int x=1; char y=’a’;

则运行时执行语句

printf(″x=%c, y=%d\n″, x, y);

将给出与原意不符的结果:(在TURBO C 2.0 下运行)

(5)混淆"="和"=="。

在C语言中,"="赋值运算符,"=="是关系运算符。

(6)在不该出现分号的地方加了分号。

例如:if(x>y);

printf(″x is larger than y. \n″);

(7)对于复合语句,忘记加花括号。

例如:i=1; a=0;

while (i<=10)

a+=i; i++;

printf(″a=%d\n″,a);

(8)误把数组说明时所定义的元素个数作为最大下标值使用。

C语言规定,引用数组元素时下标从0开始,即下标值的下限为0,而下标的上限值是数组定义时元素个数减1。

(9)在switch语句的各分支中未使用break语句。

例如:switch(n)

{

case 1:browser();

case 2:search();

case 3:xuan_ke();

case 4:xuanke_information();

case 5:input();

}

4.2 算法的时间复杂度分析

时间复杂度分析

设有n们选修课则算法的时间复杂度依次为:

browser()的时间复杂度为:T1=O(n);

search()的时间复杂度为:T2=O(3*(2+n))

xuan_ke()的时间复杂度为:T3=O(2+2*n)

xuanke_information()的时间复杂度为T4=O(1+2*n)

input()的时间复杂度为:T5=O(1+2*n)

所以时间复杂度为T=O(n)

4.3 经验和体会

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

(2)在设计过程中遇到了很多的问题,但是最后通过自己的努力或者在网上

C课程设计学生信息管理系统

C课程设计学生信息管理 系统 The latest revision on November 22, 2020

课程设计说明书 题目:学生信息管理系统 学院:信息工程学院 班级:软件09-1 2011 年 1 月 21 日

X X 大学课程设计(论文)任务书 课程名称:面向对象程序设计课程设计学院:信息工程学院班级:软件09-1 学生姓名: X X X ___ 学号: 0000 指导教师: X X X

目录

前言 学生信息管理系统,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统。 它是一个教育单位不可缺少的部分,它的内容对于学校管理者来说是至关重要的,能有效的帮助学校和老师掌握学生的情况。在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。随着科学技术的不断提高,使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是学校实现科学化、正规化管理的重要条件。因此,开发这样一套管理软件成为很有必要的事情。

(完整版)学生选课系统可行性分析报告

文档编号:RS-4 版本号:1.0.0 学生选课系统 可行性分析报告 项目名称:学生选课系统 项目负责人:路景 项目开发小组:软三四组 修改记录:

学生选课系统可行性分析报告 1.引言 当今社会是一个讲求效率的社会,时间就是金钱。开发简单,易于操作的管理软件不仅可以节省时间,还可以避免浪费人力,物力,提高效率。 待开发系统是一个学生选课的管理系统,该系统软件非常容易被接受,它具有简单易学性,便于管理等功能。它是对学校选课管理的一种工具。 1.1编写目的 由于教学制度的改革,现在大部分高等院校实行的是学生的自主选课模式,传统的学生按照学校安排好的课程上课的教学模式已经不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。此选课系统就是为了解决这个问题。 1.2项目背景 随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现选课系统势在必行。对于一个学校来说,用计算机进行选课管理所无法比拟的优点是检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校选课的效率。 工程名称:学生选课系统 工程组织者:威海职业学院 产品设计者:软三四组开发小组 产品生产者:软三四组开发小组 产品所有权:软三四组开发小组拥有 产品用户:具有一定特权的管理人员、老师和学生 1.3定义 学生选课系统是一个功能实用、操作方便、简单明了、使用方便的选课的系

统,能实现老师对课程的添加,删除,更改,浏览,查询等功能,并能对每门课程成绩进行评定,学生可对相关信息有查询和修改功能的系统。 1.4参考资料 魏志华.《软件工程》.北京:清华大学出版社,2005 张海藩.《软件工程》.北京:人民邮电出版社,2002 2.可行性研究的前提 2.1基本要求 (1)该软件的功能为:学生选课信息更新、选课查询、成绩查询、密码管理、以及学生选课信息的导入/导出。 学生选课信息更新:添加选课学生、删除选课学生、修改选课学生信息。 查询功能:记录浏览和条件查询。 密码管理功能允许合法用户对密码进行修改。 (2)性能 方便数据的录入,使查询速度大大提高。 (3)系统的输入 选课学生所包含的信息。 (4)系统的输出 查询结果和各类报表。 (5)数据安全和保密 系统对不同权限的用户提供不同的功能模块,有一定权限的用户可以进行操作,一般的用户只能进行查询的操作。 2.2开发目标 (1)开发此学生选课管理系统软件,使教学人员及操作者进行选课管理,方便操作者随时添加、查询、修改,使工作人员从繁琐的填表,查表工作中解放出来,使得人力和设备减少; (2)使供需双方都获得满意的结果; (3)促进报表、统计数字的规范化; (4)处理速度高,提高工作效率;

学生选课管理系统软件课程设计报告(精)

山东交通学院 面向对象课程设计学生选课管理系统软件 院(系别信息工程系 班级计算091 学号xxxxxxxxxxxx 姓名 xxxxx 指导教师 xxxxx 时间2011-04-05—2011-04-17 课程设计任务书 题目学生选课管理系统 系 (部信息工程系 专业计算机 班级计算091 学生姓名 xxxxx 学号 xxxxx 0 4 月 05日至 04 月 17 日共 2 周 指导教师(签字 系主任(签字 年月日

成绩评定表

abstract In order to improve everyone's hands-on time ability and the content of the later work have certain knowledge, at the same time for everybody in a database of a learning inspection study; School for everybody arranged for a two-week course design, make everyone working environment to the database, and understand more about curriculum design is several classmates to do the same projects, the regulation of the people's operation, is later programming work strengthened the personal programming specifications. This document on the database and VC briefly simply introduces, in the form of using graphic combined with written by the students elective course system in detail. Students elective course system is a more perfect record course information, her students can add students' information, new information, show the modified students of information and inquires the student students of information, etc. For the record students' information provides convenient records. Key words: database, VC, source program, students' course selection 目录 1课程设计概述 (1 1.1学生选课管理系统软件功能概述 (1 1.2Visual C++6.0概述 (1 2学生选课管理系统软件总体设计 (1 2.1学生选课管理系统软件总体设计思想 (1 2.2总体设计流程图 (3

学生选修课管理系统设计C语言版

CHANGSHAUNIVERSITY OF SCIENCE & TECHNOLOGY 课程设计(论文)题目:学生选修课管理系统设计 学生姓名:江元 学号:201153100121 班级: 信息与计算科学11-01班 所在院部: 数学与计算科学学院 指导教师:龚红仿 2013 年1 月

学生选修课管理系统设计 学生姓名:江元 学号:201153100121 班级:信计11-01班 指导教师:龚红仿 完成日期: 2013年1月11日

学生选修课管理系统设计 摘要 C语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。使我们体会到自身知识和能力能在实际中的应用和发挥。不但可以激发创新意识,还可以开发创造能力、培养沟通能力。这次学生选修课系统管理设计时间虽然仅有一个星期,但确实使我受益非浅。通过学生选修课系统管理设计我丰富了计算机操作经验,更加深了对C语言的了解,熟悉了其环境,更增强了对Microsoft Visual C++ 6.0的使用技巧。 C语言是在国内外广泛使用的一种计算机语言。语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。 关键词:学生选修课系统管理;C语言课程设计;计算机技术;模块化程序设计;信息录入;浏览信息;选课;查询

学生选课系统设计报告

大理学院数学与计算机学院《数据库系统设计》课程设计报告 班级:2012级计算机科学与技术1班 学号:201211514 姓名:刘秀珍 系统名称:学生选课系统 总分:

实验报告内容及撰写要求: 一、需求分析 程序的主要功能描述,可以用文字、框图、用例等方式。 参考《数据库系统设计任务书》附录中的内容来进行设计报告的撰写。 主要应当包含分析的过程及分析后得到的数据流图和数据字典。 二、数据库设计 2.1 数据库概念设计 实体关系模型设计,创建分ER图和总体ER图,并描述总体E-R图合并时的问题解决。 2.2数据库的逻辑设计 根据概念设计结果,创建数据库的逻辑模型,建立在具体DBMS下(SQL SERVER 2005)的表结构,并根据规范化理论对表结构进行优化调整。 同时,根据应用需求,创建数据库系统所需的外模式(视图)、模式和内模式(索引)等,此外,应当根据需求,建立数据完整性约束(实体完整性,参照完整性和用户自定义完整性)。 三、系统实现 3.1 数据库访问 1)数据访问类及实现代码 2)SQL语句 3.2 业务逻辑层类及代码 描述业务流程、数据处理功能的模块代码 3.3表示层的实现 可以用界面截图及其实现类及核心代码描述

四、总结

一、需求分析 1.1背景 全校性选修课开设的目的在于扩大学生的知识面、加强学生素质教育、培养复合型高级人才,具有不可替代的重要性。随着教育改革的不断深入和素质教育的加强,学分制的实施,选修课在一个学生的培养计划中占的比重将越来越大。 网上选课系统的出现使同学们能够更加自主、便捷、准确的进行选课。但是,由于一般高校中的学生都比较多,因此带来了诸多如信息管理等问题,鉴于需要将学生信息、选课信息等信息数字化以便于管理维护,我们便想到了利用数据库能够比较良好地解决此类问题,由此下面我将设计出一个学生选课系统以供参考。 1.2系统设计要求: 设计出一个学生选课数据库系统的简要要求如下: 1)设计要求 ①建立相应的数据库及相关的表、属性、约束、规则、默认等; ②输入相应的记录(每个表不少于20条记录); ③编写进行数据管理的存储过程。 2)系统用户由系统管理员、学生用户和教师用户三类组成。 (1)系统管理员的主要功能: ①用户管理(对教师、学生信息的管理和维护); ②课程管理(对课程信息的管理和维护); ③选课管理(实现选课功能开放和禁止、老师成绩输入开放和禁止)。

学生选课管理系统

学生选课管理系统 SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-

#include #include #include #include #include //定义学生对象类型 typedef struct node { char Sno[10]; //学号 char Sname[10]; //姓名 char Ssex[3]; //性别 char Sage[3]; //年龄 char Sdept[4]; //所在系 struct node *next; }Student; //定义课程对象类型 typedef struct node2 { char Cno[10]; //课程号 char Cname[10]; //课程名 char Cpno[5]; //先行课 char Ccredit[3]; //学分 struct node2 *next; }Course; //定义选课对象类型 typedef struct node3 { char Sno[10]; char Cno[10]; int Grade; struct node3 *next; }SC; //初始化学生信息表

void InitlistA(Student *stu) { stu->next=NULL; } //初始化课程信息表 void InitlistB(Course *C) { C->next=NULL; } //初始化选课信息表 void InitlistC(SC *S) { S->next=NULL; } //求选课表的深度 int Getlength(SC *S) { int i=0; SC *p; p=S->next; while(p!=NULL) { p=p->next; i ; } return(i); } //用户输入数据建立学生信息表(尾插法) void CreatelistA(Student *stu) { Student *s,*r; int m,i;

学生的的选课管理系统体系结构设计报告模板总结模板计划模板.doc

精品文档 目录 0. 文档介绍 (2) 0.1 文档目的 (2) 0.2 文档范围 (2) 0.3 读者对象 (2) 0.4 参考文献 (2) 0.5 术语与缩写解释 (2) 1. 系统概述 (3) 1.1 概述 (3) 1.2 功能描述 (3) 2. 设计约束 (5) 2.1 需求规定 (5) 2.2 运行环境 (5) 2.3 接口约束 (6) 2.4 质量约束 (7) 2.5 隐含约束 (7) 3. 设计策略 (8) 3.1 关键技术 (8) 3.2 扩展策略 (8) 3.3 复用策略 (8) 4. 系统总体结构 (10) 4.1 逻辑设计 (12) 4.2 用户接口逻辑设计 (12) 4.3 物理设计 (12) 5. 子系统的结构与功能 (13) 6. 开发环境的配置 (18) 7. 运行环境的配置 (19) 8. 测试环境的配置 (20) 9. 其他 (20)

0.文档介绍 0.1 文档目的 该文档描述了学生选课管理系统的主要功能,阐述了系统的总体构架,包括物理、逻辑结构,并说明了体系结构所采取的设计策略和所有技术。 0.2 文档范围 学生选课管理系统 0.3 读者对象 项目组长,项目负责小组,各功能模块负责人及程序员。 0.4 参考文献 资料名称资料来源 《学生选课管理系统项目计划书》学生选课管理系统《学生选课管理系统需求规格说明书》学生选课管理系统《计算机软件文档编写指南》图书馆 《 CMMI+3级软件过程改进方法与规范》图书馆 0.5 术语与缩写解释 缩写、术语解释 SPP简并行过程(Simplified Parallel Process) PM项目管理(project management) 实体实体是一个可持久化的域对象,比如电脑、书等。 数据字典对数据流程图中对象的详细描述

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

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

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

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

学生选课系统课程设计报告

学生选课系统课程设计报告

《数据库原理》课程设计报告 题目:实验2学生选课系统 姓名:李子甘 班级:计科0601 学号:200640274 08年1月

一.需求分析 传统的选课方式都是手写的,教务处通知各 个班级选课,各个班长再通知同学,经过统 计在上交,这样繁琐的过程比较浪费时间。 再者选课时不知道所选课人数已满,要等到 教务处统计后才知道,然后再重新选择。网 上选课为同学节省时间的同时,也减少了不 必要的步骤,也更加方便管理员的管理。 网上选课系统为同学们提供了一个自由的 平台,学生们可以选择规定范围内的课程,查看已修课程总数,还可以修改个人信息。 同时也给老师提供了很大的方便,教师可以 根据统计的人数挑选一定数量的学生,也可 以方便的在网上公布成绩,让学生可以在网 上直接查寻成绩。 我国不少高校都实行学分制,它的核心是允 许学生自由选课,即把学生的自主权交给学 生。在这里,学生的选课制约因素比较复杂,工作量也很大,而且往往需要在较短的时间 内完成。运用计算机辅助选课,即能实时地 对大量选课数据进行检验和统计,十分方便 的输出选课结果,同时也避免了人工选课时

容易产生错误。 二.概念机构设计 根据系统功能设计的要求以及功能模块 的划分,各个系统的逻辑实现如下: 1.对于学生选课系统数据库,可以列出以下数 据项和数据结构: 学生信息:学号、学生姓名、学生的系名、学生性别、学生年龄、学生密码。2.对于教师信息维护数据库,可以列出以下数 据项和数据结构: 教师个人信息:教师编号、教师名称、教师密码。 3.对于后台管理数据库,可以列出以下数据项 和数据结构: 管理员信息:管理员名称、管理员密码。 课程信息:课程号、课程名称、课程类别、开课系。 选课信息:课程号、学生学号、成 绩。 4.数据流:学生管理员和教师分别有自己的权 限,学生可以查看全部选修必修课程,查看

c课程设计学生成绩管理系统

中南大学 二○一二~二○一三学年第二学期 信息科学与工程学院 C++程序设计语言 课程设计报告 课程名称:C++程序设计语言 班级:电气信息类1206班 学 姓名:邬继阳 指导教师:王磊 二0一三年零七月 目录

1.课程设计目的 使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。 使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。 使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。 2.系统描述(需求分析) 需要处理的基础数据 学生基本信息:如班级、学号、姓名、性别、年龄、宿舍号码、电话号码等。 学生选修课程的基本信息:课程编号、课程名称、考试成绩、平时成绩、综合成绩、学分、 重修否等。

系统的基本功能 数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信息; 数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息;数据的插入:插入某个学生信息 数据的查询:如按学号查询、按姓名查询等; 数据的删除:如删除指定学号、或者指定姓名的学生及其选修课的信息; 平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出 学生信息; 列出不及格学生清单(学号、姓名、不及格的课程和成绩)。 考虑用文件把数据保存起来(可选)。 可行性分析 2.3.1如上所示,该系统要求处理一些学生成绩的基本数据,包括两个方面:学生身 份信息和学生成绩信息。具体可以考虑创建两个类,一个学生基本信息类,一个学科基本信息类。这样既可以保持二者的独立性,也可以使之相关联。 2.3.2该系统不仅要求能录入一些基本数据外,还要能对这些数据进行处理,比如修 改,删除,插入,查询等。对这些操作的实现可以暂时放开面向对象,而采用面向过程的方法。另外,因为对数据库了解不多,可以考虑用文件保存的形式将数据保存起来,最后在查找的时候采用文件读取。 3.功能模块设计 类的分析与设计 由上面的需求分析可以知道,在本程序中,需要处理两大类数据:一个是学生的身份基本信息,另一个是该同学的课程基本信息。而且要求二者既要相互联系,又不能太相互制约。于是可以考虑创建两个类:Stu类(学生信息类)和Course类(课程

网上选课系统-需求分析报告

一、系统设计可行性 1.1网上选课系统的产生 网上选课系统是针对在校学生和教师使用的,从学生的角度来说,由于教学制度的改革,现在大部分的高等院校开始实行学生自主选课模式,传统的教学模式已经不能适应新的教学模式,如果还只是通过纸上的方式选课,一方面浪费大量的人力、物力,另一方面浪费时间以及在统计过程中不可避免的会出现差错。随着高校的人数增加,暴露出来的弊端会越来越多。 因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教室的角度来讲,同样可以节约大量的时间和减少工作量以及减少错误的发生率。 1.2可行性分析 网上选课系统的可行性分析包括以后几个方面: 1.技术可行性 由于校园网络的普遍应用,使得网上选课非常的方便,无需再进行网络的建设。基于B/S模式的选课系统更加适合校园网,使得学生可以在任何有校园网的地方完成选课过程。 https://www.360docs.net/doc/177750134.html,、C#语言在大二的时候学过了,而且数据库Access运 用的比较熟练,大部分做起来还算得心应手,部分不会的现在上网也比较方便,可以在网上进行查找。. 2.经济可行性

校园网应经普及,因此网络设备上不需要大的投入。加之,B/S 模式的系统只要求客户端具备浏览器的基本功能,就能实现网上选课。因此,从经济上来说,开发网上选课系统不需要很大的投入,硬件上只需要Web服务器和数据库服务器即可。 3.操作可行性 B/S模式的最大优势就是操作方便、如同浏览网页一样。 综上所述,网上选课系统在高校中是可行的。 二、系统的需求分析 2.1引言 2.1.1编写的目的 本文档是对该学生选课系统的一个整体把握,以便在下一步的开发设计中更好的控制开发。 本文档的预期读者是: 设计人员 开发人员 管理和测试人员 最终用户. 2.1.2背景 由于电脑时代的到来以及internet的迅速发展,电脑无处不在,当然各种工作效率也大幅提高,那么对于一个学校来说,开发一个好的学生选课系统势在必行。鉴此,特开发此学生选课系统,该系统实现了选课的网络化、信息化、现代化。

学生选课系统设计报告

学生选课系统设计 报告

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 春季学期 C程序设计课程设计 题目:学生选课系统 专业班级:应用物理 姓名:杨维峰 学号: 指导教师:李聪 成绩:

学生选课系统 摘要 学生选课系统是教育单位不可缺少的重要系统组成部分,她对于学校的决策者、管理者管理、查看课程来说都有至关重要,因此学生选课系统应该能够为广大学、师生提供充分的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统选课方便、快捷,用简单的界面来展示学生的选课信息,能够提高对学生信息管理的效率。 关键词:方便,快捷,选课信息,选择,管理

目录 1题目要求 (4) 2需求分析 (4) 2.1功能简介 (4) 3总体设计 (4) 4详细设计 (5) 4.1 系统主要函数说明 (5) 4.1.1 主函数 (6) 4.1.2 input函数 (7) 4.1.3del函数 (8) 4.1.4find函数 (9) 4.1.5display函数 (9) 5 系统测试 (10) 6总结 (13) 参考文献 (14) 致谢 (15) 附录: (16) 源程序 (16)

文档仅供参考,不当之处,请联系改正。 1题目要求 设计一个关于学生选课方便简捷的程序,从而达到学生能够快速的选到课程。 2需求分析 数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。 2.1功能简介 此系统是一个学生选课管理系统。它包含功能有:学生选课信息的录入,学生选课信息的删除,学生选课信息的查找,学生选课信息的显示等功能。 菜单模式:此模块主要实现对本系统所有功能的显示。 录入模块:此模块主要实现对学生选课信息的录入,主要包括学生学号、学生姓名、所选课程、课程学分、授课老师。 删除模式:此模块主要实现对学生选课信息的删除。显示模块:此模块主要实现对学生选课信息的显示。 查找模块:此模块主要是经过学生学号查找该学生的选课信息。清屏模块:此模块主要是对主界面输入的信息进行清屏。退出程序:此模块主要用于退出系统。

C语言学生选课系统(代码)

#include #include #include int N1,N2; struct student { int num2; char name2[20]; int nelenum[50]; //所选课程编号 int nelen; //所选课程学分和 struct student * next; }; struct course { int num1; //课程编号 char name1[20]; char major[20]; char type[20]; int credit; int period; char teacher[20]; int people; //选此门课程的人数struct course *next; //结构体指针 }; struct course * head1; struct student * head2; void zhang() //从键盘录入课程信息{ struct course *p1,*p2; N1=0; p1=p2=(struct course *)malloc(sizeof(struct course));

printf("课程编号\t课程名称\t主修\t课程性质\t学分\t课时\t教师\n"); scanf("%d%s%s%s%d%d%s",&p1->num1,p1->name1,p1->major,p1->type,&p1->cr edit,&p1->period,p1->teacher); p1->people=0; head1=NULL; while(p1->num1!=0) { N1=N1+1; if(N1==1)head1=p1; else p2->next=p1; p2=p1; p1=(struct course * )malloc(sizeof(struct course)); scanf("%d%s%s%s%d%d%s",&p1->num1,p1->name1,p1->major,p1->type,&p1->cr edit,&p1->period,p1->teacher); p1->people=0; } p2->next=NULL; } void zhang1() //从文件录入课程信息 { FILE * fp; char filepath[20]; struct course *p1,*p2; N1=0; printf("请输入您要读取的路径:"); getchar(); gets(filepath); if((fp=fopen(filepath,"r"))==NULL) {

学生选课及成绩查询管理系统的设计与开发报告

学生选课及成绩查询管理系统的设计与开发 目录 1、项目背景 (1) 2、技术选型 (1) 3、需求分析 (1) 3.1 系统实现的功能流程 (2) 3.2 管理员角色拥有的功能 (2) 3.3 学生角色拥有的功能 (3) 4、数据库设计 (4) 4.1 数据库关系图 (4) 4.2 完成系统中数据表的结构设计 (4) 5、界面设计 (6) 5.1 管理员角色 (7) 5.2 学生界面 (12) 6、关键技术的介绍 (15) 7、系统测试 (25) 8、完成情况总结 (26) 1、项目背景 学生选课及成绩查询系统是一个学校不可缺少的部分,传统的人工管理档案的方式存在着很多的缺点,如:效率低、保密性差等,所以开发一套综合教务系统管理软件很有必要,它应该具有传统的手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高学校的管理效率,有助于推进学校的信息化建设。 2、技术选型 C#的窗体程序开发 本系统未采用C#实现MDI——多文档窗口,因为考虑到C#的该技术与java类似,而暑期java实训时,曾用过类似的方法做过停车场管理系统,所以想为这次的系统注入一点新鲜的血液,所以本系统设计的主题采用了了C#的C#TreeView实现。 Sql server数据库

3、需求分析 本系统包括两类用户:学生、管理员。管理员可以通过系统来添加管理员信息、修改管理员信息、添加学生信息、修改学生信息;开设课程、查询课程、录入成绩、统计成绩、修改成绩、修改个人密码等,而学生则可以通过系统来选择课程、查询课程、显示自己的课表、查询自己的成绩单、修改个人密码等等。 3.1系统实现的功能流程 具体的功能概述如下: 3.2管理员角色拥有的功能 管理员信息管理 添加管理员信息; 管理员可以添加其他的管理员信息。 修改管理员信息; 管理员可以删除其他的管理员信息。

学生选课系统开题报告书

学生选课系统开题报告书 目学生选课及信息管理系统的设计与实现学院物联网工程学院专业计算机科学与技术姓名学号指导教师副教授年月课题来源本课题是自拟课题.科学依据 一、本课题的目的及实际意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的计算机功能已经让人们深刻认识到,计算机已经进入人类社会的各个领域并发挥着越来越重要的作用.作为计算机应用的一部份,使用计算机对选课信息进行管理,具有手工管理所无法比拟的优点.例如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等.这些优点能够极大地提高人事劳资管理的效率,也是学校的科学化、正规化管理与世界接轨的重要条件.因此,很有必要开发一套这样的软件.网上选课在我国起步比较晚,但发展很快.随着互联网的普及和网上选课系统的更趋向于成熟化,会有越来越多的学校和培训机构需要网上选课系统.学生选课系统是一个学校学生管理中不可缺少的一部分,对于学校的决策者和管理者来说都至关重要,所以系统应该为用户提供充分的信息管理和方便的查询手段.但一直以来,人们使用人工的方式管理文件档案,这种管理方式存在着许多缺点:效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难.使用计算机对选课信息进行管理,具有手工管理所无法比拟

的优点.这些优点能够极大地提高人事劳资管理的效率,也是学校的科学化、正规化管理与世界接轨的重要条件.通过本系统的开发及研究,可以进一步巩固在校所学各种理论知识,为今后的就业和工作打下一个良好的基础. 二、本课题的国内外的研究现状我国高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生.在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成.运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,分方便地输出选课结果,同时也避免了人工处理时容易产生的错误.在高等学校的教务管理工作中,课程表的编排是一项分复杂、棘手的工作.在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等.利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶.研究内容通过研究和探讨,初步确定主要研究内容如下:本系统包括以下功能模块:1、管理员模块,包括学生、课程、教师、选课信息的管理.2、教师模块,包括课程、个人信息、课程信息、成绩统计等功能.3、学生模块,包括选课、查看成绩等功能.拟采取的研究方法、技术路线、实验方案及可行性分析本课题所开发的系统使用JAVA来设计开发完成,SQLServer作

选课系统设计与实现

防灾科技学院 实习报告书 防灾科技学院灾害信息工程系 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.360docs.net/doc/177750134.html,的选课系统开发所选的开发工具 Visual Studio 2010:Microsoft Visual Studio 2010 是微软的一个综合性的应用程序生命周期管理工具套件,可供团队用于确保从设计到部署的整个过程都能取得较高质量的结果。无论是创建新的解决方案,还是改进现有的应用程序,都能针对不断增加的平台和技术(包括云和并行计算)将梦想变成现实。 基于系统的建模选择的画图软件viso:Office Visio 2007 是一款便于IT 和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。使用具有专业外观的 Office Visio 2007 图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。Visio帮助创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。使用 Visio 时,以可视方式传递重要信息就像打开模板、将形状拖放到绘图中以及对即将完成的工作应用主题一样轻松。

学生档案管理系统c语言课程设计

目录 一、课题设计内容与主要功能 (1) 第1节.设计内容 (1) 第2节.主要功能 (1) 二、课题分析...................... 错误!未定义书签。 第1节.类声明表.................... 错误!未定义书签。 第2节.分析课程设计项目的实现方法 (3) 三、主要功能的实现步骤 (4) 四、程序测试与结论 (5) 五、总结 (11) 六、附件14

一、课题设计内容与主要功能 1、设计内容: 为了满足学生档案管理的要求,通过计算机技术给档案管理人员带来便利。使用c 语言编写了学生档案此管理系统。本系统主要实现学生档案管理的功能,通过此系统方便对学生档案管理。包括学号、姓名、性别、年龄、备注。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理。图书信息的录入后,系统按照有一定的规范格式显示,录入的学生信息用文件形式保存,并可以对其进行修改、排序、插入、排序查询等基本操作。整个程序实现链表操作,对学生信息的操作逐个地进行。 学生档案管理系统构建框架 2、主要功能: 1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。 2、本系统显示这样的菜单:

请选择系统功能项:1.学生基本信息录入;2.学生基本信息显示;3.学生基本信息保存;4.学生基本信息修改;5.学生基本信息插入;6.学生基本信息删除;7.学生基本信息排序;8.学生基本信息按姓名查询;9.从文件中读入学生基本信息;10.退出系统 3、执行一个具体的功能之后,程序将重新显示菜单。 4、将学生基本信息保存到文件中。 二、课题分析 1、类说明表 2、实现方法及核心算法实现代码: 主函数: void main() 录入函数:void enter() 显示函数:void list() 保存函数:void save() 插入函数:insert() 修改函数:void revise() 删除函数:void delete()删除录入的学生信息 排序函数:void sort()排序录入的学生信息 查找函数:void qseek()查找录入的学生信息 读取函数:int load()读取保存在文件中的学生信息

学生选课管理系统分析报告

学生选课管理系统 分析报告

目录 一、背景介绍 (3) 1、选题背景 (3) 2、系统改进的必要性 (3) 二、管理功能层次分析 (4) 三、现有流程分析 (6) (一)现有业务流程 (6) (二)现有数据流程 (9) 四、存在的问题 (12) (一)选课流程问题 (12) 1、登录问题 (12) 2、选课过程 (12) (二)选课系统信息不完备 (12) 五、改进方案 (13) (一)业务流程优化 (13) (二)数据流程优化 (16) (三)系统信息完善 (18) (四)数据库设计 (19) 1、实体关系图的概念设计 (19) 2、实体关系图 (19) 3、数据表文件的结构和说明 (21) 六、可行性分析 (24) 1、经济可行性分析 (24) 2、技术可行性分析 (24) 3、组织与管理可行性分析 (24) 4、操作的可行性分析 (25) 七、总结 (25)

一、背景介绍 1、选题背景 教务处在正常运营中必须面对大量课程、学生信息以及两者间相互联系产生的选课信息。如此繁杂的信息如果用人工的方式进行信息的采集与匹配,势必会在复杂繁多的数据中出现错误,而检查成本确是相当高昂的。同时,教务处的管理效率也不会太高。因此需要对课程资源、学生信息、选课信息、修改信息进行管理,及时了解各个环节中信息的变更,有利于管理效率的提高。这也就是学生选课系统。学生选课系统,分为三大模块:学生模块,教师模块和管理员模块。对于用户模块来说,分三个部分,首先学生用户可以通过输入账号密码在网上完成选课,查询课表并修改自己的信息;其次,教师用户在登录可以查看担任的课程,可以查看所选自己课程的学生信息。而管理员模块,则可以添加、查询、修改、删除、查看所有学生和教师用户课程排布的信息,并且可以对其信息进行简单的管理。该系统用于提高教务处的工作效率,有利于学校加速其实现教务信息化的进程,方便用户之间信息的交流,简化学生选课的流程。 2、系统改进的必要性 鉴于选课系统能提高管理机构的管理效率,也就是教务处的管理效率,同时也简化了学生的选课程序。于教务处而言,管理和维护选课系统关系到其自身的效率,选课系统的繁杂,在一定程度上会相对的增加教务处的管理负担。而选课系统并不是万能的,在学生选课过程中也会出现一些特殊情况,如专业课选不上,这些都只能通过和教务处协调来解决。而这些问题的出现,也说明了我们现行的选课系统并不是特别完善的,需要对系统进行改进,从而减少出错的可能性。对于学生而言,在实际生活但中有出现这样一种状况,有时候专业课选不上,有时候自己选课的时候明明是选了这门课,但是在期末的时候发现没有这门课。这对于学生来说也是存在很大的风险的。实际情况是有同学的体育课与必修课冲突,

选课系统-课设报告

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2011年春季学期 C程序设计课程设计 题目:学生选课系统 专业班级:软件一班 姓名:黄锋 学号:10240506 指导教师:王连相 成绩:

摘要 学生选课系统是C语言应运的一个简单实例,它能实现选课信息的输入、删除、查找、保存等功能。该系统由七个模块组成,各模块的完成分别由指针、数组、链表等实现,最后通过主函数将各个模块加以联结组成此简单的学生选课管理系统。该系统有查找方便、可靠性高、存储量大、保密性好等优点,是一个教育单位不可缺少的部分。 关键词:C语言;学生;信息;选课

目录 一、需求分析 (1) 二、总体设计 (2) 三、详细设计 (3) 1、数据定义 (3) 2、算法流程图 (4) 四、编码 (7) 五、测试 (9) 六、设计总结 (9) 致谢 (14) 参考文献 (15)

一、需求分析 经过简单的调研分析,可以基本确定学生选课系统主要用来实现对选课信息的输入、删除、保存、查找等功能。 1·录入课程信息 教务系统对课程进行安排。 2·课程管理 用户可以查看新增课程和已删除课程。 3·录入学生信息 学生可以输入自己的基本信息。 4·学生信息管理 系统可以对学生输入的信息进行管理,同时用户也可以进行自我信息更改。5·学生选课 学生可以查询已选课程和可选课程,然后进行选课。 6·系统信息查看及及存储 用户可以查看课程信息和学生信息以及及存储自己信息。 7·退出系统 用户完成在学生成绩管理系统的一系列操作后要离开,则就需退出系统。

相关文档
最新文档