当前位置:文档之家› c++面向对象课程设计报告_(学生成绩管理系统)

c++面向对象课程设计报告_(学生成绩管理系统)

c++面向对象课程设计报告_(学生成绩管理系统)
c++面向对象课程设计报告_(学生成绩管理系统)

课程设计报告

课程名称面向对象程序设计

课题名称学生成绩管理系统

专业计算机科学与技术

班级计算机1001

学号2010030101

姓名

指导教师李珍辉陈淑红李杰军

2011年12 月28 日

湖南工程学院

课程设计任务书

课程名称面向对象程序设计

课题学生成绩管理系统

专业班级计算机1001

学生姓名

学号2010030101

指导老师李珍辉陈淑红李杰军

审批

任务书下达日期2011 年11 月15 日

任务完成日期2011 年12 月28 日

一、设计内容与设计要求

1.课程设计目的:

面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。

2.课题题目

1)公司库存管理系统

2)高校学籍管理系统

3)高校工资管理系统

4)高校人事管理系统

5)通讯录程序设计

6)学生成绩管理系统

7) 图书管理系统

8)文本编辑器的设计与实现

9)学生考勤管理系统

10)公司人员管理系统

3.设计要求:

⑴设计课题题目:每位同学根据自己学号除以10所得的余数加1选择相

应题号的课题。随意换题者不记成绩。

⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括

系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完

成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模

块图)。③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E

-R图);数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。④系

统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修

改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出

每一步的操作步骤。⑥关键源程序(带注释)

⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。

⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。

二、进度安排

第 17 周星期一 8:00——12:00

星期二 8:00——12:00

星期四 8:00——12:00

第 18 周星期一 8:00——12:00

星期二 14:30——18:30

星期三 8:00——12:00

三、参考书籍

1.《C++程序设计课程设计》刘振安编著 TP312C563

2.《C++ Builder和Delphi课程设计与系统开发案例》伍俊良清华大学出版社

7-302-06072-X

3.Visual C++课程设计案例精编严华峰中国水利水电出版社 7-5084-2007-1 2004

4.Visual C++课程设计与系统开发案例伍俊良清华大学出版社 7-302-05968-3 2002

5.Visual C++语言课程设计 : 案例精选与编程指导陈清华朱红东南大学出版社

7-81089-275-4 2003

6.VisualC++课程设计案例精编中国水利水电出版社 7-5084-1004-1 2002

7.数据结构课程设计案例精编 : 用C/C++描述李建学李光元吴春芳清华大学出版社 7-302-14536-9 2007

(编程平台不限,vc++, c++ Builder等等。)

课题6:学生成绩管理系统

(一)、课程设计题目:

学生成绩管理系统

(二)、目的与要求:

1、目的:

(1)要求学生达到熟练掌握C++语言的基本知识和技能;

(2)基本掌握面向对象程序设计的基本思路和方法;

