当前位置:文档之家› 面向对象程序设计课程设计范例

面向对象程序设计课程设计范例

面向对象程序设计课程设计范例
面向对象程序设计课程设计范例

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

题目:

学号:

姓名:

专业班级:

指导教师:职称:

职称:

年月日

目录

1.系统需求分析 (1)

2.总体设计 (2)

3.详细设计 (3)

4.系统调试 (6)

5.结果分析 (7)

6.总结 (8)

7.附录:源程序清单 (9)

1.系统需求分析

考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课(连续用begin-end的形式表示)、课程名称(课程名称中不会出现空格)、学生姓名、缺课类型(迟到、早退、请假及旷课)。试设计考勤管理系统,使之能提供以下功能:

1).录入学生的缺课记录:从键盘输入数据(提示:为避免重复从键盘输入数据,测试时可将数据存储在文件中,利用输入重定向功能读入),输入格式为:缺课日期第几节课课程名称学生姓名缺课类型

每行一条纪录。

例如:

2009-04-29 2-4 中国近现代文学史李云龙迟到

2009-04-28 2-4 大学生社交礼仪马志鹏旷课

2).修改某个学生的缺课记录:可以对缺课纪录的任意部分进行修改,然后显示一下修改后的纪录。

3).查询某个学生的缺课情况:查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序。

4).统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降序排序,旷课节数相同的学生按姓名升序排序;

5).统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序,旷课人次相同的课程按课程名称升序排序;

6).系统以菜单方式工作。(所谓菜单指用户可以自由选择所要执行的功能。学生可以通过以上功能录入信息、修改信息、查询信息、整理统计出所要了解的信息,除了要实现上述的基本功能之外,本系统还应该在细节上下工夫,使用户使用方便,在使用的过程中保持一个愉快的心情。学生考勤管理系统有广大的用户群,这其中有老师、有教务处主任、有公司管理人员,也可以供给一般用户使用。总之该系统可以满足用户需求,实现对其管理的人员的考勤工作。

2. 总体设计

学生考勤管理系统包含五个大的功能,分别是:录入学生缺课信息、修改学

生缺课信息、查询某个学生的缺课情况、统计某段时间内(以天为单位),旷课学生姓名及旷课节数和统计某段时间内,有学生旷课的课程及旷课人次。学生的缺课信息主要包含缺课日期,第几节课、课程名称,学生姓名,缺课类型。

在录入学生缺课信息时根据系统提示逐一输入。每输入完一条信息,系统会提示是否继续输入,用户可以选择继续或返回主菜单。 在修改学生缺课信息时,用户首先输入要修改的学生姓名,系统会检索如果系统中有该学生的相关信息则系统首先会提示用户修改该学生的那一部分信息,用户可自行选择。如果系统中没有该学生的相关信息,则系统会给相关提示,用户可以选择继续输入要修改的学生姓名或选择退出返回主菜单。 在查询学生缺课信息时,用户先输入要查询的学生姓名,系统检索判断是否存在该 学生的信息然后做出相应的提示。总之,用户可以方便的在系统提示下进行使用。 学生考勤管理系统中功能模块图: 修改某学生的缺课信息 查询某学生的缺课信息 统计某段时间内旷课学生姓名及旷课节数

统计某段时间内,有学生旷课

的课程及旷课

人次

录入学生的缺课信息 学生考勤管理系统

录入缺课学

生的姓名、缺课日期、缺课节次、缺课课程名称、缺课类型

修改某学生的缺课日期、缺课节次、缺课课程名称、缺课类型 查询某学生

的缺课日期、缺课节次、缺课课程名称、缺课类型 按时间升

序显示旷课学生姓

名及旷课

节数

按时间升序显示有学生旷课的课程及旷课人次

3. 详细设计

学生考勤管理系统中四个类的类层次图为:

学生考勤管理系统中各功能模块的实现:

1、学生缺课信息录用功能模块: 图4 学生缺课信息录入的功能

2、修改某学生缺课信息功能的模块图

图5 学生考勤管理系统修改学生缺课信息功能图 3 查询某学生缺课信息功能图:

图6 学生考勤管理系统查询学生缺课信息功能图

4、统计某段时间内旷课学生姓名及旷课节数功能模块:

图7统计某段时间内旷课学生姓名及旷课节数功能图 5、统计某段时间内,有学生旷课的课程及旷课人次功能模块

输入要查询的学生姓名

修改某学生的缺课课程 修改某学生的缺课类型 学生缺课信息录用功能 录入学生缺课节次 录入学生缺课日期

录入学生缺课课程名称 录入缺课学生姓名

录入学生缺课类型

修改某学生的缺课日期 统计某段时间内旷课学生姓名及旷课节数

显示某段时间内旷课学生姓名及

旷课节数

返回菜单

Time 类

Xinxi 类

qstu 类 qkechen 类 菜单

录入学生的缺课信息 查询某学生的缺课信息

修改某学生的缺课信息

统计某段时间内,有学生旷课的课程及旷课人次 统计某段时间内旷课学生姓名及旷课节数 修改某

学生缺课信息功能

修改某学生的缺课节次

查询某

学生缺课信息功能

统计某段时间内旷课学生姓名及旷课节数功能

显示要查询的学生缺课信息 继续查询或返回菜单 图表 3-1学生考勤管理系统中中四个类的类层次图 图表 3-2学生考勤管理系统中菜单函数的功能图

统计某段时间内,有学生旷课的课程及旷课人次功能统计某段时间内,有学生旷课的课程及旷课人次

返回菜单

显示某段时间内,有学生旷课的课程及旷课人次

图8统计某段时间内,有学生旷课的课程及旷课人次功能图

图 9 学生考勤管理系统中四个类的UML 图

Tine -year:int -month:int -day:int +time() +~time()

Xinxi -name[20]:char -kechen[10]:char

-jieci[3]:char - queke[10]:char -tm[3]:char -tiaoshu:int=0 +xinxi() +~xinxi()

+setname(n:char*):void +settime(y:int, m:int,d:int):void

+setqklx(qk: char*): void +setjieci(jc: char*):void +setkechen(kc: char*):void +getname():char* +getqklx():char* +getjieci():char* +getkechen():char* +gettime():int*

qkechen

-renci:int -kcshu:int=0 +qkechen() +~qkechen()

+getrc(st1[]:xinxi,n:int ,j:int):int +qkn[20]:char

qstu -jieshu:int -qst:int +qstu() +~qstu()

+print(st1:xinxi &):void

+getjs( st1[]:xinxi,n:int, j:int):int +setjs(js:int=0):int +qstn[20]:char

基类

派生类

派生类

派生类

4.系统调试

程序编写完成后,我进行了程序调试。调试过程中,出现了以下问题:当录入学生缺课信息时,出现了无法退出录入函数的情况,主要原因是输入函数中while循环语句没有设置跳出循环的条件。除此之外,修改某学生缺课信息时,如果没有该学生的缺课信息,系统没有提示要用户没有该学生信息,也没有建议用户重新输入要修改的学生姓名。由此我发现了该系统修改学生缺课信息的不足。于是,我对修改函数进行了修改和完善。在该函数中,我设置了if语句用来判断系统中是否存有用户要修改的学生缺课信息。如果没有,则提示用户没有该学生的缺课信息,用户可以选择继续输入要修改的学生姓名或者退出修改环节,可以在循环语句中改变循环进行的条件从而终止循环。至于在修改后显示该学生的缺课信息,运行时发现系统并没有做到这一点,对源代码检查之后发现是修改函数中显示函数的调用出了点问题,显示函数的实参有误,应该把要修改缺课信息的学生所在的信息类对象作为实参,然后用显示函数的形参引用实参对象,通过对象调用信息类的成员函数,从而实现显示功能。至于该系统的查询功能的实现,在调试时发现还有欠缺,当随便输入一个学生姓名时,系统没有显示该学生的缺课信息,也没有提示系统没有找到该学生的有关信息,经过在查询函数while循环中加入一个if条件语句后,系统实现了提示用户的功能,如果系统中没有你要查询的学生缺课信息,系统将会提示用户,用户可以继续输入要查询的学生姓名也可以通过按系统设置的退出键选择退出查询环节。至于两个统计功能至今没有完善,主要是特定时间学生缺课次数和课程的缺课人次的统计问题尚待解决,现如今只完成了一两条学生缺课信息的统计。主要问题是特定时间这个前提条件对我造成了一定的障碍。对系统中存储的信息进行查找和统计运用对象指针比较方便,但我没有使用,也算有点遗憾。在调试过程中我出现的最严重的问题是函数形参引用对象数组,结果系统提示将近几十个错误,在我把函数形参改为对象数组后,错误一下减少了很多。还有比较突出的问题是整个程序不知哪掉了个}号系统会提示有错,但就不懂那专业术语啥意思。还有就是我以为派生类公有继承的基类的保护成员在派生类内为公有成员,可编译时才发现是不对的。通过认真调试,我发现我有了收获。

