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

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

(此文档为word格式,下载后您可任意编辑修改!) C++程序设计课程设计报告

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

组号:第八组

指导教师:张帆

目录

引言………………………………………………………………..

一设计目的及内容……………………………………………………

二课题总体设计………………………………………………………

1.性能需求……………………………………………………………

2.功能需求…………………………………………………………….

3.功能模块图…………………………………………………………

三详细设计…………………………………………………………….

1.各模块说明. ……………………………………………………….

2.各模块功能流程图………………………………………………

四测试与调试…………………………………………………………

五心得体会…………………………………………………..

六附:源代码……………………………………………….

引言

21世纪以高科技为核心的知识经济占主导地位,国家的综合国力和以国际竞争力将越来越取决于科学技术创新水平。教育作为知识创新,传播和应用的基础,培养和输送人才的摇篮,已经成为经济发展和社会进步的基础。

尽管人类进步的程度随着不同时代,不同地区而有所变化,教育的口径不断扩宽,以便使过去仅供少数人使用的教育资源能够为更多各种年龄,不同社会阶层和背景的人们所用。在信息爆炸的时代,传统教学管理面临诸多挑战。

课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。此次程序设计综合运用所学知识解决实际问题,将课堂的书本知识有效的在程序中体现出来,让学生更理解了C++功能之强大,进一步让学生对面向对象的

方法以及C++的编程思想有了较好了解和认识。

一设计目的及内容:

网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式(学生按照学校安排好的课程上课)已经不能适应新型的教学手段,如果仍然通过纸上的选课,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着学校规模的不断扩大,专业,班级,学生的数量急剧增加,有关学生选课的各种信息也成倍增加,而目前许多高校的学生的选课管理仍然停留在复杂的人工操作上,重复工作较多,工作量大,效率低,各种弊端会越来越多的暴露出来,因此利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的工作量。从教师的角度上来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此在网上进行课程发布能大幅度的减少教师的工作量,减少错误发生几率,作为教师,也只要通过自己的电脑来操作即可,不用奔波于教务处和办公室之间。

1、课题名称:学生选修课程系统设计

2、课程设计详细内容

说明:假定有n门课程,每门课程有课程编号、课程名称、课程性质、总学时、授课学时、实验学时、学分、开课学期等信息。学生可以按要求(如每个学生总学分不得少于20、没学期不能超过3门课程,每门课程不得超过50个人,但不能少于10否则该课程不开设)自由选课。使之能提供一些功能:

要求:具体设计要求实现如下功能:

1、课程信息录入功能

2、课程信息浏览功能

3、查询功能:(按课程性质查询、按课程学分查询,查询每个学生的选修

信息、查询每门课程的选修信息等)

4、学生选修课程

5、修改课程或选课信息(根据课程编号或名称修改课程信息、根据学生姓名修改选课信息);

6、删除课程或选课信息(根据课程编号或名称删除课程信息、根据学生姓名

删除选课信息);

二课题总体设计:

1、性能需求:

在现代,高科技的飞跃发展,人们工作习惯的改变,别特是电脑的大量普及,人们生活节奏越来越来快,怎样提高工作效率是人们首先考虑的问题。学生选课是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责。

显然,靠手工进行管理这种选课方法已经不能适应时代的发展,学校的需求。今天这种传统的管理方法必然会被计算机为基础的信息系统所代替。同时这种传统方式放映出很多问题:

第一,当要查询某个同学或某个班级的选课情况极不方便;

第二,每次选课时省老师花大量时间统计各班级各学生的选课情况,这样准确率也较难保证;

第三,选课的可靠性很低;

第四,现在学校虽然已用计算机进行选课管理,但工作并不完善,有很大的局限性。

2、功能需求:

我们设计的是一个学生选修金额系统,这个系统的功能比较完善。使用

主函数中的switch语句实现该结构,进而实现该系统的各项功能。该