(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2、基本要求:

(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;

(2)要求在设计的过程中,建立清晰的类层次;

(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;

(4)在系统的设计中,至少要用到面向对象的一种机制。

3、创新要求:

在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。

4、写出设计说明书

(三)、设计方法和基本原理:

1、问题描述(功能要求):

设计一个实用的小型学生成绩管理程序,具有查询,检索和删除功能,并且能够打开或修改指定文件及将多个文件组成一个文件。它完全使用类来实现,充分体现面向对象的程序设计特点。

要求:

实现主要功能:建立文件,文件的存取和显示,删除记录,查询记录。可以随时检索,删除,或增加记录,也可以保存或取消新的记录。

2、问题的解决方案:

根据系统功能要求,可以将问题解决分为以下步骤:

(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;

(2)分析系统中的各个实体及它们之间的关系包括属性和行为;

(3)根据问题描述,设计系统的类层次;

(4)完成类层次中各个类的描述(包括属性和方法);

(6)完成系统的应用模块;

(7)功能调试;

(8)完成系统总结报告以及系统使用说明书

目录

1.系统需求分析 (1)

2.总体设计 (2)

3.详细设计 (3)

4.系统调试 (6)

5.结果分析 (8)

6.总结 (8)

7.程序代码 (9)

1.系统需求分析

1.1系统设计的目的与意义:

现在的学校学生数量较多,各样的考试也比较频繁,因此需要一个学生成绩管理系统来对学生的成绩进行管理。

1.2 系统功能需求:

本系统有四个类,Score类、Subject类、Student类、Class类,存储学生的个人信息、考试科目及成绩信息。有学生成绩信息录入、学生成绩信息修改、学生成绩信息显示、学生成绩信息删除、学生成绩信息查询以及数据保存文件等功能。

2.1 系统功能分析:

系统通过调用函数来实现学生成绩信息录入、学生成绩信息修改、学生成绩信息删除、学生成绩信息查询以及数据保存文件等功能。Insert()函数用于录入学生成绩及信息;Update1()函数用来修改学生成绩及信息;Show()函数用于显示所有已有的记录;Delete()函数用来删除学生成绩及信息;Search1()及Search2()函数用来查询及信息;Save()函数用于将输入的信息存入文件内;主函数main()用于调用这些函数。

2.2系统功能模块划分与设计:

本系统定义了Score类、Subject类、Student类以及Class类这四个类,定义了Insert()、Update1()、Show()、Save()、Delete()、Search1()及Search2()等函数来实现系统所需功能。

2.3 系统功能模块图:

学生成绩管理系统

查询成功录

退

退

学生成绩查询学

无此记录

3.1 分数类的设计:

该类定义了一个整型变量用来存放分数,定义了设置份总数和显示分数的函数。

Score

-score:int

+Score(s:int=0)

+set1():void

+show1()

图3.1

3.2 科目类的设计:

该类定义了一个Score类类型的变量,定义了一个字符数组用来存放科目名称,定义了设置和显示私有成员的函数。

Subject

-subject[20]:char

-sc:Score

+Subject()

+set2():void

+show2():void

图3.2

3.3 学生类的设计:

该类定义了一个Subject类类型的数组,一个字符型数组和一个字符变量,两个整型变量以及设置和显示私有成员的函数。

Student

-name[20]:char

-num:int

-S:char

-n:int

-p1[8]:Subject

+Student()

+set3():void

+show3():void

+getNU1():int

图3.3

3.4 班级类的设计:

该类定义了一个Student 类类型的变量、字符型数组、整型及设置和显示私有成员的函数等。

图 3.4

3.5 各个类的关系描述:

1..*

-sc 1

图 3.5.1

Class

-name[20]:char -num2:int

+Class () +getNU ():int +set4():void +show4():void

Student

Subject

-subject[20]:char +Subject () +set2():void +show2():void Score

-score :int

+Score (s :int=0) +set1():void +show1()

1..*

-p1[8]

1

图3.5.2

1..*

-stu

1

图3.5.3

Subject -subject[20]:char +Subject()

+set2():void

+show2():void

Class

-name[20]:char

-num2:int

+Class()

+getNU():int

+set4():void

+show4():void

Student

-name[20]:char

-num:int

-S:char

-n:int

+Student()

+set3():void

+show3():void

+getNU1():int

+getNA1():char *

4.系统调试

4.1 在调试过程中,出现了下面一些错误:

1、输入数据时,输错了数据的类型会造成死循环,因此输入时需要注意。

2、一开始主界面输入非正确字母时,没有提示错误。容易造成用户误解,在主函数的switch语句结束处加上default:cout<<"选择错误,请从新选择!";就可以了。

4.2 具体调试过程:

主界面

学生成绩录入

学生成绩查询

学生成绩显示

学生成绩修改

记录存入文件

学生成绩删除

5.结果分析

程序总共设计了四个类,满足了课题对类的要求,在设计的过程中,建立了较为清晰的类层次,也利用了面向对象的方法以及C++的编程思想来完成系统的设计,做到了用文件存储学生成绩信息、从文件中读取学生成绩信息、修改信息、查询信息、删除信息显示文件中存储的信息等要求。而且界面简洁,容易操作。但是程序太长,不够简练,导致出现错误很难发现和修改。

6.总结

首先,接到设计题目之后,在对本题目进行分析的时候,我懂得了一个很重要的道

理,那就是说一个程序的产生需要一个对题目要求有一个正确全面的分析。其次,就该考虑程序算法的问题了,一个好的算法是一个好程序的灵魂,也决定了一个程序的质量。

两个星期的课设虽然有些疲劳和困倦,但带给我很多的收获。C++已经学了一个学期了,有许多知识都存在似懂非懂的现象,这种现象通过实际的上机操作,已经减少了许多。对这些知识也有了更深的理解和很好的掌握。也有很多理论上说得过去的代码,但到了实际操作,却是行不通的。这种困惑,有许多已经通过实际操作解决了,并能够深刻认识,但也有很多没有明白。只能避过这些方法,换方法实现。在课程设计之前,因为有了综合实验的经验与教训,明白了写代码这一步是非常重要的,因为当你把代码输入电脑,并用编译器将其运行,发现通过不了,再来检查找出问题,这是一件非常辛苦的事情,也很浪费时间。于是在课程设计的时候,我花了四天的时间来规划与写代码,将要实现的内容分析清楚,才把代码输入电脑。我觉得写程序,应该先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避免等到发现逻辑上或者编译器不支持上的错误,才来想补救的措施,这样花费时间在想补救措施是很不值得的。

这次的课程设计,真是让我充分的感觉到了要自己设计一个程序是多么的难,以及学习好c++是多么的重要。在这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,课程的知识学得有多么的不扎实。看网上的例子好像觉得也没那么难,自己一上机实际操作就出现了很多问题,调试的时候系统总是在报错,还有很多警告,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。

以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。

7.程序代码

#include

#include

#include

using namespace std;

int M=100;

static int M2=0;

class Score{ //分数类

private:

int score;

public:

Score(int s=0){

score=s;

}

void set1(){

cout<<"请输入分数:"<

cin>>score;

}

void show1(){

cout<<": "<

}

};

class Subject{ //科目类

private:

Score sc;

char subject[20];

public:

Subject(){

for(int i=0;i<20;i++)

subject[i]=0;

}

void set2(){

cout<<"请输入科目名称:"<

cin>>subject;

sc.set1();

}

void show2(){

cout<

sc.show1();

}

};

class Student{ //学生类

private:

Subject p1[8];

char name[20];

int num;

char S;

int n;

public:

Student(){

for(int i=0;i<20;i++)

name[i]=0;

num=0;

S=0;

}

void set3();

void show3();

int getNU1(){return num;}

char *getNA1(){return name;}

};

void Student::show3(){ //学生类显示函数

int i;

cout<<"姓名:"<

for(i=0;i<8;i++)

p1[i].show2();

}

void Student::set3(){ //学生类修改函数

int i;

cout<<"请输入学生姓名:";

cin>>name;

cout<<"请输入该生学号:";

cin>>num;

cout<<"请输入该生性别:";

cin>>S;

cout<<"请输入每门课程的名字及分数."<

for(i=0;i<8;i++)

p1[i].set2();

}

class Class{ //班级类

private:

Student stu;

char name2[20];

int num2;

public:

Class(){

for(int i=0;i<20;i++)

name2[i]=0;

num2=0;

}

int getNU(){return stu.getNU1();}

string getNA(){return stu.getNA1();}

void set4(){

cout<<"请输入该生所在班级名称:";

cin>>name2;

cout<<"请输入该班班号:";

cin>>num2;

stu.set3();

}

void show4(){

cout<<"班级:"<

stu.show3();

}

friend void Search1(Class c1[],int count1);

friend void Search2(Class c2[],int count2);

friend void Update1(Class c3[],int count_d);

friend void Delete(Class c4[],int *count_c);

friend void Insert(Class c5[],int &count_a);

}b[100];

void Save(Class c6[],int count) //记录存入文件函数

{

fstream file("class.dat",ios::out|ios::binary);

if(!file)

{

cout<<"file coun't open."<

abort();

}

for(int i=0;i

file.write(reinterpret_cast(&c6[i]),sizeof(c6[i]));

管理信息系统课程设计报告

管理信息系统课程 设计报告 设计题目:库存管理管理信息系统专业:工商管理 年级班级: 姓名: 指导教师: 小组成员: 指导教师评阅: 指导教师(签字)成绩: 二O一一年月日

摘要: 本系统是以计算机软件技术为基础,利用VisualFoxpro编程技术进行编程设计的软件系统。采用系统结构化开发方法,设计过程主要部分:企业背景调查、需求分析与可行性研究、企业业务流程图绘制、数据结构与数据库设计、数据字典编制、数据流程图绘制,系统总体结构设计。完成信息的显示代码设计输入/输出设计、模块功能与处理过程设计、系统维护、信息系统安全设计、系统实施、系统运行管理制度、网络系统方案设计。包括输入、输出、查找、配送等功能。此系统具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长的优点是一个成本低的现代管理信息系统。最后通仿真验证企业物资管理信息系统对输入信号进行完整解调。 关键词:结构化开发方法;物资管理 Abstract: This paper, based on Computer software technology,and used VisualFoxpro programming technology survey ,Design a software system,which by Structured Approach and design process. Consists of several parts---the company background requirement analysis, and Feasibility study, Enterprise Business flowcharting, and system architecture Design. Complete information is displayed code design,Input / Output Design Module function and Process design,System Maintenance,Design of Information Systems Security,System implementation,System operation management system,Network System Design。 Features: Input、The output、find、distribution. Advantages: quick search, Search for convenient, And high reliability, Large storage capacity, Security and good, Long service life,low cost Management Information System. Finally, the simulation results from verify that Letter Material Management Information systems can make a complete demodulation of the input signals. Key Words:Structured Approach;Materials Management

C语言课程设计-学生成绩管理系统-完整版

#include<> #include<> #include<> #include<> /* strcmp函数原型包含*/ #define N 100 /*定义最大学生人数为100*/ struct student /*学生结构体定义*/ { char no[11]; /*学号,10位*/ char name[10];/*姓名,3个汉字*/ char grade[10];/*班级*/ char pro[20];/*专业*/ float score[5];/*储存5门功课的成绩*/ float ave;/*储存平均分*/ int year;/*入学年*/ }stu[N]; int num; void panduani(int); /*通过i的值,判断信息要查找的信息是否存在*/ void output(); /*输出学生成绩函数(公共函数)*/ void init(); /*系统初始化函数*/ void newfile(); /*建立新的数据文件*/ void read1(); /*从数据文件中读取数据*/ void weihu(); /*维护界面函数*/ void new1(); /*新增一个学生成绩函数*/ void xiugai(); /*修改学生成绩*/ void xgcj(int); /*修改成绩*/

void delete1(); /*删除学生信息函数*/ void tongji(); /*统计界面函数*/ void tongji1(); /*计算每个学生平均分*/ void tongji2(); /*计算每门课程的平均分*/ void paixu1(); /*排序函数*/ void paino(); /*按学号排序*/ void paiave(); /*按平均分排序*/ void paidkcj(); /*按单科成绩排序*/ void change(int,int); /*交换结构体数组中的两个记录*/ void outputx(int); /*选择输出单科成绩*/ void find1(); /*查找界面函数*/ int find(char sno[]); /*按学号查找*/ int findname(char cname[]);/*按姓名查找*/ void findyear(int cyear); /*按入学年查找*/ void save(); /*保存文件*/ void stop(); /*停顿函数*/ void stop() /*停顿函数(公共函数)*/ { printf("Press Any Key To Continue...\n"); getchar(); } void output() /*输出学生成绩函数(公共函数)*/ { int i,j;

面向对象程序设计实验报告完整版

资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 综合实验报告 面向对象程序设计 专业名称: 物联网工程 ___班级: _____ 级2班__ ___________姓名: 你哥哥 学号: 02051928 信息科学与工程学院 二零一三年七月

第一题: (1) 1.1题目概述 (1) 1.2设计思路 (2) 1.3设计说明与调试分析 (2) 1.4编码实现 (2) 1.5程序运行结果 (5) 1.6设计心得 (5) 第二题: (6) 2.1题目概述 (6) 2.2设计思路 (7) 2.3设计说明与调试分析 (7) 2.4编码实现 (7) 2.5程序运行结果 (11) 2.6设计心得 (11)

第一题: 1.1题目概述 用抽象类设计计算二维平面图形图形面积的程序, 在基类TDshape中设计纯虚函数area()和printName(), area()用于计算几何图形的面积, printName()用于打印输出几何图形的类名, 如Triangle类的对象就打印输出”Triangle”。每个具体形状的类则从抽象类TDshape派生, 各自需要定义其它独有的数据成员和成员函数, 而且定义area()和printName()的具体实现代码, 如图所示。 要求编写以TDshape为接口的函数, 借以访问具体类如

Triangle和Rectangle类的成员函数area(), printName ()。1.2设计思路 由简到繁, 逐步实现。 1.3设计说明与调试分析 编写基类TDshape->编写虚函数->编写继承类Triangle ->实例化TDshape和Triangle ->调用基类虚函数实现调用继承类相应函数->同样的方式处理继承类Rectangle. 1.4编码实现 #include using namespace std; class TDshape{ public: virtual void area()=0; virtual void printName()=0; }; class Triangle:public TDshape{ private: double width,height;

面向对象程序设计(C++) 实验指导书

实验 1 类和对象 1.1实验目的和要求 (1) 理解类和对象的概念,掌握声明类和定义对象的方法。 (2) 掌握构造函数和析构函数的实现方法。 (3) 初步掌握使用类和对象编制C++程序。 (4) 掌握对象数组、对象指针和string类的使用方法。 (5) 掌握使用对象、对象指针和对象引用作为函数参数的方法。 (6) 掌握类对象作为成员的使用方法。 (7) 掌握静态数据成员和静态成员函数的使用方法。 (8) 理解友元的概念和掌握友元的使用方法。 1.2实验内容和步骤 1.输入下列程序 //test4-1.cpp #include using namespace std; class Coordinate { public: Coordinate(int x1,int y1) { x=x1; y=y1; } Coordinate(Coordinate &p); ~Coordinate() { cout<<”Destructor is calleded\n”;} int getx() {return x;} int gety() {return y;} private: int x,y; }; Coordinate::Coordinate(Coordinate &p) { x=p.x; y=p.y; cout<<”copy-initialization Constructou is called\n”; } int main() { Coordinate p1(3,4); Coordinate p2(p1);

Coordinate p3=p2; cout<<”p3=(“<

教务管理系统课程设计报告

教务管理系统课程设计 报告 文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

教务综合管理系统设计报告 专业:软件工程 成员:车振军陆建伟 徐蕾杨思倩 指导老师:徐明 日期:2016-6-15 一、引言 目的 为了保证项目小组能够按时完成小组任务及目标,便于项目小组成员更好地了解项目情况,使项目小组开展的各个过程合理有序,因此确定各个项目模块的开发情况和主要的负责人,供各项目模块的负责人阅读,做到及时协调,按步有序进行项目的开发,减少开发中的不必要损失。 预期的读者是设计人员、开发人员、项目管理人员、测试人员和用户。 背景 高校教务管理工作是高等教育中的一个极为重要的环节,是整个院校管理的核心和基础。面对种类繁多的数据和报表,手工处理方式已经很难跟上现代化管理的步伐,随着计算机及通讯技术的飞速发展,高等教育对教务管理工作提出了更高的要求。尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为整个教育系统亟待解决的课题之一。 教务管理系统是一个大型复杂的计算机网络信息系统,满足各类高校现在和将来对信息资源采集、存储、处理、组织、管理和利用的需求,实现信息资源的

高度集成与共享,实现信息资源的集中管理和统一调度。为各级决策管理部门提出准确、及时的相关信息和快捷、方便、科学的决策分析处理系统;为信息交流、教务管理提供一个高效快捷的电子化手段;最终达到进一步提高各级领导科学决策水平,提高各院系、各部门管理人员管理水平与办公效率,减轻工作负担的目的。 教务管理系统面向管理员、教师和全校学生,实现学生管理、教师管理、课程管理、成绩处理。 定义 MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。 MyEclipse MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。二、需求分析

C语言课程设计--学生成绩管理系统

*题目七:学生成绩管理系统设计 学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。 主要功能: (1)能按学期、按班级完成对学生成绩的录入、修改 (2)能按班级统计学生的成绩,求学生的总分及平均分 (3)能查询学生成绩,不及格科目及学生名单 (4)能按班级输出学生的成绩单 要求:使用二进制文件方式存储数据,系统以菜单方式工作 源代码: #include #include #include #include struct Student { int cls; char nam[10]; char num[10]; int chinese; int english; int computer; int math; }stud1[100],stud2[100];

{ char a; while(a>'7'||a<'0') { system("cls"); printf(" 欢迎使用学生成绩管理系统\n"); printf(" 制作人:章建\n"); printf("********************** 学生成绩管理系统************************\n"); printf(" 1.输入学生成绩\n"); printf(" 2.输出学生成绩\n"); printf(" 3.查找并显示学生成绩\n"); printf(" 4.按姓名查找,修改学生资料\n"); printf(" 5.显示所有学生名单\n"); printf(" 6.查找并删除学生信息\n"); printf(" 7.从文件读取数据\n"); printf(" 0.储存学生资料并退出系统\n"); printf("********************************************************************* *\n"); printf("请选择(0-7)\n"); a=getchar(); } return(a-'0'); } /******************************************************************************

面向对象分析与设计实验报告

面向对象分析与设计实验报告 题目:宿舍管理系统 学号:200*********** 姓名:****** 班级:09软件*****04 完成时间:2011.11.09

目录 1 系统功能需求 (3) 1.1管理系统模块 (3) 1.2查询学生模块 (3) 1.3学生管理模块 (4) 1.4资料修改模块 (5) 1.5楼栋管理模块 (6) 1.6出入登陆模块 (6) 2 建立需求模型 (7) 2.1 划分子系统 (7) 2.2 识别参与者 (8) 2.3 识别用况 (8) 2.4 对需求进行捕获与描述 (9) 3 系统分析 (11) 3.1 寻找类 (11) 3.2 建立状态机图 (12) 3.3 建立类图 (12) 3.4 建立顺序图 (13) 4 系统设计........................................................................... 1错误!未定义书签。 4.1 问题域部分设计 (14) 4.2 人机界面部分设计 (14) 5 总结 (16) 参考文献 (17)

1.系统的功能需求 我校学生公寓现为手工管理,效率低、易出错、手续繁琐,而且耗费大量的人力,物力,财力。故设计一个学生公寓管理系统,管理学生住宿情况,员工情况,处理学生离校,管理人员来访情况等功能。通过此系统,后勤人员可以对学生公寓的各项情况实行电脑化管理,以提高工作效率,也使得公寓管理所需的各项信息能方便快速进行录入,查询,删除和更新。 面对学生公寓管理工作的特点以及该管理工作的具体问题, 本系统可以解决以下问题: (1)录入公寓各学生的基本情况。 (2)全面查询学生的基本情况。 (3)对学生离校进行处理。 (4)每学期对学生住宿进行注册。 (5)对来访人员进行出入管理。 (6)对学生的财务进行登记管理。 (7)对楼栋物资和楼栋的管理。 (8)对各项情况进行修改,删除,更新。 (9)友好的操作界面, 以及简单快速的操作. (10)多种查询方式。 本系统针对学生公寓管理日常的工作程式, 对学生公寓的各项情况例如:学生信息,学生个人财产信息,来访人员信息等进行有效管理,并能通过各方法进行快速方便的查询。使学生公寓管理工作运作简明、清晰,各状况一目了然,使学生公寓管理工作更加科学化、规范化。 1.1管理系统模块:实现用户退出功能。 1.2查询学生模块:该模块包括五个子模块 1.按学号查询——实现按学号查询学生信息 2.按姓名查询——实现按姓名查询学生信息 3.按学生班级查询——实现按学生班级查询学生信息 4.按家庭住址查询——实现按家庭住址查询学生信息 5.混合查询——实现按混合查询学生信息

c面向对象课程设计报告

课程设计报告 课程名称面向对象程序设计 课题名称学生成绩管理系统 专业计算机科学与技术 班级计算机1001 学号2010030101 姓名 指导教师李珍辉陈淑红李杰军 2011年12 月28 日

湖南工程学院 课程设计任务书 课程名称面向对象程序设计 课题学生成绩管理系统 专业班级计算机1001 学生姓名 学号2010030101 指导老师李珍辉陈淑红李杰军 审批 任务书下达日期2011 年11 月15 日 任务完成日期2011 年12 月28 日

一、设计内容与设计要求 1.课程设计目的: 面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。 2.课题题目 1)公司库存管理系统 2)高校学籍管理系统 3)高校工资管理系统 4)高校人事管理系统 5)通讯录程序设计 6)学生成绩管理系统 7) 图书管理系统 8)文本编辑器的设计与实现 9)学生考勤管理系统 10)公司人员管理系统 3.设计要求: ⑴设计课题题目:每位同学根据自己学号除以10所得的余数加1选择相 应题号的课题。随意换题者不记成绩。 ⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括 系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完 成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模 块图)。③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E -R图);数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。④系 统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修 改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出 每一步的操作步骤。⑥关键源程序(带注释)

超市管理系统课程设计报告

超市管理系统课程 设计报告 1 2020年4月19日

交通运输工程学院 Visual Foxpro 课程设计报告 设计名称:<超市进货供货管理系统> 系 (院): 交通运输工程学院 专业班级: 学号: 姓名: 指导老师: 设计时间: 6月

目录 课程设计任务书 (1) 一、前言 1、课程设计的目的和意义 2、系统功能设计 3、创立项目管理文件 二、 VFP课程设计说明书 1、系统概述 2、系统总体设计 3、数据库设计 4、系统的具体设计过程 5、调试运行退出 6、结束语 7、主程序代码 8、参考文献 3 2020年4月19日

一、前言 1、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生 产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们经过对货物信息 管理系统的设计,来提高货物的操作能力,及对理论知识的实践能力,从而提高货物的基本素质,使其能更好的满足社会需求。 超市进货供货管理系统是一个简单实用的系统,它是超市进行货物管理的好帮手。此软件功能齐全,设计合理,使用方便,适合小型超市对繁杂的商品信息信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。 我们进行本次课程设计的主要目的是经过上机实践操作,熟练掌握数据库的设计、表单的设计、表单与数据库的连接、SQL语 言的使用和了解它的功能:数据定义、数据操纵、数据控制,以及 简单VF程序的编写。基本实现货物信息的管理,包括系统的登 录、货物信息的录入、货物信息的浏览、货物信息的查询、货物 信息的修改和货物信息的删除,并对Visual FoxPro6.0的各种功 能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实 践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 4 2020年4月19日

C语言课程设计学生成绩管理系统

信息技术工程学院 C语言课程设计报告 题目:学生成绩管理系统(student achievement management system)

目录 一设计目的 (3) 二课程设计的内容 (3) 三课程设计的要求与数据 (4) 四课程设计应完成的工作 (4) 五总体设计(包含几大功能模块) (5) 六详细设计 (6) 6.1各个模块的功能和实现 (6) 6.2 流程图 (7) (管理员模式流程图) (7) (来宾模式流程图) (8) (8) 七调试分析(各模块测试结果) (9)

7.1源代码 (9) 7.2 各模块测试结果 (23) 八总结 (26) 九参考资料 (27) 一设计目的 通过本课程设计巩固《C语言程序设计》课程的教学成果,深入理解结构体、指针、链表、动态分配内存和文件操作的等C程序设计中的中高级技术,通过课程设计的综合训练,培养学生实际分析问题、编程和动手能力、提高学生利用C 语言进行程序设计的能力,初步培养良好的编程习惯和编程风格,初步学习程序的文档的撰写方法。 二课程设计的内容 通过C语言程序系统,设计一个可以对学生的成绩信息进行管理的程序,其中学生的信息可以包括:学号、各科目的成绩的平均分排序等,其功能可以包括学生成绩的输入、输出、查询、排序、删除、统计、退出等。

三课程设计的要求与数据 1、用C语言实现系统; 2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出、显示,以及整个程序的切换登录模式和修改管理员的信息. 3、学生信息包括: (1)、每一条记录包括一个学生的学号、姓名、3门课成绩 (2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录的输入。) (3)、成绩信息显示浏览功能:完成全部学生记录的显示。 (4)、查询功能:完成按姓名查找学生记录,并显示。 (5)、成绩信息的删除:按学号进行删除某学生的成绩. (6)、排序功能:按学生平均成绩进行排序。 (7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观! 四课程设计应完成的工作 (1)编写算法; (2)算法测试,并有具体的测试结果和结果分析; (3)撰写课程设计报告。内容包括:

面向对象技术-实验报告

实验报告 课程名称Java程序设计 实验项目实验一类、对象与构造函数 实验二派生类与继承 系别___________理学院_____________ 专业/班级_________电技1302____________姓名______蔡超月____________ 实验日期_______________________ 成绩_______________________ 指导教师夏红科

一、实验题目:实验一类、对象与构造函数 实验二派生类与继承 二、实验内容: (1)创建一个雇员类,该类中有数据成员有姓名、家庭住址和邮政编码等,其功能有修改姓名、显示数据信息。 要求:雇员类的定义作为.h保存 雇员类功能函数的实现放在.cpp中。 雇员类的使用放在单独的.cpp文件中,该文件使用#include编译预处理命令包含类定义的头文件,在main()函数中使用雇员类创建几个对象并显示信息。 (2)定义一个哺乳动物类,再由此派生出人类、狗类和猫类,这些类中均有speak()函数,请设计相应的类层次结构并加以实现,观察在调用过程中,到底使用了哪个类的speak()函数。 (3)设计一个能细分为矩形、三角形、圆形和椭圆形的图形类,使用继承将这些图形分类,找出能作为基类部分的共同特征(如宽,高,中心点等)和方法(如初始化、求面积等),并设计多种继承模式来测试继承的属性。 三、程序清单及结果:(需要标明实现程序对应的实验内容,并给出合理的程序注释及运行结果) 1)程序清单及注释 内容1: #include #include using namespace std; class employee { protected: string name1; string address1; string shi1; string sheng1; string post1; char name[10]; char address[20]; char shi[10]; char sheng[10]; char post[7]; int num; public: shuru(); void changename(char str[]); void display();

1.面向对象程序设计---课程设计指导书

《面向对象程序设计课程设计》课程设计指导书 一、目的 本课程设计的目标,是以面向对象编程思想进行程序设计为中心。 通过课程设计,使学生了解面向对象分析和设计的基本概念. 熟悉巩固UML工具在面向对象分析和设计中的作用,学会使用UML对系统建模。 能够利用面向对象思想到实际编程应用中去,为今后从事软件开发工作打下基础。 通过课程设计,培养学生针对实际问题,采用面向对象思想来分析问题、解决问题的能力,进一步提高学生独立编程的能力。 二、要求 1.明确学习目的,端正学习态度,提高对课程设计重要性的认识,以积极认真的态度参加课程设计工作,按要求完成规定的设计任务。 2.培养正确的设计思想,严谨的工作作风,提高对所学知识应用和分析能力、解决问题的能力,提倡独立思考、刻苦钻研和创新的精神。 3.严格要求、自觉遵守纪律,必须按规定的时间完成设计。缺勤累计时间超过实际设计时间三分之一及以上者,课程设计成绩按不及格处理;不服从指导教师的安排,违反设计纪律,影响设计工作正常进行者,指导教师有权停止其设计工作,成绩以0分计。 4.针对实际案例,根据客户项目需求,进行需求分析。 5.针对实际案例,采用面向对象分析与设计思想,使用UML建模工具完成对系统的分析,画出相应的用例图、类图。 6.针对实际案例进行分析,设计并创建出合适的数据库表。 7.在系统分析完成之后,采用三层架构进行编码,实现系统的功能。 8.完成规范化的课程设计报告的编写。 三、课程设计报告应包括的内容 课程设计的题目、设计目的; 需求分析与系统模块划分(系统功能模块图); UML分析与设计(系统用例图、类图); 数据库分析与设计(数据库表、视图、存储过程等); 编码实现及测试; 课程设计的总结,主要包括以下内容: (1)课程设计中的收获、遇到的主要问题和解决方法; (2)设计中存在的不足,需进一步改进的设想; 以上内容均填写在课程设计报告上,要求格式规范,符合学校关于课程设计的要求和规范。 四、进度安排 序号 课程设计内容 学时分配 备注

个人信息管理系统-课程设计报告

《数据库系统概论》 课程设计报告 题目:个人信息管理系统 专业:网络工程 班级: 姓名: 指导教师: 成绩: 计算机学院 2017年12月8日

目录 一课程设计的目的与意义 (2) 1.1课程设计的目的 (2) 1.2 课程设计的意义 (3) 二需求分析 (4) 2.1 用户需求 (4) 2.2 系统需要实现的功能和操作如下 (5) 2.3 功能需求分析: (5) 三数据库概念模型设计 (7) 四数据库逻辑模型设计 (12) 4.1 一般逻辑模型设计: (12) 4.2 具体逻辑模型设计: (13) 五数据库物理设计与数据库保护设计 (17) 5.1 设计表间关系 (17) 5.2 物理设计 (18) 5.3 保护设计 (19) 六数据库建立 (20) 七课程设计心得与体会 (25) 八参考资料 (26)

一课程设计的目的与意义 1.1课程设计的目的 数据库课程设计是数据库系统原理实践环节的极为重要的部分,其目的是: (1)培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部ER图,全局ER图; (2)培养学生能够应用数据库系统在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设 计出易于查询和操作的合理的规范化关系模型; (3)培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,并且能够应用事务处理,存储过程,触发器以 保证数据库系统的数据完整性,安全性,一致性,保证数据 共享和防止数据冲突; (4)培养学生理论与实际相结合的能力,使之能够熟练掌握一种数据库系统(如SQL SERVER)的使用,培养学生开发创新 能力; (5)通过设计实际的数据库系统应用课题,使学生进一步熟悉数据库管理系统的操作技术,提高学生独立分析问题,解决问 题,查阅资料以及自学的能力,以适应计算机产业日新月异

C语言课程设计报告学生成绩管理系统

机电工程学院 中南大学 本科生C语言课程设计题目学生成绩管理系统

一、课程设计 题目:学生成绩管理系统 给出n个学生的4门考试的成绩表,每个学生的信息由学号、姓名以及各科成绩组成。对学生的考试成绩进行有关统计:按某一科分数或平均分数高低次序,列出名次表,分数相同的为同一名次;按名次打印出每个学生的学号、姓名、总分以及各科成绩,并打印统计表。 三、概要设计 程序要有的功能: 1. 输入学生成绩 2. 保存成绩 3. 学生成绩排序 4. 学生成绩查询 5. 学生成绩清单 6. 退出管理系统 程序运行当中,通过选择对应的功能序号来实现所需功能。对输入的数据要有事先的分析,如果用户输入的数据与实际不相符如输入成绩的数值为负,则程序应输出相应的提示:“数据不存在”。再者就是,当再输入完相应的数据后,程序作出相应的提示,询问用户是否要继续输入。在排列学生成绩时候,如果出现成绩相同的情况,程序自动作出处理。 四、设计任务 将程序分为六个方面:1. 输入学生成绩、2. 保存成绩、3. 学生成绩排序、4. 学生成绩查询、5. 学生成绩清单、6. 退出管理系统。每个人负责两个方面的程序,其中侯蒙召负责1、2两个程序,杨天静负责3、4两个,张振陆负责5、6两个,最后交由组长侯蒙召组合整理,形成现在的总的程序。

流程图:

四、详细设计 源程序: #include #include #include #include struct Student {char name[20]; int no; int math; int program; int english; int chinese; int aver; }stu[100],t; int num=0; int menu() { int a; char s[20]; system("cls"); /*程序介绍*/ printf(" 欢迎使用学生成绩管理系统,该系统包括以下几项功能,请根据提示做相应操作\n"); printf(" 1->输入学生成绩\n"); printf(" 2->保存成绩\n"); printf(" 3->学生成绩排序\n"); printf(" 4->学生成绩查询\n"); printf(" 5->学生成绩清单\n"); printf(" 6->退出管理系统\n");/*选择操作*/ printf("\n"); printf(" 请选择要进行操作的编号:\n"); do{ printf("Enter you choice(0~6):"); scanf("%s",s); a=atoi(s); }

面向对象程序设计实验报告

. , 面向对象程序设计实验报告 班级:计算机科学与技术11-5 学号:0505 ( 姓名:高冉冉 日期:2012/7/2 \

题目3: 1.问题描述: 假设有图书类Book,包括书名、出版社名称、作者姓名、图书定价等数据成员。编程序完成Book类的设计,从键盘读入10本图书的各项数据,并将这10本图书的相关数据写入磁盘文件中,然后从中读出各图书数据,计算所有图书的总价值,并显示每本图书的详细信息,每本图书的信息显示在一行上。 2.实现代码: #include · #include #include #include<> using namespace std; class Book { private: char bookName[20]; etPrice(); - ioFile<>book[i]; cout<

C面向对象程序设计课程设计报告

《C++面向对象程序设计》课程设计报告题目:分数计算器设置 班级: K0312415 专业:计算机科学与技术 学号: 姓名:周林 指导教师: 小组成员:周林,张齐满 二O一三年 10 月 15 日

一、课程设计问题描述 分数计算器设计是高等学校教务管理的重要组成部分,其内容较多,为了简化计论, 要求设计的管理系统能够完成以下功能: (1)定义整数类和分数类。其中,包括构造函数、析构函数、显示函数等。 (2)输入/输出:对流提取和流插入运算符进行重载。 (3)计算功能:可进行分数的加、减、乘和除法运算。 (4)化简功能:将分数化简为最简分数。 (5)异常处理功能:分数中分母不能为零。 (6)菜单功能:每种功能的操作都是在菜单中进行相应选择。 二、课程设计目的和要求: 经过一个学期的《C++面向对象程序设计》课程的学习,已经有了一定地程序设计基础,但是要学好C++面向对象程序设计这门课程,不仅要认真阅读课本知识和从事课堂学习,更重要的是要进行上机实践,通过上机实践才能增强和巩固知识。 三、系统设计(算法分析) 1、系统由5功能,可分别执分数的.加法运算,减法运算,.乘法运算和除法运算,还可以将分数化简。 1.加法运算可计算两个分数相加。 2.减法运算可计算两个分数相减。 3.乘法运算可计算两个分数相乘。 4.除法运算可计算两个分数相除。 5.化简运算可计算一个分数化简。 2、流程图

3、分数计算器设置各函数的功能和实现的相关功能由对应的函数来实现。 (1)函数jia() (2)函数jian() (3)函数cheng()实现分数乘法运算。 (4)函数chu()实现分数除法运算。 (5)函数shuchu()实现分数的输出和化简。 四、程序源代码 pp : Defines the entry point for the console application.

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

《面向对象分析与设计》实验报告

《面向对象分析与设计》 实验报告 班级:计科09-4班 姓名:郑翼 学号:08093435

实验一用例图 一、实验目的 1.学会分析系统中的参与者和用例 2.掌握用例图的绘制方法 二、实验器材 1. 计算机一台; 2. Rational Rose 工具软件; 三、实验内容 画出A TM系统的用例图 四、实验截图

五、实验体会 通过这次实验,理解了用例图的基本用法,并且初步掌握了Rational Rose软件的使用。对以后面向对象的学习都是十分重要的。

实验二交互图 一、实验目的 1.学会用协作图实现用例 2.掌握顺序图的绘制方法以及顺序图和协作图的相互转换。 二、实验器材 1. 计算机一台; 2. Rational Rose 工具软件; 三、实验内容 画出A TM取款的顺序图,并转换为协作图。 四、实验截图 顺序图

协作图 五、实验体会 通过实验,学会了用协作图实现用例,掌握了顺序图的绘制方法以及顺序图和协作图相互转换的方法,进一步的加深了对软件的使用。

实验三类图 一、实验目的 1.理解类的基本概念 2.理解类间的关系 3.掌握类图的绘制方法 二、实验器材 1. 计算机一台; 2. Rational Rose 工具软件; 三、实验内容 分析选课系统中的类及关系,然后画出它们的类图。 四、实验步骤 1.分析 在选课系统中,通过分析可抽象出如下几个类: 1.学生类 2.管理员类 3.课程类 学生类和管理员类的属性较容易分析,这里只列出课程类的属性和方法:(1)课程名称 (2)开课教室 (3)课程号 (4)授课教师 (5)选课的学生 (6)开课起始时间 (7)允许选课的学生人数 (8)设置课程号 (9)设置课程名称 (10)查询课程号

管理信息系统课程设计报告

兰州商学院陇桥学院 工学系课程设计报告 设计题目:户籍管理信息系统 系别:工学系 专业(方向):信息管理与信息系统 年级、班:2011级信息管理与信息系统班学生姓名:方延斌 学生学号:20110651107 指导教师:韩如冰 2014年6月20日

目录 一、前言 (3) (一)选题说明 (3) (二)课程设计进度安排 (3) (三)工作业绩 (3) 二、系统可行性分析 (3) (一)需求分析 (3) (二)开发的可行性 (4) 三、系统分析 (5) (一)业务流程图(如图1) (5) (二)数据流程图(如图2) (5) 四、系统设计(如图3) (6) (一)系统功能结构图 (6) (二)数据库设计 (7) 五、系统实现 (10) 六、系统测试 (11) 七、总结 (13) 八、附件(代码、部分图表) (14)

户籍管理信息系统 一、前言 (一)选题说明 为了能更加快速的完成户籍的管理,提高管理人员的工作效率,特开发此系统。此系统基本符合用户需求,能够完成资料修改、数据录入、用户管理等功能。以及各类相关的打印。并提供部分系统维护功能。同时也考虑了减少数据冗余问题,对于数据的一致性的问题也通过程序进行了有效的解决。 (二)课程设计进度安排 星期进度安排 第十六周可行性分析,系统需求分析(系统描述、业务流程图设计及分析) 第十七周系统需求分析(系统数据流程图、必要的数据字典设计) 第十八周系统设计(系统代码设计、数据库设计),系统设计(输出设计、输入设计及其他内容) (三)工作业绩 小组分工: 序号负责人任务 1方延斌查询相关资料,建立数据库,课程相应模块设计 2唐璠系统整体设计 二、系统可行性分析 (一)需求分析 户籍管理改革是一个关系千家万户的大事情。过去户口曾经是等级、地位的象征,一个户口迁移曾经难倒多少人。这些年,我国户籍

相关主题
文本预览
相关文档 最新文档