5.结果分析

这次的课设,我写的程序也没有什么独到之处,我觉得唯一可以从我的程序可以看出的是数组用得比较多,反正是没啥特色,不仅如此,还写得功能不全,实在是惭愧。现在在这里也只能说说它的不足之处了。

类层次不够清晰,纵观整个程序可以发现四个类之间的关系不甚恰当,我有这个感觉,但我不知如何改进。

函数参数设定不够完美,整个程序中对指针的运用比较少。对于指针的巧妙运用把握得不够。还有就是容易missing;或者是},这都是些应该改掉的毛病。

除此以外,我对于怎样用文件保存数据还没深入了解,但我将数据保存到文件后又因文件打不开而无法访问文件中的数据,对于动态链表,我不是很清晰,也就是说无法做到熟稔运用。在调试过程中我发现在主函数中把字符数组名name赋值给字符指针p即p=name;然后用cout<

在调用系统的显示功能时,如果在getname()函数前加一个*号输出的只是一个字符,不加反而能输出所有字符。getname()函数的返回值为指针类型,但前面说过利用函数返回指针类型的值并不能输出字符数组中所有的字符,为什么这里又可以呢?老天,这是为什么?我不知道这一知识,这也算我的程序的不足之处吧!

对于两个统计函数的功能不全,我感到无能为力,我为了这两函数苦思了两天,硬是没凑合来。到后来,脑子里都乱了,运行时屏幕上尽是些乱七八糟的东西。老师帮我看看,看有没有什么简单的方法一下搞定它。

结果不是很好,但过程够了就行。这也是自欺欺人的看法,让我再一次自责吧。

6.总结

这次的程序设计相对于上学期还是有了进步的。学生考勤管理系统要求至少要有四个类,在起初,对于定义哪四个类我是不清楚的,通过仔细的研读问题描叙终于在脑海里确定了这四个类。既然是学生考勤管理系统,那由学生缺课信息中的日期我想到了时间类,这是一个很简单的类。从系统的几大功能我又想到了系统的基础就是缺课学生的缺课信息,于是我又想到了一个信息类,还有两个类是根据两个统计功能想到的,在现在看来似乎有些不妥。通过这次的课程设计我明白了学习程序设计语言必须要勤做实验,通过实验总结经验。平时遇到的一些小问题一定要重视,越是基础的知识越要理解透彻。比如指针和数组方面的知识,一旦没有弄清楚,在设计程序时就会吃亏。

这次的课设中,我遇到了很多的问题,有的通过思考或查看书本解决了,有的还留在脑子里,只有通过孜孜不倦的求索我们才会有进步,不懂得思考就不能真正的掌握一门知识。这次的实验给以了我警示,它让我明白我所掌握的知识还很欠缺,对于继承和派生这一章的知识,我以为自己勉强掌握了,这次实验后我发现我掌握得还不够。基类的保护成员公有继承到派生类,类外是否可以通过对象来访问呢,原先我认为是可以的,经过这次程序设计,我知道我错了。

总之,我觉得做学问不应该马虎,对于所学一定要有深入的理解,这也是我这次课设得到的启示。

7.附录:源程序清单

#include

#include

#include

using namespace std;

//时间类

class time

{public:

time(int y=0,int m=0,int d=0)

{year=y;month=m;day=d;}

~time(){}

protected:

int year,month,day;

};

//信息类

class xinxi:public time

{ public:

xinxi(){ tiaoshu++;}

~xinxi(){tiaoshu--;}

void setname(char *n){strcpy(name,n);}

void settime(int y,int m,int d){year=y;month=m;day=d;} void setqklx(char *qk){strcpy(queke,qk);}

void setjieci(char *jc){strcpy(jieci,jc);}

void setkechen(char *kc){strcpy(kechen,kc);}

char *getname(){char *n;n=name;return n;}

char *getqklx(){char *qk=queke;return qk;}

char *getjieci(){char *jc;jc=jieci;return jc;}

char *getkechen(){char *gk;gk=kechen;return gk;}

int *gettime();

private:

char name[20];//姓名

char jieci[3],kechen[10],queke[10];

int tm[3];

static int tiaoshu;

};

int xinxi::tiaoshu=0;

int *xinxi::gettime()

{ int *t;

t=tm;

tm[0]=year;

tm[1]=month;

tm[2]=day;

return t;

}

//缺课课程类

class qkechen:public xinxi

{public:

qkechen(){kcshu++;}

~qkechen(){kcshu--;}

int getrc(xinxi st1[],int n,int j);

char qkn[20];//公有数据成员

private:

int renci;

static int kcshu;//静态数据成员

};

int qkechen::kcshu=0;

int qkechen::getrc(xinxi st1[],int n,int j)