系统能实现六项功能:1.录入信息、2.查询信息、3.删除课程、4.显示

课程、5.保存信息、6.读取信息,设计本次试验所用到的知识点有:类

和对象、FOR循环、switch语句、do while()语句、构造函数等等。

3、功能模块图:

三详细设计:

1.各模块说明:

(1)我们这学生选修课系统的主界面分有两个选项一个是学生使用的学生端一个是老师使用的教师端。

(2)学生端包括学生的选课情况、学生情况和学生选课,学生可在这里进行选课查询各学生选修课情况还可以查看学生的情况。

(3)选课系统管理端只有教师可以进入因为需要密码,设计密码是防止学生进入管理端随意修改。管理端包括一些要求里有的如:课程浏览、

课程录入、课程删除、课程查询等,还包括一些要求里边没有的功能

如:填写成绩、更改学分等。这些功能只有管理员才能进行修改和填

写。

2 各模块功能流程图:

(1)主界面流程图:

i=1 i=2 Case 1 Case 2

(2)学生端流程图:

(3)管理端流程图:

四测试与调试:运行:

1.学生选课主界面

2.选修课系统学生端

3.系统管理端

4.学生选课界面

5.查询学生所选课程界面

6.删除课程界面

7.课程信息录入功能

8.按课程查询所选人数

遇到的问题和解决办法:这个程序用到了数据结构的内容可是我们还没有学习数据结构当时这件事真是吧我们难住了,没办法只能自己上网还有去图书馆这中间也去问过老师最终还是把主要问题解决了,不过这中间可能有一些问题是我们现在解决不了的。

五心得体会:

1 每当拿到一个小工程,我们都得先仔细分析用户的需求,然后再给程序定

位(所花费的人力、物力以及财力),这将花费我们大量的时间,就如本次任务一样,我们首先聚在一起分析,然后得出大致方向,再具体分配任务,无论哪一部分都是我们努力的结果。

2通过这次学生选课系统设计,以C++语言为基础的编写,更让我掌握到C++语言中的相关语句的应用。

3用Visual C++ 6.0 环境下编写,我觉得,从文件中读入数据十分麻烦,没有数据库中读入数据那么轻松,如果我要用到两个表中的记录,非常麻烦。

4整个设计过程过后,我也基本掌握了设计的基本步骤,为我们以后做毕业论文也有很好的帮助。

5C++是很好的系统编程语言,但不能以此独立,但用C++语言是做不出好的系统,还是要和其他软件结合,以C++为基础编写的系统,这样做出来的系统也更好,更美观。

6这次系统设计有很多不足之处,在这过程中也认识到自己对C++也有很多的没掌握的地方。但是在老师和同学的帮助下,也算是弄出了一个简单的系统,在以后也要更加努力的学习,掌握更好的编程技术。

7做程序真的是个很累的活,有时就为了一个小小的错误,可以一两顿饭不吃,但是做出来的那一刻,真心的感觉很开心,很有成就感,虽然其应用性不高,至少这也是我们小组努力的结果。

8经过我们多天的团结合作终于把这个学生选课系统做完了,虽然这过程是艰难的但是做完之后感觉挺有成就感的,在这个过程中我们学到了很多光听老师讲学不到的东西。在写这个程序的时候用到了数据结构的内容,如果不是这个程序我觉得我是不会去自学数据结构的内容。

参考书目:

⑴谭浩强,《C++程序设计》,清华大学出版社,2002.4

⑵求是科技,《Visual C++ 6.0信息管理系统开发》,人民邮电出版社,2005.4

⑶陈良银、游洪跃、李旭伟,《C语言程序设计(C99版)》,清华大学出版社,2006.10

⑷殷人昆,《数据结构》(用面向对象方法与C++语言描述),清华大学出版社,2007.2

编程人员:孙双蕾、白晓兰

实验报告设计:牟炼

调试人员:孙双蕾

讲解人员:白晓兰