{ renci=0;

renci++;

for(int i=0;i

if(*(st1[i+1].gettime()+1)==*(st1[j].gettime()+1)&&*(st1[i+1].gettime()+2)== *(st1[j].gettime()+2))

if(strcmp(qkn,st1[i].getkechen())==0)

renci++;

return renci;

}

//缺课学生类

class qstu:public xinxi

{public:

qstu(){qst++;}

~qstu(){qst--;}

void print(xinxi &st1);

int getjs(xinxi st1[],int n,int j);

int setjs(int js=0)

{jieshu=js;}

char qstn[20];

private:

int jieshu;

static int qst; //静态数据成员

};

int qstu::qst=0;

//类的实现

void qstu::print(xinxi &st1)

{

cout<<"| 缺课日期|"<<" 第几节课|"<<" 课程名称|"<<" 缺课类型

|"<

cout<<"|"<<*st1.gettime()<<"|"<<*(st1.gettime()+1)<<*(st1.gettime()+2)<<"|"<

<

}

int qstu::getjs(xinxi st1[],int n,int j)

{ int i=0,js=0;

xinxi min;

if(*(st1[j].getjieci()+2)!='\0')

js=+2;

else

js++;

for(i=0;i

if(*(st1[i+1].gettime()+1)==*(st1[j].gettime()+1)&&*(st1[i+1].gettime()+2)==*(st1[j] .gettime()+2))

if(strcmp(st1[i+1].getname(),qstn)==0)

{

if(*(st1[i].getjieci()+2)!='\0')

js=+2;

else

js++;

}

jieshu=js;

return jieshu;

}

// 函数声明

int shuru(xinxi st1[]);

void chaxun(xinxi st1[],qstu qt[]);

void xiugai(xinxi st1[],int n);

void tongji1(xinxi st1[],qstu qt1[]);

void tongji2(xinxi st1[],qkechen qk1[]);

void caidan();

void xiansi(xinxi &st1);

void setqstn(xinxi st1[],qstu qt1[],int n);

void setqkn(xinxi st1[],qkechen qk[],int n);

//全局变量

int g,k=1,b=1;

int q=-1;

char name[20],kechen[10],queke[10],jieci[3];

int y,m,d;

//主函数

int main()

{ xinxi tl[15];//定义15条信息类对象

qstu qt[10];

qkechen qk[6];

int ch;

while(1)

{cout<<"********欢迎进入学生考勤管理系统!*********"<

caidan();

cout<<"--------请选择菜单项:"<

cin>>ch;

switch(ch)

{case 1: g=shuru(tl); break;

case 2: xiugai(tl,g); break;

case 3: chaxun(tl,qt); break;

case 4: tongji1(tl,qt); break;

case 5: tongji2(tl,qk); break;

case 6: exit(0);

}

}

return 0;

}

//菜单函数

void caidan()

{ system("color A");

cout<<"*************************************************************" <

cout<<"* 学生考勤管理系统*"<

cout<<"*************************************************************" <

cout<<"3.-------------查询学生的缺课情况---------------------------*"<

cout<<"4.--------统计某段时间内旷课学生姓名及旷课节数--------------*"<

}

//输入函数

int shuru(xinxi st1[])

{ char a;

cout<<"------输入开始!----"<

do{ q++;

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

cin>>name;

st1[q].setname(name);

cout<<"请输入课程名称"<

cin>>kechen;

st1[q].setkechen(kechen);

cout<<"请输入缺课日期"<

cin>>y>>m>>d;

st1[q].settime(y,m,d);

cout<<"请输入缺课类型"<

cin>>queke;

st1[q].setqklx(queke);

cout<<"请输入缺课节次"<

cin>>jieci;

st1[q].setjieci(jieci);

cout<<"是否还要继续输入:(y/n)"<

cin>>a;

}while(a=='y');

return q+1;

}

//修改函数

void xiugai(xinxi st1[],int n)

{

int k=1,j=0,a[10];

int flgh;

int h;

while(k==1)

{ cout<<"请输入你要修改缺课记录的学生姓名"<

cin>>name;

flgh=0;

for(int i=0;i

if(strcmp(name,st1[i].getname())==0)

do{ a[j]=i;

cout<<"1.修改日期2.修改节次3.修改课程名称4.修改缺课类型"<

cout<<"请输入要选择的数值(1,2,3,4)"<

int b;

cin>>b;

if(b==1)

{ cout<<"请输入新日期"<

cin>>y>>m>>d;

st1[i].settime(y,m,d);

}

else if(b==2)

{cout<<"请输入新节次"<

cin>>jieci;

st1[i].setjieci(jieci);

}

else if(b==3)

{cout<<"请输入新课程名称"<

cin>>kechen;

st1[i].setkechen(kechen);

}

else if(b==4)

{ cout<<"请输入新缺课类型"<

cin>>queke;

st1[i].setqklx(queke);

}

flgh=1;j++;

}while(b<1||b>4);

if(flgh==0)

{cout<<"没有你要找的学生姓名,请重试要退出请按0"<

cin>>k;

}

else

{cout<<"还要继续吗(1\0)退出请按0"<

cin>>k;

}

}

for(int i=0;i

{ h=a[i];

xiansi(st1[h]);

}

}

// 查询函数

void chaxun(xinxi st1[],qstu qt[])

{

char n='y';

int u[10];

while(n=='y')

{ int j=0;

cout<<"输入你要查询的学生姓名:"<

cin>>name;

int i=0;

for(;i

if(strcmp(name,st1[i].getname())==0)

{ u[j]=i;

j++;

}

if(j==0)

{ cout<<"没有你所要的学生名字!";//没有找到

cout<<"是否退出退出请按n\n";

}

for(int a=0;a

{ //只有一条信息

if(j<2)

{ i=u[a];

cout<<"| 缺课日期|"<<" 第几节课|"<<" 课程名称|"<<" 缺课类型|"<

cout<<"| "<<*st1[i].gettime()<<"| "<<*(st1[i].gettime()+1)<<"|

"<<*(st1[i].gettime()+2)<<"| "<

<

}

//两条信息以上排序

else

{

i=u[a];

if(*(st1[i].gettime()+1)<*(st1[i+1].gettime()+1))

qt[i].print(st1[i]);

else

if(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)<*(st1[i+1]. gettime()+2))

qt[i].print(st1[i]);

else

if(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)==*(st1[i+1] .gettime()+2))

if(strcmp(st1[i].getjieci(),st1[i+1].getjieci())==-1)

qt[i].print(st1[i]);

}

cout<<"是否继续查询(y/n)继续请按y退出按n"<

cin>>n;

}

}

}

//统计某段时间内旷课学生姓名及旷课节数

void tongji1(xinxi st1[],qstu qt1[])

{ int d1=0,js=0;

xinxi min;

if(g==0)

cout<<"没有你要统计的学生信息请返回菜单录入学生缺课信息"<

else if(g==1)

{ cout<<"姓名:"<

if(*(st1[0].getjieci()+2)!='\0')

js=+2;

else

cout<<"节数:"<

}

else

//信息按时间排序

{int i=0;

for(;i<(g-1);i++)

{

if(*(st1[i].gettime()+1)<*(st1[i+1].gettime()+1))

{min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];}

else

if(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)<*(st1[i+1]. gettime()+2))

{min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];}

else

if(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)==*(st1[i+1] .gettime()+2))

d1++;

}

for(int j=0;j<(g-d1);j++)

{

cout<<*st1[j].gettime()<<*(st1[j].gettime()+1)<<*(st1[j].gettime()+2)<

for(i=0;i

{ setqstn(st1,qt1,g);

cout<<"姓名:"<

cout<<"节数:"<

}

}

}

}

//统计某段时间内旷课的课程及旷课人次

void tongji2(xinxi st1[],qkechen qk1[])

{ int d1=0,rc=0;

xinxi min;

if(g==0)

cout<<"没有你要统计的学生信息请返回菜单录入学生缺课信息"<

else if(g==1)

{ cout<<"课程名:"<

rc++;

cout<<"人数:"<

}

else

{

int i=0;

for(;i

{

if(*(st1[i].gettime()+1)<*(st1[i+1].gettime()+1))

{min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];}

else

if(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)<*(st1[i+1]. gettime()+2))

{min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];}

else

if(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)==*(st1[i+1] .gettime()+2))

d1++;

}

for(int j=0;j<(g-d1);j++)

{

cout<<*st1[j].gettime()<<*(st1[j].gettime()+1)<<*(st1[j].gettime()+2)<

for(i=0;i

{ setqkn(st1,qk1,g);

cout<<"课程名:"<

cout<<"人数:"<

}

}

}

}

//显示函数

void xiansi(xinxi &st1)

{ cout<<"| 缺课日期|"<<" 第几节课|"<<" 课程名称|"<<" 学生姓名|"<<" 缺课类型|"<

cout<<"|"<<*(st1.gettime())<<"|"<<*(st1.gettime()+1)<<*(st1.gettime()+2)

<<"|"<

}

//设置缺课学生名

void setqstn(xinxi st1[],qstu qt1[],int n)

{

int i=0;

for(;i

{if(i==0)

strcpy(qt1[0].qstn,st1[i].getname());

else if(strcmp(st1[i].getname(),st1[i+1].getname())!=0)

{strcpy(qt1[i].qstn,st1[i].getname());

k++;

}

}

}

//设置有缺课学生的课程名

void setqkn(xinxi st1[],qkechen qk[],int n)

{

int i=0;

for(;i

{ if(i==0)

strcpy(qk[0].qkn,st1[i].getkechen());

else if(strcmp(st1[i].getkechen(),st1[i+1].getkechen())!=0)

{strcpy(qk[i].qkn,st1[i+1].getkechen());

b++;

}

}

}

课程设计报告模板)

课程设计报告模板()

————————————————————————————————作者: ————————————————————————————————日期: ?

课程设计(论文)任务书 软件学院软件+电商专业09级(2)班 一、课程设计(论文)题目基本模型机设计与实现 二、课程设计(论文)工作自2011年6月 20 日起至2011年 6月 24日止。 三、课程设计(论文) 地点:计算机组成原理实验室(5#301) 四、课程设计(论文)内容要求: 1.课程设计的目的 通过课程设计的综合训练,在掌握部件单元电路实验的基础上,进一步掌握整机 概念。培养学生实际分析问题、解决问题和动手能力,最终目标是想通过课程设计的形式,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务。 2.课程设计的任务及要求 1)基本要求? (1)课程设计前必须根据课程设计题目认真查阅资料; (2)实验前准备好实验程序及调试时所需的输入数据; (3)实验独立认真完成; (4)对实验结果认真记录,并进行总结和讨论。 2)课程设计论文编写要求 (1)按照书稿的规格撰写打印课设论文 (2)论文包括目录、绪论、正文、小结、参考文献、附录等 (3)正文中要有问题描述、实验原理、设计思路、实验步骤、调试过程与遇到问题的解决方法、总结和讨论等 (4)课设论文装订按学校的统一要求完成 3)课设考核 从以下几方面来考查:

(1)出勤情况和课设态度; (2)设计思路; (3)代码实现; (4)动手调试能力; (5)论文的层次性、条理性、格式的规范性。 4)参考文献 [1]王爱英.计算机组成与结构[M]. 北京:清华大学出版社, 2007. [2] 王爱英. 计算机组成与结构习题详解与实验指导[M]. 北京:清华大学出版社, 2007. 5)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 实验与调试 3 实验室 撰写论文 1 图书馆 6)任务及具体要求 设计实现一个简单的模型机,该模型机包含若干条简单的计算机指令,其中至少包括输入、输出指令,存储器读写指令,寄存器访问指令,运算指令,程序控制指令。学生须根据要求自行设计出这些机器指令对应的微指令代码,并将其存放于控制存储器,并利用机器指令设计一段简单机器指令程序。将实验设备通过串口连接计算机,通过联机软件将机器指令程序和编写的微指令程序存入主存中,并运行此段程序,通过联机软件显示和观察该段程序的运行,验证编写的指令和微指令的执行情况是否符 合设计要求,并对程序运行结果的正、误分析其原因。 学生签名: 亲笔签名 2011年6月20 日 课程设计(论文)评审意见 (1)设计思路:优( )、良()、中( )、一般()、差( ); (2)代码实现:优()、良()、中()、一般()、差();

SQLserver数据库课程设计范例

1 概述 1.1课题简介 书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。1.2设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 1.3设计内容 运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。 首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型 2 需求分析 2.1功能分析 首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。 图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等; 供应商信息:供应商名称、地址、电话,联系人; 客户信息:客户编号、名称、年龄、性别、累计购书金额等; 销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。 在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义

项目申报书范例-创新项目申报书

中央财经大学 2009年度本科生科研创新项目申报书 模板 注:申报人具体信息已省略 项目名称:黑客产业链形成与演化的研究 申请人:王萌 指导教师:朱建明 依托单位:信息学院 年级专业:07计算机科学与技术 填表日期:2009年6月14日 中央财经大学教务处制表

申请者承诺与成果使用授权 一、本人自愿申报中央财经大学2009年度本科生科研创新专项资金资助项目,认可所填写的项目申报书为有约束力的协议,并承诺对所填写的项目申报书所涉及各项容的真实性负责,保证没有知识产权争议。项目申请如获准立项,在研究工作中,接受学校教务处的管理,并对以下约定信守承诺:1.遵循学术研究的基本规。科学设计研究方案,采用适当的研究方法,如期完成研究任务,取得预期研究成果。 2.尊重他人的知识贡献。客观、公正、准确地介绍和评论已有学术成果。凡引用他人的观点、方案、资料、数据等,无论曾否发表,无论是纸质或电子版,均加以注释。凡转引文献资料,均如实说明。 3.恪守学术道德。研究过程真实,不以任何方式抄袭、剽窃或侵吞他人学术成果,杜绝伪注、伪造、篡改文献和数据等学术不端行为。成果真实,不重复发表研究成果;对项目主持人和参与者的各献均要在成果中以明确的方式标明。 4.遵守项目管理规定。遵守《中央财经大学本科生科研创新专项资金管理办法》及其实施细则的规定。 5.明确项目研究的资助和立项部门。研究成果发表时在醒目位置标明“中央财经大学本科生科研创新专项资金资助项目(项目编号:××××)成果”字样,项目名称和类别与项目立项通知书相一致。 6.正确表达科研成果。按照《国家通用语言文字法》规定,规使用中国语言文字、标点符号、数字及外国语言文字。 7.遵守财务规章制度。合理有效使用课题经费,不得滥用和挪用,结项时如实报告经费使用情况,不报假帐。 8.按照预期完成研究任务。项目立项获得批准的资助经费低于申请的资助经费时,同意承担项目并按预期完成研究任务。 9.成果达到约定要求。项目成果论文、研究报告等公开发表。 二、作为项目申请人,本人完全了解中央财经大学本科生科研创新专项资金资助项目的有关管理规定,完全意识到本声明的法律后果由本人承担。特授权中央财经大学教务处有权保留并向有关部门或机构报送项目成果的原件、复印件、摘要和电子版;有权公布项目研究成果的全部或部分容,同意以影印、缩印、扫描、出版等形式复制、保存、汇编项目研究成果;允许项目研究成果被他人查阅和借阅;有权推广科研成果,允许将项目研究成果通过部报告、学术会议、专业报刊、大众媒体、专门、评奖等形式进行宣传。 申请者(签章):__________ 年月日

课程设计说明书范本模板

辽宁工业大学 工艺课程设计( 论文) 题目: Al-12.5 Si-3 Cu-2-2Ni-0.5Mg铸造合金热处理工艺设计 院(系): 光伏学院 专业班级: 材料工程技术102 学号: 学生姓名: 杨向天 指导教师: 李青春 教师职称: 副教授 起止时间: -7-5~ -7-16

前言 合金工具钢的淬硬性、淬透性、耐磨性和韧性均比碳素工具钢高, 按用途大致可分为刃具、模具和检验尺寸使用的量具用钢三类。合金工具钢广泛用作刃具、冷、热变形模具和量具, 也可用于制作柴油机燃料泵的活塞、阀门、阀座以及燃料阀喷嘴等。 此设计是经过在课堂学习热处理理论知识后的探索和尝试, 其内容讨论如何设计圆板牙钢的热处理工艺, 重点是制定合理的热处理规程, 并按此完成Al-12.5Si-3Cu圆板牙钢的热处理工艺设计。