附录:源代码

#include

#include

#include

#include

using namespace std;

//定义课程

class course //某个学生所学的课程中的某一个

{public:

char cname[20]; //课程名称

float grade; //课程成绩

course *Next; //指向下一个课程的指针

};

//学生类

class student

{public: student()

{ root = NULL;

const int maxcourse = 5;

factcourse = 0;}

void readname(char N[] ); //读入学生的姓名

void getname(char N[]); //得到学生的姓名

void wrecourse(char N[],float score); //要据课程名写入学生课程的成绩

float average(); //学生课程的平均成绩

void addcourse(char N[],float g); //给学生增加一门课

int findcourse(char N[]); //查找是否已有此课程,如果有返回,如果没有返回

int retfactcourse()

{ return factcourse;} //得到所学的课程数目

course *retroot()

{ return root; } //利用键表将所有的课程保存起来

int retmaxcourse()

{ return 5; } //得到最多可学的课程数目

void clrroot() //清零

{ root = NULL;

factcourse = 0;}

private: char sname[20]; //学生的姓名

int maxcourse; //学生最多可以学五门课程

int factcourse; //学生实际所学的课程数目

course *root; //课程的根结点指针

};

void student::readname (char N[])//读入学生的姓名

{ strcpy(sname,N); }

void student::getname(char N[])//得到学生的姓名

{ strcpy(N,sname); }

void student::wrecourse(char N[],float score)//要据课程名写入学生课程的成绩{ course *p = root;

if(p==NULL)

return;

if(p!=NULL)

p = p->Next;

while(p)

{ if(strcmp(p->cname,N)==0)

p->grade = score;

p = p->Next;}

}

float student::average()//学生课程的平均成绩

{ float aver=0.0;

course *p = root;

while (p)

{ aver = aver+p->grade; }

aver = aver/factcourse;

return aver; }

void student::addcourse (char N[],float g)//给学生增加一门课

{ course *s = new course;

s->Next=NULL;

if(root == NULL)

root = s;

course *p = root;

course *newcourse = new course;

newcourse->Next = p->Next;

p->Next=newcourse;

strcpy(newcourse->cname,N);

newcourse->grade = g;

factcourse++;}

int student::findcourse (char N[])//查找是否已有此课程,如果有返回,如果没有返回

{ course *p = root;

if(root==NULL)

return 0;

p = p->Next;

while(p)

{ if(strcmp(p->cname,N)==0)

return 1;

p = p->Next;}

return 0; }

class studentdb

{public:

student stu;

studentdb *Next; };

struct studentname

{ char tname[20]; //学生的名字

float result; //学生所得的该课程分数

studentname *Next; };

//课程类

class subject

{public:

subject()

{ first = NULL;

maxstudent=30;

activestudnet=0; }

float readcredit(); //得到课程的学分

void getcredit(float a); //设置学分

float getaverage(); //得到学生的平均成绩

float getresult(char N[]); //查找某个学生的成绩

void getkname(char N[]); //读出课程的名称

void setkname(char N[]); //读入课程的名称

studentname *retfirst()

{ return first; } //返回根结点

void findstudent(studentdb *P); //根据该课程的名称,寻找选这课程的学生int retactivestudent()

{ return activestudnet; } //返回实际学生数

int retmaxstudent()

{ return 30; } //返回最多学生数

void clractivestudnet()

{ activestudnet = 0; } //从文件中读出来后将实际学生数清零

private:

int maxstudent; //最多学生数

int activestudnet; //实际学生数

studentname *first; //学生名单

float credit; //该课程的学分

float averagerusult; //该课程的平均成绩

char kname[20]; //该课程的名称

};

float subject::readcredit ()//得到课程的学分

{ return credit; }

void subject::getcredit (float a)//设置学分

{ credit=a; }

float subject::getaverage()//得到学生的平均成绩