目录( 小二号黑体, 段前段后1行, 1.25倍行距, 居中排列) 1 低合金刃具钢热处理工艺概述........................................ 错误!未定义书签。 2 圆板牙钢的热处理工艺设计............................................ 错误!未定义书签。 2.1 圆板牙钢的服役条件、失效形式......................... 错误!未定义书签。 2.2 圆板牙技术要求及示意图 ...................................... 错误!未定义书签。 2.3 圆板牙钢的材料选择 .............................................. 错误!未定义书签。 2.4 圆板牙9SiCr钢的C曲线...................................... 错误!未定义书签。 2.5 圆板牙9SiCr钢加工工艺流程图........................... 错误!未定义书签。 2.6 9SiCr圆板牙(M12)钢退火-淬火-回火热处理工艺错误!未定义书签。 2.7 9SiCr圆板牙钢退火、淬火、回火热处理工艺理论错误!未定义书 签。 2.8 选择设备、仪表和工夹具..................................... 错误!未定义书签。 2.9 圆板牙热处理质量检验项目、内容及要求 ........ 错误!未定义书签。 2.10 圆板牙热处理常见缺陷的预防及补救方法........ 错误!未定义书签。 3 参考文献 ............................................................................ 错误!未定义书签。

51CTO下载电子商务网站课程设计报告范例

1.正文 (1)引言 ①.程序设计的背景 21世纪的重要特征是数字化、网络化和信息化。自从上个世界90年代以后,以因特网为代表的计算机网络得到了飞速的发展,已从最初的教育科研网络发展成为商业网络,并已成为仅次于全球网的世界第二大网络。很多人认为现在已经是互联网的时代,这是因为互联网正在并继续改变着我们的工作和生活的各个方面,加速了全球信息革命的进程。现在人们的生活、工作、学习和交往都已经离不开因特网,互联网成为全球通信与贸易的重要工具。网上购物系统正在成为人们日益信赖的购物平台,其以优越的方便快捷性、实用性、可获得性等特性获得越来越多人的青睐,网上购物逐渐成为很多人购物的主要途径。另外,随着计算机身份认证技术、数字签名、数据库安全、数字水印、信息隐藏、入侵检测、防火墙等网络安全技术的发展使得网上购物的环境越来越安全,大型的合理构建,政府机构完备的法律制度都极大的保证了网上购物的安全性,提高了顾客的信任度,使得网络购物更加普及。作为当代的大学生,网络更是贯穿于我们的生活,加上年轻人乐于尝试新生事物的心理趋向也让我们对于网上购物有了更多了解并参与其中。基于对网络购物环境的理解,结合自己的网络购物的体会,本小组成员进行了此次课程设计,基本上实现了简单的基于Java平台的JSP电子商务设计(电脑购物B2C模式的电子商务)。 ②.程序设计的需求分析 本电子商务总体基于Java,利用服务器端动态网页开发的JSP技术,辅以客户端动态网页开发的Javascript技术,主要设计实现以下功能: 1.前台销售,包括以下内容: 1)用户注册: 显示注册界面,通过Javascript技术判断用户填写的注册信息是否规X,用户名是否已经存在、填写的密码是否一致、Email是否为正确格式等等。用户确认所填注册信息并通过验证后,将注册信息添加到数据库中的userInfo表中。 2)用户登录 用户输入用户名和密码后,检验所输入的用户名和密码是否与数据库中的用户名和密码一

创新设计课程设计

创新设计课程设计 设计题目:家用擦窗器的创新 指导教师:

摘要 随现代的居家用擦窗器往往不能实现自动跨过窗栏的功能,这样在擦拭过程中就很不连贯,往往很费劲。而一般的专用擦窗机器人虽然实现了这种功能,但是机构复杂,价格不适宜于家居生活。我们设计出的擦窗器就是在结构简单的指导思想下对擦洗头的结构进行改进,然后整合市场上擦窗器已经实现的功能,针对日常生活改进出家用擦窗器。 在大多数楼房的结构中都有玻璃窗户,一般来说擦窗有两种情况,对于高楼大厦擦洗高空中的玻璃,现在都有专门的机器,它的侧重点不同,由于允许体积和价格比普通的擦窗器高,所以它的特点是在自动化和其他方面,比如新加坡一家大学开发出的高空擦窗器就是利用水蒸气。这种擦窗器利用水蒸气冲洗污垢后,不但清洁效果好,而且可以杀菌,水也可以循环利用。另外一种情况就是居家用的擦窗器,在居家生活中窗玻璃的清洁始终是个让人头疼的问题,其一是对于有窗栏的窗户需要一次一次逐个擦洗,现在的擦洗如果不是高空作业往往都不是用的机器人,特别是针对家居生活来说,擦一次玻璃而买一台专用的机器不太合算,不仅价格高,并且机器所具有的优势也体现不出来。但是如果用现在市场上的擦窗器的话这样效率也不太高,特别是在窗栏比较多时工作往往比较容易累。记得自己上初中时有一回在家里帮妈妈打扫卫生,我就是擦玻璃,这样一块一块的擦非常累,所以我设计了一种结构新颖简单的擦洗头,它可以自动越过窗栏或其他障碍物,这样就能实现一次性擦到底,把效率提上去,人也轻松。并且最重要的是它的结构简单,完全可以投入生产,在现在的国内市场上所有的擦窗器都没有这个功能,所以它的应用前景很大。其二在于站在室内擦拭室外的一面

课程设计说明书

目录 1.课程设计项目及意义 (2) 2.设计题目具体技术要求和功能 (2) 3.方案比较与确定 (2) 3.1单片机的发展与现状 (2) 3.2单片机应用系统简介 (3) 3.3总体设计方案 (4) 3.3.1 功能系统 (4) 3.3.2需求分析 (4) 3.3.3控制系统设计(附图) (4) 4.可行性分析 (6) 4.1 技术可行性 (6) 4.2经济可行性 (6) 4.3操作可行性 (7) 5. 硬件电路设计 (8) 5.1在画图的时候应该注意的 (8) 5.2完整的电路原理图 (8) 5.3 元器件说明(简单介绍) (9) 5.4 硬件相关图例 (12) 5.4.1 真值表 (12) 5.4.2自动售货机的平面示意图 (12) 5.4.3硬件结构图 (13) 5.4.4 I/O地址分配 (14) 5.4.5 总体硬件构成 (15) 6.软件设计................................................................................................................................. - 16 - 6.1 程序主要说明............................................................................................................... - 16 - 6.1..1 软件结构设计分为系统定义及软件结构设计方面 (17) 6.1.2程序设计的步骤................................................................................................. - 17 - 6.2 程序流程图................................................................................................................... - 18 - 6.3 子程序流程图 (20) 6.4 中断程序流程图........................................................................................................... - 20 - 6.5 汇编程序源代码........................................................................................................... - 20 - 6.6 仿真调试现象及结果................................................................................................... - 23 - 7.设计总结 ................................................................................................................................ - 23 - 8.参考资料 ................................................................................................................................ - 23 - 致谢 ........................................................................................................................................... - 25 -

机器人课程设计报告范例

机器人课程设计报告范例

**学校 机器人课程设计名称 院系电子信息工程系 班级10电气3 姓名谢士强 学号107301336 指导教师宋佳

目录 第一章绪论 (2) 1.1课程设计任务背景 (2) 1.2课程设计的要求 (2) 第二章硬件设计 (3) 2.1 结构设计 (3) 2.2电机驱动 (4) 2.3 传感器 (5) 2.3.1光强传感器 (5) 2.3.2光强传感器原理 (6) 2.4硬件搭建 (7) 第三章软件设计 (8) 3.1 步态设计 (8) 3.1.1步态分析: (8) 3.1.2程序逻辑图: (9) 3.2 用NorthStar设计的程序 (10) 第四章总结 (12) 第五章参考文献 (13)

第一章绪论 1.1课程设计任务背景 机器人由机械部分、传感部分、控制部分三大部分组成.这三大部分可分成驱动系统、机械结构系统、感受系统、机器人一环境交互系统、人机交互系统、控制系统六个子系统现在机器人普遍用于工业自动化领域,如汽车制造,医疗领域,如远程协助机器人,微纳米机器人,军事领域,如单兵机器人,拆弹机器人,小型侦查机器人(也属于无人机吧),美国大狗这样的多用途负重机器人,科研勘探领域,如水下勘探机器人,地震废墟等的用于搜查的机器人,煤矿利用的机器人。如今机器人发展的特点可概括为:横向上,应用面越来越宽。由95%的工业应用扩展到更多领域的非工业应用。像做手术、采摘水果、剪枝、巷道掘进、侦查、排雷,还有空间机器人、潜海机器人。机器人应用无限制,只要能想到的,就可以去创造实现;纵向上,机器人的种类会越来越多,像进入人体的微型机器人,已成为一个新方向,可以小到像一个米粒般大小;机器人智能化得到加强,机器人会更加聪明 1.2课程设计的要求 设计一个机器人系统,该机器人可以是轮式、足式、车型、人型,也可 以是仿其他生物的,但该机器人应具备的基本功能为:能够灵活行进,能感知光源、转向光源并跟踪光源;另外还应具备一项其他功能,该功能可自选(如亮灯、按钮启动、红外接近停止等)。 具体要求如下: 1、根据功能要求进行机械构型设计,并用实训套件搭建实物。 2、基于实训套件选定满足功能要求的传感器; 3、设计追光策略及运动步态; 4、用NorthStar设计完整的机器人追光程序;

TRIZ创新方法课程设计报告

TRIZ创新方法课程设计报告创新案例——自动吸尘器

1.1TRIZ概述 TRIZ就是“发明问题解决理论”的俄语缩写,是由前苏联发明家阿奇舒勒在1946年创立的,因而阿奇舒勒被尊称为TRIZ理论之父。TRIZ理论被公认为是使人聪明的理论。 TRIZ有9大组成部分,核心是技术进化原理。按这一原理,技术系统一直处于进化之中,解决矛盾是其进化的推动力。TRIZ理论也可大致分为3个组成部分:TRIZ的理论基础、分析工具和知识数据库。其中,TRIZ的理论基础对于产品的创新具有重要的指导作用;分析工具是TRIZ用来解决矛盾的具体方法或模式,它们使TRIZ理论能够得以在实际中应用,其中包括矛盾矩阵、物-场分析、ARIZ发明问题解决算法等;而知识数据库则是TRIZ理论解决矛盾的精髓,其中包括矛盾矩阵(39个工程参数和40条发明原理)、76个标准解决方法等等。 学习、研究、应用、推广TRIZ理论可以大大缩短发明创造的进程,提升产品的创新水平。经过半个多世纪的发展,尤其是进入21世纪,TRIZ理论已经成为一套解决新产品开发实际问题的成熟的理论和方法体系。 1.2问题领域以及现状 优雅完美的居室,必须悉心打理,才可保持舒适整洁,有条不紊。吸尘器理想的设计与卓越的科技,令家居清洁工作倍添轻松、快捷,并满足您对每一项清洁要求。它以先进的吸尘鸽、多用途的附件、超强劲的吸力,吸尽每一角落的尘埃,清理难接触的墙角落、天花板、沙发底下到橱柜之间的缝隙,无微不至,令全屋显得干净无暇。在当今科学技术飞速发展的形式下,人们对生活有了更新的追求。随着我国城市化的加剧,人们生活节奏的加快,因此,越来越多的新产品进入到人们的日常生活,取代了越来越多的人力劳动。吸尘器将要成为我国每一个家庭的必需品,它给许多忙碌的人们带来了无穷的便利。吸尘器是一种利用风机和电动机的装置清除室内灰尘的一种家用电器。长期以来,吸尘器都跳不出需要人为管理和充电的使用模式,所以要找准设计定位,自主创新,运用TRIZ(Theory of lnventive Problem solving)理论指导吸尘器的创新设计,设计出符合消费者需求并具有市场竞争力的吸尘器产品。 2.1初始问题情境描述 对于大部分消费者来说,功能多样、自动吸尘、自动获取能量、无需管理、造型简约、美观、具有装饰效果的吸尘器比较容易受到消费者的亲睐。功能多样、造型简约、美观、具有装饰效果比较容易做到,问题是如何做到自动吸尘、自动获取能量、无需管理。因此可以推出概念化如机器人一样获取太阳能或电磁场能周期性自动吸尘器。

完整word版,数据库课程设计总结,推荐文档

数据库课程设计总结 数据库课程设计个人总结 姓名:邢王秀学号:201624101215 班级:09计本班 一个月的时间非常快就过去了,这一个月我不敢说自 己有多大的进步,获得了多少知识,但起码是了解了项目开 发的部分过程。虽说上过数据库相关的课程,但是没有亲身 经历过相关的设计工作细节。这次课程设计给我提供了一个 很好的机会。 通过这次课程设计发现这其中需要的很多知识我们没 有接触过,上网查找资料的时候发现我们以前所学到的仅仅 是皮毛,还有很多需要我们掌握的东西我们根本不知道。同 时也发现有很多已经学过的东西我们没有理解到位,不能灵 活运用于实际,不能很好的用来解决问题,这就需要自己不 断的大量的实践,通过不断的自学,不断地发现问题,思考 问题,进而解决问题。在这个过程中我们将深刻理解所学知 识,同时也可以学到不少很实用的东西。 这次的数据库课程设计,我们组负责的企业信息文档 管理系统的设计。这课题是自拟的。我们组实行的分工合作。我主要是负责数据库功能模块设计这部分。 从各种文档的阅读到需求分析、概要设计、数据库总 体设计、代码编写与调试,我们都准备了好长时间。组内分

工合作的整个过程,我亲身体验了一回系统的设计开发过 程,分工合作的好处。很多东西书上写的很清楚,貌似看着 也很简单,思路非常清晰。但真正需要自己想办法去设计一 个系统的时候才发现其中的难度。经常做到后面突 然就发现自己一开始的设计有问题,然后又回去翻工, 在各种反复中不断完善自己的想法。 我想有这样的问题不止我一个,事后想想是一开始着 手做的时候下手过于轻快,或者说是根本不了解自己要做的 这个系统是给谁用的。因为没有事先做过仔细的用户调查, 不知道整个业务的流程,也不知道用户需要什么功能就忙着 开发,这是作为设计开发人员需要特别警惕避免的,不然会 给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重 来。所以以后的课程设计要特别注意这一块的设计。 经过组内讨论,我们确定的课题是企业信息文档管理 系统。说实话,我对这个系统不是很了解。通过上网查找资 料、相关文献的阅读,我对该系统有了大体的了解。 在需求分析过程中,我们通过上网查资料,去图书馆 查阅相关资料,结合我们的生活经验,根据可行性研究的结 果和用户的需要,分析现有情况及问题。在一个月的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间 遇到很多问题,经过组内讨论。最终把它解决了。通过这次 课程设计,我对数据库的设计更加熟练了。