{ float k = 0.0;

studentname *p;

p=first->Next;

if(p==NULL)

return 0;

while(p)

{ k = k + p->result;

p = p->Next ; }

return k/activestudnet; }

float subject::getresult (char N[]) //查找某个学生的成绩

{ studentname *p;

p = first;

while(p)

{ if(strcpy(p->tname ,N)==0)

return p->result;

p = p->Next ; }

return -1; }

void subject::getkname (char N[]) //读出课程的名称

{ strcpy(N,kname); }

void subject::setkname (char N[]) //读入课程的名称

{ strcpy(kname,N); }

void subject::findstudent(studentdb *P) //根据该课程的名称,寻找选这课程的学生

{ studentname *newcode = new studentname;

newcode->Next=NULL;

first = newcode;

studentname *T = first;

studentdb *K = P->Next;

while(K)

{ course *Y = K->stu.retroot();

if(Y ==NULL)

{ K = K->Next;

continue; }

if(Y!=NULL)

Y = Y->Next;

while(Y)

{ if(strcmp(Y->cname,kname)==0)

{ studentname *Acode = new studentname;

char Name[20];

K->stu.getname(Name);

strcpy(Acode->tname,Name);

Acode->result = Y->grade;

Acode->Next = T->Next;

T->Next = Acode;

activestudnet = activestudnet + 1;

break; }

Y = Y->Next; }

K = K->Next; }

return ; }

void tuichu()

{ system("cls");

cout<<"\n\n谢谢你使用选修课系统\n\n"<

cout<<"\n you're welcome ! \n"<

getch();

exit(-1); }

//总菜单

char menu()

{ int k=0;

char a[3],c,i;

system("cls");

cout<

cout<<"*******************************************\n"

<<"* *\n"

<<"* 学生选修课系统*\n"

<<"* *\n"

<<"* *\n"

<<"* 操作方式: *\n"

<<"* 1.选修课系统学生端*\n"

<<"* *\n"

<<"* 2.选修课系统管理端*\n"

<<"* *\n"

<<"*******************************************\n"<

while(1)

{ cout<<"\n\t\t请选择登入方式: ";

cin>>a;

if(strlen(a)==1)

{ for(i='1';i<='2';i++)

{ c=i;

if(c==a[0])

return c; }

}

cerr<<"\n\n\t\t\t\t输入有误!\n"<

k++;

if(k>2)

{ system("cls");

cerr<<"\n\n\n\t\t~~提示~~:错误输入次数超过三次,你将被强制退出!!\n\n"<

cout<<"\t\t按任意键继续"<

getch();

tuichu(); }

}

}

//选修课系统端操作

char custom()