机械设计课程设计说明书范本

一:设计题目:搓丝机传动装置设计 1.1 设计要求 1) 该机用于加工轴辊螺纹,其结构见下图,上搓丝板安装在机头上,下搓丝板安装在滑块上。加工时,下搓丝板随着滑块作往复运动。在起始(前端)位置时,送料装置将工件送入上、下搓丝板之间,滑块往复运动时,工件在上、下搓丝板之间滚动,搓制出与搓丝板一致的螺纹。搓丝板共两对,可同时搓出工件两端的螺纹。滑块往复运动一次,加工一件。 2) 室内工作,生产批量为5台。 3) 动力源为三相交流380/220V,电动机单向运转,载荷较平稳。 4) 使用期限为10年,大修周期为3 年,双班制工作。 5) 专业机械厂制造,可加工7、8级精度的齿轮、蜗轮。 图1.1: 搓丝机简图 1.2原始技术数据

1.3设计任务 1. 完成搓丝机传动装置总体方案的设计和论证,绘制总体设计原理方案图。 2. 完成主要传动装置的结构设计。 3. 完成装配图1 张(用A0 或A1 图纸),零件图2 张。 4. 编写设计说明书1 份。 二:机械装置的总体方案设计 2.1 拟定传动方案 方案一:

方案二: 根据系统要求可知: 滑块每分钟要往复运动24次,所以机构系统的原动件的转速应为24r/min。以电动机作为原动机,则需要机构系统有减速功能。运动形式为连续转动→往复直线运动。根据上述要求,可采用曲柄滑块机构,该机构有尺寸较小,结构简洁的特点。利用曲柄和连杆共线,滑块处于极限位置时,可得到瞬时停歇的功能。同时该机构能承受较大的载荷。整个搓丝机由电动机、开式齿轮减速器、一级减速器、曲柄滑块机构、最终执行机构组成。如方案一图所示。 其中,r=148.5mm; l=1371.5mm; e=666mm; 最大压力角α=33°; 急回夹角β=7°,急回特性为k=1.081。 采用一级圆柱齿轮减速器,外加开式齿轮减速器,主要优点是结构简单可靠,设计制造,维护方便。

数据结构课程设计报告范例

Guangxi University of Science and Technology 课程设计报告 课程名称:算法与编程综合实习 课题名称: 姓名: 学号: 院系:计算机学院 专业班级:通信121 指导教师: 完成日期:2012年12月15日

目录 第1部分课程设计报告 (3) 第1章课程设计目的 (3) 第2章课程设计内容和要求 (4) 2.1 问题描述 (4) 2.2 设计要求 (4) 第3章课程设计总体方案及分析 (4) 3.1 问题分析 (4) 3.2 概要设计 (7) 3.3 详细设计 (7) 3.4 调试分析 (10) 3.5 测试结果 (10) 3.6 参考文献 (12) 第2部分课程设计总结 (13) 附录(源代码) (14)

第1部分课程设计报告 第1章课程设计目的 仅仅认识到队列是一种特殊的线性表是远远不够的,本次实习的目的在于使学生深入了解队列的特征,以便在实际问题背景下灵活运用它,同时还将巩固这种数据结构的构造方………………………………………………………………………………………………………………………………………………………………………………………..(省略)

第2章课程设计内容和要求 2.1问题描述: 迷宫问题是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。老鼠经过多次试验最终学会走通迷宫的路线。设计一个计算机程序对任意设定的矩形迷宫如下图A所示,求出一条从入口到出口的通路,或得出没有通路的结论。 图A 2.2设计要求: 要求设计程序输出如下: (1) 建立一个大小为m×n的任意迷宫(迷宫数据可由用户输入或由程序自动生成),并在屏 幕上显示出来; (2)找出一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的坐标。 (3)用一种标志(如数字8)在迷宫中标出该条通路; (4)在屏幕上输出迷宫和通路; (5)上述功能可用菜单选择。

机械创新设计课程设计_便携桌椅

机械创新设计课程设计 拆装式便携桌椅 院系:机械工程学院 班级: 成员 指导老师: 设计题目:拆装式便携桌椅 2011年3月1日

便携式桌椅设计方案 一、设计任务简介 现今社会,做事讲究效率,那就要求我们身边的一些东西都能简单方便的满足我们的生活需求,简单方便才能提高效率。我们所设计的这款便携式桌椅就是基于这种要求,将桌椅分成各个部件,不用的时候将零件以一种形式组装,使其达到携带方便的要求;使用的时候将各个零件拿出来以另一种形式组装起来当桌椅使用。以此来实现便携方便的特点。 系统设计流程: 总功能 总功能原理解 构思工艺动作过程 工艺过程分解 稳定功能执行功能替换功能 机械整体 确定若干系统可行方案 方案评价、决策

二、便携式桌椅的市场展望 随着社会的发展,人们生活工作的空间范围越来越大,随时随地都可能成为人们学习工作生活的场所,我们的便携式桌椅可以随时随 地为人们的学习工作生活提供一席之地,制作成本也不高,人们会乐 于接受这种给他们带来方便的新型桌椅。 二、便携式桌椅的设计方案 1、便携式桌椅的功能与设计要求 (1)功能:把平时我们使用的桌椅拆分成各个部件,不使用的时候 组装起来便于存放和携带,使用的时候拿出部件以另一种形式组装起 来使用。 基于triz理论进行设计分析 问题解决过程: 桌椅的折叠问题 系统功能分析 技术矛盾物场模型 物理矛盾HOW TO 模型 知识库 创新原理分离方法标准解法

实现功能 折叠安装便于携带 拆分安装组装成桌椅适用 功能分析 1)制作一个类似包裹的圆形袋子,桌椅在不使用的时候,将其拆分成各个零部件,组装在圆形布袋里面,布袋周围做成拉链,拉上拉链就可以形成一个圆柱型整体,想在外面随处使用的时候只需外出携带这个装有零件的圆形布袋,使用的时候拿出零件简单的组装起来就可以成为一个可以适用的桌椅一套。 2)由于我们设计的桌椅是三个凳子脚支撑,相当于是三点支撑桌子,起到很好的固定作用,三点定面,适用场合广,即使地面不是很平整也能比较稳固。 解决方案1分割。把物体分成容易组装和拆卸的部分 2改变局部。把物体的每个部分处于各自动作的最佳位置 5组合。在空间上将物体或操作加以组合 7嵌套。把一个物体嵌入第二个物体,然后将这两个物体 在嵌入第三个物体…让一个物体穿过另一个物体的空腔 四、方案设计 方案一

数据库课程设计题目16个经典实例学习资料.doc