{ char A[10];char b;char i;int k = 0;

system("cls");;

cout<<"\n\n\n"

<<"※※※※※※※※※※※※※※※※※※※※※※※※※※\n"

<<"※选修课系统学生端※\n"

<<"※※\n"

<<"※操作方式:. ※\n"

<<"※1、学生选课※\n"

<<"※2、学生情况※\n"

<<"※3、选课情况※\n"

<<"※4、退出系统※\n"

<<"※※\n"

<<"※※※※※※※※※※※※※※※※※※※※※※※※※※\n"<

while(1)

{ cout<<"\t\t\t请选择操作方式: ";

cin>>A;

if(strlen(A)==1)

{ for(i='1';i<='4';i++)

{ b=i;

if(b==A[0]) return b; }

}

cerr<<"\n\t\t\t\t输入有误!\n"<

k++;

if(k>2)

{ system("cls");

cerr<<"\n\n\t\t\t~~提示~~:错误输入超过三次!你将被强制退

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

目录

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

C语言程序设计实验报告参考答案

长沙理工大学C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: Thedressislong Theshoesarebig Thetrousersareblack 答案: #include main() { printf("Thedressislong\n"); printf("Theshoesarebig\n"); printf("Thetrousersareblack\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序:a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { inta,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x);

printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4.设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { inta,b,c; a=0; b=-10; c=(a>b)?b:a; printf("c=%d\n",c); }

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

山东交通学院 面向对象课程设计学生选课管理系统软件 院(系别信息工程系 班级计算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

选课系统的设计与实现

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

学生选修课管理系统设计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语言课程设计;计算机技术;模块化程序设计;信息录入;浏览信息;选课;查询

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

学生选课系统设计报告

大理学院数学与计算机学院《数据库系统设计》课程设计报告 班级: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;

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

学生的的选课管理系统体系结构设计报告模板总结模板计划模板.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) 实体实体是一个可持久化的域对象,比如电脑、书等。 数据字典对数据流程图中对象的详细描述

学生选课系统详细设计说明书

学生选课系统详细设计说明书

一、编写目的 该详细设计说明书的目的在于根据需求说明书与概要设计说明书提出该系统的详细设计,即系统的详细架 构,主要包括系统的模块划分、程序系统的结构、各个 模块的流程以及各层次中每个程序的设计考虑。 二、背景 软件系统名称:学生选课系统 软件实现计算机:LENOVO 三、管理员模块程序设计说明 ①人员管理:管理员在登录之后可以对系统内的人员(包括 学生、教师等)进行管理,包括对人员的信息进行查询、修改和删除等操作。 ②课程管理:管理员在后台添加、编辑课程的基本信息(包 括授课教师、开课时间设定),同时可以编辑系统开放选课的时间,在适当时间开启和关闭选课系统。 ③系统信息管理:管理员可对系统的基本信息进行编辑,对 系统公告进行更改或者系统标题、系统相关链接等。 ④系统权限管理:对不同的用户要分配不同的权限,管理员 可设定不同人员对不同模块的访问权限,允许或者拒绝不同用户对模块的增删查改操作。 四、教师模块程序设计说明 (1)基本信息管理:此模块主要实现两个分支功能: ①个人信息修改和密码修改。在教师用户登录状态下,实现这些功能,通过对自己的注册信息的修改满足用户的个性需求,能将注册信息及时反映个人状态,另外,密码修改则是很多网站都应具备的基本功能,能有效保护用户身份和网络安全。 ②其它基功能如学生查询,教师查询和留言查询,这三个功能都是在教师在线状态下实现的。学生查询对于教师来说非常实用,如果教师想要某个学生的基本信息,只要登录查询就可以找到目标学生,此模块目的在于让老师更方便的掌握学生的基本信息以备不时之需,用以师生交流上非常方

考勤管理系统的设计与实现开题报告

目录 一.选题的背景 随着现代科技的进步,用计算机来进行考勤管理成为现代化企业运作必不可少的一部分。以前考勤工作都是由工完成,不仅浪费了人力与物力,而且无法保证其准确性和透明度,同时给企业的管理带来了许多的不便。现在利用计算机来管理考勤工作,大大降低了工作人员的工作量,提高了工作效率,使原本复杂枯燥无味的工作变的简单而轻松。 计算机技术,特别是数据库技术的发展。为企业建立管理信息系统,甚至对改变管理思想起着不可估量的作用。实践证明信息技术已在企业的管理层面扮演越来越重要的角色。 当今社会正处于信息时代,信息技术已渗透到社会生活的各个领域,特别是各行业的管理领域,智能化信息处理已是提高效率、规范管理、客观审查的最有效途径。考勤作为一个公司的基本管理,是单位对员工工作管理的基本依据。但是,目前国内大多数企业在考勤时,依然使用的是传统的考勤方法,例如手工记录、签卡、机械打卡等,不仅考勤速度慢,在考勤时需要专门人员在旁记录、统计、制成报表,当报表最后交到主管人员手上时,也许时间已经过了几天,根本不能发挥考勤真正的监督作用。而且考勤数据不准确,考勤人员在考勤过程中可能记录出错,甚至弄虚作假的现象出现,极大的影响了企业对员工的管理。 二.课题的提出意义 使用考勤管理系统,管理者可以快速记录公司全体员工当日的出勤状况,并可按月份统计员工出勤、出差、请假状况及正常工作时间 三.考勤管理系统的功能及特点 设计本考勤系统目的是为企业解决员工考勤的繁琐工作,减轻企业负担,减少不必要的劳动力、金钱的损耗,提高工作效率,为企业创造更多效益,实现单位考勤管理的系统化、规范化和自动化。因此本系统主要需要实现以下几个功能:管理员登录及信息维护,员工信息维护,数据采集,基本数据(请假类

C程序设计实验报告

实验1 C程序运行环境、数据类型、运算符和表达式 一、实验目的 1. 掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。 2. 掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。 3. 学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式。 4. 掌握C语言源程序的结构特点与书写规范。 二、实验要求 1. 根据题目要求,进行各种程序测试与验证,并记录结果。 2. 上机调试程序。按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根 据这些信息找到程序中的错误所在,然后修改程序,直至正确。 3. 详细记录数据的输入、输出信息,按要求写出实验报告。 三、实验内容 1. 开机;进入Turbo C集成工作环境,了解Turbo C集成工作环境及其菜单的使用,输入如下C语言源程序,并以exl.C存盘。 / *ex1.c* / #include main() { printf("Hello!\n"); printf("This is C program!\n"); } 试编译、连接、运行该程序,并按Alt+F5查看运行结果。 运行结果是: 2. 输入并调试运行以下程序,查看运行结果 (由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。 main() { printf("char\t%d bytes\n",sizeof(char)); printf("short\t%d bytes\n",sizeof(short)); printf("int\t%d bytes\n",sizeof(int)); printf("long\t%d bytes\n",sizeof(long)); printf("float\t%d bytes\n",sizeof(float)); printf("double\t%d bytes\n",sizeof(double)); } 运行结果是: 3. 输入并调试运行以下程序。 main() {int i,j,m,n; i=8;j=10;

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

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

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

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

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

学生选课管理系统 概要设计

软件工程实验报告 班级:学号:姓名: 实验二:概要设计和详细设计 学生选课管理系统设计说明书 一、实验内容 1.引言 1.1编写目的 设计说明书的书写,主要是明确系统的功能和算法,把总任务分解成多个基本的、具体的任务。将系统分成若干个模块,确定各个功能模块的具体用途总体设计是系统开发过程中关键的一步。系统的质量及一些整体特性基本上是由这一步决定的。系统越大,总体设计的影响越大。项目开发的专业人员需要了解系统的总体概要设计,并以次为行动指南,开展下一个阶段的具体工作。 读者对象:项目分析和开发人员。 1.2项目背景 学校是一个与学生信息安全密切的重要机构,在高度信息化的今天,学生对学校管理的要求也越来越高。为了方便学生查询自己的选课信息,也为了学校更好的了解学生选课信息,学校需要一个学生选课信息管理系统。 系统的名称为:学生选课管理系统。 项目的开发提出者:学校。 软件的用户为:学校的学生、教师和管理员。 1.3 定义 本学生选课管理系统在开发时注意到使用专业术语会对今后的系统使用者造成不便,故所有相关词汇使用了简洁并通俗易懂的词汇,系统使用者不会出现对此系统词汇看不懂的问题,故而在此对系统及文件使用词汇不做定义。 2.任务概述 2.1目标 明确学生选课管理系统各个模块的需求和功能。 2.2运行环境 操作系统:windows2000以上版本。 2.3需求概述

学生选课管理系统的主要功能主要功能是实现对学生信息和教师信息的管理,以及学生成绩的管理。因此,该系统需要具备的具体功能如下: 学生页面操作:包括个人信息,密码修改,查询成绩,选课,退选五个功能; 教师页面操作:包括个人信息,密码修改,修改其所授科目的学生成绩; 管理员页面操作:包含学生信息管理(增加、修改、删除、查询); 教师信息管理(增加、修改、删除、查询); 课程信息管理(增加、修改、删除、查询); 成绩管理(查询、录入、修改); 3.总体设计 3.1处理流程 系统基本流程: 学生用户登录——>主界面——>选择各项子系统 教师用户登录——>主界面——>选择各项子系统 管理员登录——>主界面——>选择各项子系统 3.2总体结构和模块外部结构 本选课系统主要是由学生管理、教师管理和管理员管理三个部分构成。其中学生管理是学生对个人信息的一些查询、选课以及退课,并不能对一些信息进行修改。而管理员管理是管理员对学校一些信息的查询和修改。可从下面的系统结构图中看到。 (图一:总体模块) 学生选课管理系统 管理员管 理 学生管理 教 师 管 理

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

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

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

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

C+程序设计实验报告-2013

C++程序设计 实验报告 专业计算机科学与技术班级 ____________ 学号 ____________ 姓名 ____________ 指导教师 __许加兵_ 信息与电子工程学院2013年9月-12月

C++程序设计实验报告 专业__________班级__________学号__________姓名__________ 成绩____________ 指导教师____________ 日期____________ 实验1 C++集成开发环境与C++函数程序设计 一、实验目的 1、了解和使用Visual Studio 2010的C++集成开发环境; 2、熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、学会完整的C++程序开发过程; 4、学习并掌握C++函数程序设计; 二、实验内容 1、安装、了解和使用Visual Studio 2010的C++集成开发环境; 2、通过以下的C++函数程序设计,熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、通过以下的C++函数程序设计,学会完整的C++程序开发过程; 4、完成以下的C++函数程序设计和调试: 1)编写一个函数print(),将一个整型向量输出到cout。此函数接受两个参数:一个字符串(用于“标记”输出)和一个向量。 2) 编写一个函数,接受一个vector 参数,返回一个vector ,其每个元素值是对应字符串的长度。此函数还找出最长和最短的字符串,以及字典序第一个和最后一个字符串。 三、简要说明C++开发环境安装和配置的过程

学生选课系统设计报告

学生选课系统设计 报告

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 春季学期 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功能简介 此系统是一个学生选课管理系统。它包含功能有:学生选课信息的录入,学生选课信息的删除,学生选课信息的查找,学生选课信息的显示等功能。 菜单模式:此模块主要实现对本系统所有功能的显示。 录入模块:此模块主要实现对学生选课信息的录入,主要包括学生学号、学生姓名、所选课程、课程学分、授课老师。 删除模式:此模块主要实现对学生选课信息的删除。显示模块:此模块主要实现对学生选课信息的显示。 查找模块:此模块主要是经过学生学号查找该学生的选课信息。清屏模块:此模块主要是对主界面输入的信息进行清屏。退出程序:此模块主要用于退出系统。

学生选课系统课程设计

滨江学院 软件工程课程设计报告( 2007 -- 2008 年度第二学期) 课程名称:软件工程课程设计 题目:学生选课系统 院系:软件工程 班级: 学号: 姓名: 指导教师: 设计周数:两周 日期:2008 年7月4日

摘要: 本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开发原理、功能特点和设计方案进行了介绍。 关键词:学生选课数据库管理 https://www.360docs.net/doc/4211781561.html, 一、课程设计的目的与要求 通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编 码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、设计正文 1.概述 1.1课题题目:学生选课系统 1.2系统的主要目标: 本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。 1.3 系统的开发环境及运行环境: 操作系统:Windows XP Pro SP2 建模工具:Rational Rose 2003 数据库系统:SQL Server2000 开发工具:Visual Studio 2005 Web服务器:IIS+https://www.360docs.net/doc/4211781561.html, 2.0平台 2.系统需求分析 学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。 (1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等; (2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩; (3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。 在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实

相关文档
最新文档