数据库课程设计题目16个经典实例 1.机票预定信息系统 系统功能的基本要求: 航班基本信息的录入,包括航班的编号、飞机名称、机舱等级等。机票信息,包括票价、折扣、当前预售状态及经手业务员等。客户基本信息,包括姓名、联系方式、证件及号码、付款情况等。按照一定条件查询、统计符合条件的航班、机票等;对结果打印输出。 2.长途汽车信息管理系统 系统功能的基本要求: 线路信息,包括出发地、目的地、出发时间、所需时间等。汽车信息:包括汽车的种类及相应的票价、最大载客量等。票价信息:包括售票情况、查询、打印相应的信息。 3.人事信息管理系统 系统功能基本要求: 员工各种信息:包括员工的基本信息,如编号、姓名、性别、学历、所属部门、毕业院校、健康情况、职称、职务、奖惩等;员工各种信息的修改;对转出、辞退、退休员工信息的删除;按照一定条件,查询、统计符合条件的员工信息;教师教学信息的录入:教师编号、姓名、课程编号、课程名称、课程时数、学分、课程性质等。科研信息的录入:教师编号、研究方向、课题研究情况、专利、论文及著作发表情况等。按条件查询、统计,结果打印输出。 4.超市会员管理系统 系统功能的基本要求: 加入会员的基本信息,包括:成为会员的基本条件、优惠政策、优惠时间等。会员的基本信息,包括姓名、性别、年龄、工作单位、联系方式等。会员购物信息:购买物品编号、物品名称、所属种类,数量,价格等。会员返利信息,包括会员积分的情况,享受优惠的等级等。对货物流量及消费人群进行统计输出。 5.客房管理系统 系统功能的基本要求: 客房各种信息,包括客房的类别、当前的状态、负责人等;客房信息的查询和修改,包括按房间号查询住宿情况、按客户信息查询房间状态等。以及退房、订房、换房等信息的修改。对查询、统计结果打印输出。 6.药品存销信息管理系统 系统功能基本要求 药品信息,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人等;员工信息,包括员工编号、姓名、性别、年龄、学历、职务等;客户信息,包括客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。入库和出库信息,包括当前库存信息、药品存放位置、入库数量和出库数量的统计。

创新课程设计候亭亭

十 进 制 加 减 乘 除 法 计 算 器 院系:电子与电气工程学院专业:电子信息工程 班级:099411 姓名:候亭亭 学号:094109013 指导老师:薛晓

一、设计要求 以52系列单片机为核心实现一个简易计算器,设计十进制加减乘除法计算器。要求能(不同时)显示3位输入和4位输出。 二、设计目的 要求计算器能实现加减乘除四种运算,具体如下: 1、加法:整数加法 2、减法:整数减法 3、乘法:多位整数乘法 4、除法:整数除法 5、有清除功能 6、在原有要求上扩展多位输入和输出,超出值显示乱码 三、设计方案论证 按照系统设计的功能的要求,初步确定设计系统由主控模块、监测模块、显示模块、键扫描接口电路共四个模块组成,主控芯片使用51系列STC89C52单片机,采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。 监测模块采用三极管和蜂鸣器组成电路。 键盘电路采用4*4矩阵键盘电路。 显示模块采用4枚共阴极数码管和74ls138、74LS47芯片构成等器件构成。 整个单片机的接口电路: P0(3…0)用于数码管段选显示输出; P2用于键扫描输入; P0(6..4)用于数码管位选控制; P0(7)用于监测模块; 单片机最小系统 单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和晶振电路。

主控芯片选取STC89C52RC芯片,因其具有良好的性能及稳定性,价格便宜应用方便。 晶振选取11.0592MHz,晶振旁电容选取20pF。 采用按键复位电路,电阻分别选取100Ω和10K,电容选取10μF。 以下为单片机最小系统硬件电路图。 单片机最小系统硬件电路 键盘接口电路 采用P2口对键盘进行控制,行列式键盘这里主要用反转扫描法进行检测。原理图如下:

数据库课程设计(完整版)

HUNAN CITY UNIVERSITY 数据库系统课程设计 设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师: 20年 12月1日

目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7 1.7系统业务流程及具体功能 7 1.8.1数据流程图8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20参考文献 20

引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备修改功能,能够快速的查询学校所需的住宿信息。 面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。

课程设计报告模板

《软件工程》课程设计报告 课程设计题目: 电子科技大学中山学院计算机学院班级: 组长: 其他成员: 指导教师: 实验地点: 完成起止日期:1-16

目录 一、系统可行性研究报告....................................... 错误!未定义书签。 1.引言................................................... 错误!未定义书签。 2 现行系统调查............................................ 错误!未定义书签。 3 新系统概述.............................................. 错误!未定义书签。 4 可行性综合评述.......................................... 错误!未定义书签。 5.方案选择............................................... 错误!未定义书签。 6.项目进度计划(Software Project Schedule).............. 错误!未定义书签。 二、需求规格说明书............................................ 错误!未定义书签。 1、用例模型(用例图)..................................... 错误!未定义书签。 2、用例文档描述........................................... 错误!未定义书签。 3、用例实现(时序图+类图)................................ 错误!未定义书签。 三、设计规格说明书............................................ 错误!未定义书签。 四、测试设计.................................................. 错误!未定义书签。 1、测试范围............................................... 错误!未定义书签。 2、测试覆盖设计........................................... 错误!未定义书签。 3、测试用例............................................... 错误!未定义书签。 五、工作总结.................................................. 错误!未定义书签。 1、本人在项目实现中的分工................................. 错误!未定义书签。 2、个人遇到的困难与获得的主要成果......................... 错误!未定义书签。 3、课程设计完成结果分析与个人小结......................... 错误!未定义书签。 六、附录...................................................... 错误!未定义书签。 1、软件配置............................................... 错误!未定义书签。 2、个人完成的程序模块..................................... 错误!未定义书签。 3、文档清单............................................... 错误!未定义书签。

《创新思维导论》课程设计

期末考试要求:(此页不打印) 就生活中的某种现象进行思考,收集现有解决方案并进行整理, 分析研究这些方案,寻找创意的切入点,设计一款相应的产品或 服务。 1.不少于10页 2.撰写评语--请他人对你的作品进行评价,在封面空白处用红笔手写 3.学委提交时间11周周四34节课C510办公室

二O一七——二O一八学年第二学期 创新思维导论期末考试课程设计 (适用于2017级本科所有专业) 创新产品设计 分数: 阅卷人: 就生活中的某种现象进行思考,寻找用户需求,并设计一款相应的产品或服务。 目录 一、发现问题 二、相关产品/服务资料收集(现有解决方案收集)

三、相关资料整合分析(现有解决方案优缺点分析) 四、新产品/服务设想 五、产品/服务市场需求分析 六、产品/服务介绍 ①目标用户 ②技术/服务详细说明 ③创新点与竞争优势说明 七、产品/服务评估 ①可实现性及困难点分析 ②对用户提供的价值分析 ③经济价值分析 八、产品/服务名称(命名) 九、品牌Logo及广告标语创意设计 一、发现问题 在我们对于电子产品依赖度越来越高的同时,相应的许多问题也一一展现:手机笔记本电脑等电子产品续航的问题,往往不能像宣传的那样满足各种人群对于产品的需求;手机电脑等产品伴随下的一条衍生品也让我们出门带的“装备”也越来越多等等诸如此类的事情。科技在带给我们更加便利的生活的同时,也带给了我们不同于一前的

便利生活,出门必须带上手机充电宝数据线在加上相机等到设备,再好的出游心情也被冲散。 我的创新课程设计主要针对上述相关问题,在科技快速发展的今天我们是否依旧需要那些繁重的设备,如果需要是否可以让那些配件不再那么呆板可以以一种另外更加能满足消费者的方式来呈现呢? 二、相关产品/服务资料收集(现有解决方案收集) 根据上面对于问题的分析,我通过查找资料也发现了许多便 捷延伸设备; 无线USB插头设计,插进插口的 同时还作为一个USB集线器。这是一 个为只有一个插口电脑而设计的插头 设计这是一个较为好的解决方式,但 是越来越多的转换头也增加了许多不 便。 这种TYPE-C笔记本扩展坞7 合一转换器,是现今较为好的笔记 本扩展设备的解决方式,在现在许 多笔记本品牌为了更加纤薄的的 机身时放弃了笔记本原有的接口 的时候,就增加了相关的配件的市

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