文档库 最新最全的文档下载
当前位置:文档库 › 学生考勤管理系统课程设计

学生考勤管理系统课程设计

学生考勤管理系统课程设计
学生考勤管理系统课程设计

2012-2013学年第二学期

学号17

《高级语言程序设计》

课程设计报告

题目:学生考勤管理系统

专业:计算机科学与技术

班级:12(2)班

姓名:李天栋

指导教师:孙淮宁

成绩:

计算机与信息工程系

2013年6月30日

目录

1设计内容及要求 (3)

1.1设计内容 (3)

1.2设计任务及具体要求 (3)

2概要设计 (4)

2.1该系统的功能简介 (4)

2.2 总体程序框图 (4)

2.3各个模块之间的主要关系 (5)

3设计过程或程序代码 (5)

3.1各个模块的程序流程图及运行界面 (5)

3.2对关键代码加以分析说明 (10)

4程序调试分析 (14)

5小结 (17)

致谢 (17)

参考文献 (17)

附:源程序 (18)

1 设计内容及要求

1.1设计内容

学生考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课(连续用begin-end 的形式表示)、课程名称(课程名称中不会出现空格)、学生姓名、缺课类型(迟到、早退、请假及旷课)。

1.2设计任务及具体要求

任务:(1)给出软件结构,说明各模块的功能。

(2)设计相关的类,并说明该类的作用。特别要用图形说明类之间的继承关系。

(3)编写代码

具体要求:(1)定义相关的数据,比如:

学生学号

学生姓名

课程名称

上课时间

到课时间

出勤状态 [旷课/病假/事假/迟到/早退]

(2)能够进行以下操作:

A.能够对数据进行增、删、改、查操作。

B.能够按学号顺序列出某一课程的出勤状况

2 概要设计

2.1系统的功能简介

考勤管理系统,有以下功能:?

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

2013-04-29?2-4?中国近现代文学史?李云龙?迟到?2013-04-28?2-4?大学生社交礼仪?马志鹏?旷课?

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

(3).查询某个学生的缺课情况:查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序。? (4).统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降序排序,旷课节数相同的学生按姓名升序排序;? (5).统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序,旷课人次相同的课程按课程名称升序排序。?? 2.2 总体程序框图

2.3各个模块之间的主要关系

本程序用结构体新定义一种数据类型,系统包含一个主函数和6个子函数(insert(),check(),rivise(),Delete(),output(),deleteallchain()),6个子函数分别用来插入、查询、修改、删除、输出、收回动态分配的空间,在主函数中通过调用子函数来实现所需功能。

3 设计过程或程序代码

3.1各个模块的程序流程图及运行界面

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

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

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

图3 学生考勤管理系统中菜单函数的功能图 1、学生缺课信息录用功能模块

:

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

学生

缺课信息

录用功

录入学生缺课节次

录入学生缺课日期

录入学生缺课课程名称 录入缺课学生姓名 录入学生缺课类型 修改某学生

的缺课信息

查询某学生的缺课信息

统计某段时间内旷课学生姓名及旷课节数 统计某段时间内,有学生旷课的课程及旷课人次 录入学生的缺课信息

录入缺课学生的姓名、缺课日期、缺课节次、缺课课程名称、缺课类型 修改某学生的缺课日期、缺课节次、缺课课程名称、缺课类型 查询某学生的缺课日期、缺课节次、缺课课程名称、缺课类型 按时间升序显示旷课学生姓

名及旷课节数

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

Xinxi 类

qstu 类 qkechen 类

菜单

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

修改某学生的缺课信息 统计某段时间内,有学生旷课的课

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

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

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

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

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

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

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

旷课节数

返回菜单

输入要查询的学生姓名

修改某学生的缺课课程 修改某学生的缺课类型 修改某学生的缺课日期 修改某学生的缺课节次

查询某

学生缺课信息功能

统计某段时间内旷课学生姓

名及旷课节数功能

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

的课程及旷课人次功能

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

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

显示要查询的学生缺课信息 继续查询或返回菜单

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

3.2对关键代码加以分析说明

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*

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

基类

派生类

派生类

派生类

#include

#include

#include

struct chuqin{ //用结构体定义一个新的数据类型出勤chuqin

char name[10],number[20],subject[15],time1[15],time2[15],zhuangtai[10];

chuqin *next;

};

//------------------------------------------------------------------------------------ void insert(chuqin* &head1)//创建单向链表并插入数据

{

chuqin *n;//定义一个chuqin类型指针n

while(1)//一个死循环

{

n=new chuqin;//用new运算符动态分配一个chuqin空间给指针n

cout<<"请依次输入姓名、学号、课程、上课时间、到课时间、出勤状态(第一个字母输入N表示结束插入):\n";//输出提示信息

cin>>n->name;//输入姓名

if(n->name[0]=='N') //判断刚才输入的第一个字母是否为N

{

delete n;//若输入的第一个字母为N,则用delete运算符收回刚才动态分配的空间

break;//跳出死循环,结束插入

}

cin>>n->number>>n->subject>>n->time1>>n->time2>>n->zhuangtai;//若条件不满足,则继续输入学号、课程、上课时间到课时间等

if(!head1) head1=n,n->next=NULL;/*假如head指针为空,则直接让head指针指向n指向的存储空间(head=n),将n->next赋值为空,即不指向任何存储空间*/

else n->next=head1,head1=n;//若head指针非空,则将n指向的存储空间插在最前面

}

}

//------------------------------------------------------------------------------------ void check(chuqin *head)//子函数实现查询功能

{

char number1[10];//定义一个字符串数组name1临时存放要查询的姓名

int flag=1;

cout<<"请输入要查询的学号:";//输出提示信息

cin>>number1;//输入要查询的学号

while(head)//用while循环检索查询是否有匹配的姓名

{

if(strcmp(number1,head->number)==0) //用函数strcmp()判断是否有匹配姓名

{

if(flag)

{ cout<<"找到!\n"<

cout<

}/*若条件为真,则输出提示信息*/

cout<time1<time2<zhuangta

i<

flag=0;

}

head=head->next;//更新head指针,是它指向下一个chuqin类型的存储空间

}

if(flag) cout<<"未找到!";//假如flag值为1,则输出"未找到!"

}

//------------------------------------------------------------------------------------ void rivise(chuqin *head)//定义子函数实现修改功能

{ char name1[10];//定义一个字符串数组name1临时存放要修改的姓名

cout<<"请输入修改的姓名:";//输出提示信息

cin>>name1;//输入要查询的姓名

while(head)

{

if(strcmp(name1,head->name)==0)

{ cout<<"找到此人!\t"<<"请输入此人新的信息(依次为:课程、上课时间、到课时间、出勤状态)\n";

cin>>head->subject>>head->time1>>head->time2>>head->zhuangtai;//输入新的课程、上课时间、到课时间

break;

}

head=head->next;

}

if(head==NULL) cout<<"未找到此人!无法修改!\n";

}

//------------------------------------------------------------------------------------ void Delete(chuqin* &head)//定义子函数实现删除功能

{ char name1[10];

int flag=1;

chuqin *p1=NULL,*p2,*p3=head;

cout<<"请输入要删除的姓名:";

cin>>name1;

while(head)

{

if(strcmp(name1,head->name)==0)

{

cout<<"找到此人!\t将此人的全部信息删除\n";

if(p1==NULL)

{

p1=head;

head=head->next;

delete p1;

}

{ p1->next=NULL;

delete p2;

head=p3;

}

else

{ p1->next=p2->next;

delete p2;

head=p3;

}

flag=0;break;

}

p1=head;

head=head->next;

p2=head;

}

if(flag)

{

cout<<"未找到此人!无法删除!\n";

}

}

//------------------------------------------------------------------------------------ void output(chuqin *head)//定义子函数实现输出功能

{

if(head==NULL) cout<<"记录为空!";

else

{ cout<<"所有的记录依次为:\n"<

}

while(head)

{

cout<name<number<subject;

cout<time1<time2<zhuangtai

<

head=head->next;

}

}

//-----------------------------------------------------------------------------------------------

void deleteallchain(chuqin *head)//定义子函数来收回所有动态分配的存储空间

{

chuqin *p;

while(head)

{ p=head;

head=head->next;

}

}

//------------------------------------------------------------------------------------ void main()//主函数

{

int a;//定义一个整型变量

chuqin *head ;//定义一个head指针

head=NULL;

while(1)//死循环

{

cout<<"请输入一个数字(1表示插入,2表示查询,3表示修改,";

cout<<"4表示删除,5表示输出,6表示跳出整个程序)\n";//输出提示信息

cin>>a;//输入一个整型值

if(a==6) break;//若该值为6则跳出整个循环

switch(a)//若a值不为6,执行一下程序

{

case 1: insert(head);break;

case 2: check(head);break;

case 3: rivise(head);break;

case 4: Delete(head);break;

case 5: output(head);break;

default: cout<<"输入有误,请重新输入\n";/*若输入的a值不符合要求,则输出提示信息*/

}

}

deleteallchain(head);//调用函数deleteallchain()收回所有动态分配的存储空间

}

4 设计结果与分析

系统调试

程序编写完成后,我进行了程序调试。调试过程中,出现了以下问题:

当录入学生缺课信息时,出现了无法退出录入函数的情况,主要原因是输入函数中while循环语句没有设置跳出循环的条件。除此之外,修改某学生缺课信息时,如果没有该学生的缺课信息,系统没有提示要用户没有该学生信息,也没有建议用户重新输入要修改的学生姓名。由此我发现了该系统修改学生缺课信息的不足。

于是,我对修改函数进行了修改与完善。在该函数中,我设置了if语句用来判断系统中是否存有用户要修改的学生缺课信息。如果没有,则提示用户没有该学生的缺课信息,用户可以选择继续输入要修改的学生姓名或者退出修改环节,可以在循环语句中改变循环进行的条件从而终止循环。

至于在修改后显示该学生的缺课信息,运行时发现系统并没有做到这一点,对源代

码检查之后发现是修改函数中显示函数的调用出了点问题,显示函数的实参有误,应该把要修改缺课信息的学生所在的信息类对象作为实参,然后用显示函数的形参引用实参对象,通过对象调用信息类的成员函数,从而实现显示功能。

5 小结

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

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

致谢

在这次C语言课程设计中,我不仅参考了大量资料和翻阅了图书馆内的相关书籍,而且我的老师和同学给了我及大的帮助。特别是我的指导老师孙淮宁老师和徐宁。在此,我对他们表示感谢,感谢他们在我面对学习上的困难时给了我帮助和支持。也感谢那些给我帮助的所有同学!

参考文献

[1]刘维富陈建平葛建芳王春明,《C++程序设计》,北京,清华大学出版社,2007 [2]张岳新,《Visual C++程序设计》,苏州,苏州大学出版社,2002

[3]和克智,《C++程序设计》(第二版),西安,西安交通大学出版社,1999

[4]王挺周会平贾丽丽徐锡山,《C++程序设计》,北京,清华大学出版社,2005 附录:源程序清单

#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:

};

//信息类

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)

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<<"| 缺课日期 |"<<" 第几节课 |"<<" 课程名称 |"<<" 缺课类型|"<

<

}

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)

{

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<<"********欢迎进入学生考勤管理系统!*********"<

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.--------统计某段时间内旷课学生姓名及旷课节数--------------*"<

cout<<"5.--------统计某段时间内旷课的课程及旷课人次----------------*"<

cout<<"6.----------------退出系统----------------------------------*"<

}

//输入函数

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.修改缺课类型"<

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"<

}

}

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";

cin>>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)<*(

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

js++;

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++)

{

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++;

}

}

}

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;

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

管理信息系统课程 设计报告 设计题目:库存管理管理信息系统专业:工商管理 年级班级: 姓名: 指导教师: 小组成员: 指导教师评阅: 指导教师(签字)成绩: 二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

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

学生信息管理系统课程 设计报告 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

课程设计 课程名称数据库技术及应用题目名称学生信息管理系统学生学院 专业班级 学号 学生姓名 指导教师 2012年4月10日

目录 3 3 1引言 课题设计背景 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效

率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。目前社会上信息管理系统发展飞快,各个企业事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。 课程设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用[1]。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:

c语言课程设计学生信息管理系统

题目名称:学生信息管理系统 算法分析: 1用结构体标出信息系统的成员:学生学号,学生姓名,班级,成绩,排名 2 利用c语言的文件知识将系统的信息存放在c盘下的“”的文件夹下 3 定义各个子函数(1)定义输入信息函数,将学生信息按一定格式用scanf函数输入(统计M个学生的信息); (2)定义输出函数,每两个表一页直到最后一个; (3)定义信息查询函数。a,定义按学号查询函数,如果输入的学号等于学生学号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个学生的姓名字符串则输出信息;c,定义按班级查找函数,如果输入的数字等于其中学生的班级数,则输出该信息;d,定义按成绩查找函数,如果输入的数字等于其中学生的成绩数,则输出该信息;e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abcd四个函数。 (4)定义删除信息函数。输入的数字作为要删除的学生学号,输出要删除的学生信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。 (5)定义信息修改函数。输入的数字等于要修改的学生学号,输出要修改的学生信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出学生信息。 (6)定义信息统计函数。输入一个数字作为成绩,比较M个学生成绩是否等于输入的数字,统计相等的个数n输出。 (7)定义成绩排序函数。用冒泡排序法将M个学生的成绩按从大到小的顺序排列后输出。 4 定义主函数。调用读取文件函数,输入数字1-5分别对应调用修改学生信息函数,删除学生信息函数,查找学生信息函数,统计学

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

辽宁工业大学 数据库原理与应用课程设计(论文)题目:东北大学学生成绩管理系统 院(系):软件学院 专业班级:软件技术083班 学号:081404090 学生姓名:王晓君 指导教师:张莉莉 教师职称:助教 起止时间:2009.11.23至2009.12.4

课程设计(论文)任务及评语院(系):软件学院教研室:软件教研窒

目录 第1章课程设计目的与要求 (1) 1.1 课程设计目的 (1) 1.2 课程设计的实验环境 (1) 1.3 课程设计的预备知识 (1) 1.4 课程设计要求 (1) 第2章课程设计内容 (2) 2.1 系统设计 (2) 2.2 数据库模型 (3) 2.3 设计窗体和报表 (7) 2.4 窗体和报表模块主要代码 (1) 第3章课程设计总结 (1) 3 参考文献 (1) 4

第1章课程设计目的与要求 本课程的课程设计实际是电子商务和计算机信息管理专业学生学习完《数据库原理及应用(ACCESS 2002)》课程后,进行的一次全面的综合训练,其目的在于加深对数据库基础理论和基本知识的理解,掌握运用数据库应用系统开发软件的基本方法。1.1课程设计的实验环境 硬件要求能运行Windows 9.X操作系统的微机系统。数据库应用系统开发软件可以选用Microsoft Access,或其他数据库管理系统。 1.2 课程设计的预备知识 熟悉数据库的基本知识及一种以上数据库系统开发软件。 1.3 课程设计要求 按课程设计指导书提供的课题,应根据下一节给出的基本需求独立完成八个方面的

设计,标有“可选”的部分可根据设计时间的安排及工作量的大小适当选择。选用其他课题或不同的数据库管理系统,可以组成设计小组,分模块进行,共同协作完成一个应用系统的开发任务。要求书写详细的设计说明书,对复杂的代码段和程序段,应画出程序流程图。在界面设计中,画出每个窗口的布局,有多个窗口时,按模块调用的方式画出窗口调用图,用手工画好报表和标签样式,严禁相互抄袭。

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

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

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

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

数据库课程设计报告:学生成绩管理系统

《数据库系统原理》课程设计报告 学生成绩管理系统 设计成员 所在专业 所在班级 指导教师 提交时间

目录 卷首语:读书笔记 (4) 1、课程设计的目的 (6) 2、课题组成员的设计任务 (7) 3、学生信息管理系统概述 (8) 4、系统需求分析 (10) 5、数据库设计 (12) 6、系统模块详细设计 (17) 7、课程设计设计总结 (21) 8、程序源代码 (22) 参考文献 (50)

学生信息管理系统 班级:制作成员:指导教师:

卷首语: I、读书笔记 关于网上花店管理系统的读书笔记: 在网上购物逐步平民化的今天,网上购物人数不断增加,现代IT技术和互联网的结合。给了市场创造了无限商机!我阅读了一片“网上花店管理系统”的论文。该论文主要研究网上花店管理系统。该系统以MySQL作为后台数据库,JSP作为前台开发工具,通过Java中的JDBC连接数据库。提供给用户网上浏览,购买,支付等功能,同时.管理员对可以该系统进行维护和管理! SQL Server安全可靠,性能好,易用性强,JSP的Web运用跨平台,系统底层采用Java开发。Java语言简单,面向对象,安全性高的特点,运用Serlvet 模式和Tomcat服务器。这几点的综合搭配使得该系统灵活方便易用,简化了动态网站的开发。 网上花店管理系统实现了用户注册,网上订购支付,留言,购物车,鲜花资料管理和用户管理,订单管理等功能。SQl数据库实现了用户注册登记信息的存储,和网站资料维护,更新等使得数据的管理更加便利,高效…JSP则为用户提高动态图形界面,简化了操作,提高了易用性。论文还详细介绍了系统的逻辑结构设计,逻辑图,总功能设计,和数据库设计等。该系统即使是不懂web 技术的人也可以熟悉运用。 开发工具和数据库的工具有很多,各有各的优势。在互联网大行其道的时代,电脑技术顺应着时代的发展,只有我们把握运用好各类技术,相互结合与利用,才能制作出更好的软件和程序。 在现在信息化高速发展的时代,信息只有快,准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,人工操作必将被计算机代替。计算机在我们的日常生活中的使用越来越不可或缺,计算机进行信息管理,不仅提高了工作效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性. 数据库技术,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术从诞生到现在,在不到半个世纪

c++课程设计报告学生信息管理系统

C++实习报告 一、课程设计目的 1.通过C++课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类,并掌握继承和派生类、基类、虚函数和多态的概念。 2、通过这次课程设计掌握《C++语言程序设计》的编程思想,为后续课程打下基础。 3、培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。 课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、对系统进行功能模块分析、控制模块分析正确 2、系统设计要能完成题目所要求的功能。 3、编程简练,可用,尽可能的使系统的功能更加完善和全面 4、使用说明书、流程图要清楚。 5、特别要求自己独立完成。 二、课程设计的内容 1、课程设计的题目及简介 有新生来报到,要逐个录入其信息,如:学生姓名,性别,专业,出生日期,家庭地址、英语入学成绩。要求设计链表类来实现,并统计学生人数。 文本界面为: 1.新增学生信息 2.删除学生信息 3.导入学生信息(已经保存于的文件信息) 4.学生信息搜索(按姓名) 5.学生信息统计(按专业或性别或年龄---年龄要自动计算) 6.按英语成绩排序 7.学生信息保存 8.退出 2、设计说明 总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。也可根据自己对题目的理解增加新的功能模块。 系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行 (1)首先,看题目要求,每一条记录包括一个学生的姓名、性别、专业、出生日期、家庭住址、英语成绩。同时,应具备以下功能: 1、输入功能:一次可以完成自定义学生人数的学生信息记录的输入。 2、删除功能:对指定学生的信息进行删除。

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

学生成绩管理系统 说明:该课程设计包含两个部分,一个为纯dos系统下的控制台程序,用C++编写;另一个为有界面的MFC项目。 目录 纯dos系统下的控制台程序 1、设计要求 (3) 2、设计分析 (3) 3、调试说明 (4) 4、源代码 (8) 5、实验总结 (21) 有界面的MFC项目 1、设计内容 (22) 2、设计说明 (22) 3、设计步骤 (22) 4、运行演示 (27) 5、实验总结 (29)

纯dos系统下的控制台程序 1、设计要求 现有学生成绩信息,内容如下: 姓名学号语文数学英语 张明明01 67 78 82 李成友02 78 91 88 张辉灿03 68 82 56 王露04 56 45 77 陈东明05 67 38 47 请用C/C++编写一系统,实现学生信息管理,软件的入口界面应包括如下几个方面: 功能要求: (1)信息维护: 要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息(2)信息查询: 要求:查询时可实现按姓名查询、按学号查询 (3)成绩统计: 要求:A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。 (4)排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果) 其它要求: (1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好) (3)学生可自动增加新功能模块(视情况可另外加分) (4)写出课程设计报告,具体要求见相关说明文档 2、设计分析 (1)需求分析: 该程序要能实现对学生成绩信息的增加、删除、修改,实现对学生按姓名查询,按学号查询显示,对任意一个课程名和分数段的学生人数进行输出并统计人数,最好还要根据用户的需求对学生成绩排序。 (2)系统性能要求: a.系统安全、可靠; b.功能齐全; c.操作方便、界面友好; d.易于维护和扩充。 (3)系统功能模块: 学生成绩管理系统包括:增加、删除、修改、显示、信息查询、成绩统计、排序几个部分构成。

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

超市管理系统课程 设计报告 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日

数据结构课程设计报告-学生成绩管理系统

学院:职业技术学院专业:计算机科学与技术 姓名:学号: 062002110311 班级:计科061班 实习性质:课程设计实习地点:蔡家关校区国合楼二楼计算机房指导教师:曾劼成绩: 学生成绩管理系统设计 一、需求分析 随着社会的发展,学校的规模不断的扩大,日常教学活动中提取相关信息,以反映教学情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。学生成绩管理系统以计算机为工具,通过对学生成绩管理所需的信息管理,把管理人员和老师从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。 信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,学生成绩管理系统软件为教学办公室带来了极大的方便。该软件是以C语言为实现语言,其功能在系统内部有源代码直接完成。通过操作目录,管理者和老师可以了解本软件的基本工作原理。管理者和老师只需输入一些简单的汉字、数字,即可达到自己管理学生成绩的目标。 在学生成绩管理系统中,需要从大量的日常教学活动中提取相关信息,以反映教学情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。 通过本学生成绩管理系统,可以从一下几个方面减少老师的工作负担和提高学校的管理效率,实现学校的信息化和自动化。

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

Java程序设计 课程设计 一、总体设计 1.1学生信息系统结构图………………………………………………………………1。 1.2本系统的主要功能…………………………………………………………………2。 1.3 Java源文件及其功能………………………………………………………………2。 二、详细设计 2.1主类StudentManager……………………………………………………………… 3. 2.2类StudentSituation (5) 2.3类ModifySituation (8)

2.4类inquest (10) 2.5类Delete (12) 2.6类Student (13) 三、功能测试及运行效果 3.1 系统主界面 (15) 3.2 录入信息界面 (15) 3.3 修改信息界面 (16) 3.3 查询信息界面 (16) 3.3 删除信息界面 (17) 程序总结 (17) 参考文献 (17) 一、总体设计

1.1学生信息系统结构图 学生信息系统分析结构图 1.2本系统的主要功能 运行该系统成功后,会出现一个欢迎使用的主界面,上面的菜单选项,会弹出4个子菜单分别是录入基本信息、修改基本信息、查询基本信息、删除基本信息。点击它们会出现不同的界面,分别有不同的功能: 1 1. StudentManager.java 该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。 2. StudentSituation.java 该类创建的对象是StudentManager类的重要成员之一,负责提供录入、重置学生基本

信息的界面。 3. ModifySituation.java 该类创建的对象是StudentManager类的重要成员之一,负责提供修改学生基本信息的界面。 4.Delete.java 该类创建的对象是StudentManager类的重要成员之一,负责提供删除学生基本信息的界面。 5.inquest.java 创建的对象是StudentManager类的重要成员之一,该类负责提供查询学生基本信息的界面。 6.Student.java 该类创建的对象是StudentManager类的重要成员之一,该类在做上面操作时可以返回学生的基本信息,主要起到一个返回的作用。 本系统是基于数据库的学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息的功能。 1.3 Java源文件及其功能 1.icon.jpg 该文件是窗口最小化时的窗口图标,StudentSituation需要调用该文件。 2.专业.txt 该文件为专业组合的组合键提供下拉菜单的内容,StudentSituation和ModifySituation调用该文件。 二、详细设计 2.1主类StudentManager 表2-1 主要成员变量(属性)

数据结构课程设计学生成绩管理系统

辽宁科技大学 课程设计报告设计题目:学生成绩管理 学院、系:电子与信息工程学院 专业班级:计算机11-2 班 学生姓名:赵月 指导教师:龙艳彬 成绩: 2013年1 月8 日 目录

一、需求分析------------------------------------------------3 二、概要设计------------------------------------------------3 三、详细设计------------------------------------------------5 3.1系统流程图-----------------------------------------------------5 3.2界面设计-------------------------------------------------------6 3.3各功能模块的设计----------------------------------------------7 四、测试与分析---------------------------------------------9 五、总结-----------------------------------------------------15 六、附录(源代码)--------------------------------------16 1.需求分析 1.1问题描述 本系统实现了学生成绩管理的功能,具有学生成绩的输入、读取、查询、修改、插入、删除、排序,统计等功能。

1.2基本要求 (1) 输入的形式和输入值的范围; 首先输入学生个数,按回车键。按照提示选择,将学生信息保存在文本文档中,具体对学生信息进行插入删除查询操作时,将保存在文本文档中的学生信息提取出来,保存在自己定义的数据结构中,然后再对该数据结构进行操作,所有操作完成,或者在相应的命令后,再将学生信息保存到文本文档中。输入数据类型主要是char、int、float等数据类型,输入内容包括:学期、学号、姓名、高等数学成绩,数据机构成绩,大学英语成绩总分,平均分等数据。 (2) 输出的形式; 学期、学号、姓名、高等数学成绩,数据结构成绩,大学英语成绩,总分,平均分等数据。 (3) 程序所能达到的功能; 1. 数据输入功能,输入的数据能最终保存在文件中; 2.数据删除功能,能最终从文件中删除; 3. 排序功能,根据自己设计的数据结构,设计排序算法 4.多种查询(如按学号查询、按姓名查询、按成绩查询等)及输出功能; 6. 学生信息的修改(比如修改学生姓名,修改学生某门课程的成绩) 7. 其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门课程所有学生的平均分等等) 2、概要设计 1. 数据结构:数组(顺序存储结构) 2. 程序模块: (1)先编入系统所需的库函数,使程序可运行 #include #include #include //主要是对cin,cout之类的一些操纵运算,是I/O流控制头文件。 #include //文件和标准控制台的输入输出 #include (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)通过设计实际的数据库系统应用课题,使学生进一步熟悉数据库管理系统的操作技术,提高学生独立分析问题,解决问 题,查阅资料以及自学的能力,以适应计算机产业日新月异

uml课程设计报告 学生管理系统

《UML课程设计》报告题目:学生管理系统 学号:07103230 姓名: 指导老师:罗新程岚岚

1.可行性研究报告 学生成绩管理工作是高校教育工作的一项重要内容。教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织、协调、指挥并指导各用户活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。学生成绩管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。学生成绩工作关系到高校教学秩序的稳定。大中型院校人员众多,如果没有好的管理,就不能取得很好的成果,应用数据库来管理,在这方面能够取得很好的效果。 系统的可行性分析 1.系统实施运行的可行性: 各教师,学生都已熟练掌握计算机的基本实用方法和操作技能,对新系统的开发,表现出极大的热情。提出了很多好的建议和要求。 2.技术可行性: 校园网已正常运行;开发人员已熟练掌握开发工具。技术上实现系统是可行的。 3.经济可行性: 校园内部局域网络已经建成;硬件投入不需要很大。 2.需求分析报告 2.1概述 随着互联网的发展,利用INTERNET 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。服务教学、提高教学水平和效果是校园网建设的核心目标和核心价值,本系统立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高高校的现代化管理水平,实现信息资源的共享。该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面‘软件’质量。可以说它适用于每一所高校,因此很有开发价值。我们不敢说该产品是所有该系列产品中最好的,但是我们这里要强调的是它具有使用范围广,

数据结构课程设计学生信息管理系统完整版

数据结构课程设计学生 信息管理系统 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

题目2.学生信息管理系统 一、课程设计目的 1.数据结构课程设计是综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C语言),自行实现一个较为完整的应用系统的设计与开发2.通过课程设计,自己通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。 3.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。 学生信息管理系统: (1)熟练掌握链表存储结构及其建立过程和常用操作; (3)学会自己调试程序的方法并掌握一定的技巧 二、课程设计内容 建立学生信息管理系统,通过链表实现对学生信息的输入,查找,删除,插入和排序等操作。 三、需求分析 1.每位学生的信息有:学号,姓名,性别,出生日期,E-mile,电话,c成绩,数学成绩等,用链表对学生的信息进行存储。 2.全部数据可以只放在内存中; 3.系统能实现的操作和功能如下: a) 输入学生信息: 对不同学生分别输出下列信息:学号,姓名,性别,出生日期,E-mile,电话,c成绩,数学成绩等。 b) 查找学生信息: 根据学生的学号或姓名对学生的信息进行查找。 c) 删除学生信息: 删除某个学生的所有信息。 d) 插入学生信息: 将某个学生的信息插入到已经输入的信息中。 e) 显示学生信息: 将所有学生的信息显示出来。 f) 排序: 将所有学生按某个学科的成绩依次排序。 四、概要设计 1.系统结构图(功能模块图)

学生成绩管理系统-数据库课程设计

德州学院信息管理学院 课程设计报告 实习名称数据库课程设计 设计题目基于Java+MySQL的学生成绩管理系统的设计与实现实习时间 . 专业班级2011级计算机网络技术专 指导老师王丽丽 教学单位(盖章) 小组分工情况: 二〇一三年六月三十日 目录

摘要 (1) 1 引言错误!未定义书签。 问题的提出错误!未定义书签。 国内外研究的现状错误!未定义书签。 目的与分析错误!未定义书签。 2 程序的主要功能错误!未定义书签。 添加功能错误!未定义书签。 删除功能错误!未定义书签。 显示功能错误!未定义书签。 查找功能错误!未定义书签。 修改功能错误!未定义书签。 3 程序运行平台错误!未定义书签。 4 总体设计错误!未定义书签。 5 数据库设计错误!未定义书签。 数据库概念设计错误!未定义书签。 表结构错误!未定义书签。 视图错误!未定义书签。 6 模块分析错误!未定义书签。 添加模块错误!未定义书签。 显示模块错误!未定义书签。 修改模块错误!未定义书签。 查找模块错误!未定义书签。 删除模块错误!未定义书签。 登陆模块错误!未定义书签。 7 界面设计错误!未定义书签。 登陆界面错误!未定义书签。 学生信息添加界面错误!未定义书签。 学生成绩查询界面错误!未定义书签。 学生成绩修改界面错误!未定义书签。 8 系统测试错误!未定义书签。 9 结论错误!未定义书签。 10参考文献 (29) 德州学院学生成绩管理系统的设计与实现 摘要:学生成绩管理系统主要用于各类大学院校在教学这一部分的管理,是针对于教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以便让教务处以最短的工作时间内把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生基本信息、学生成绩进行各种查询,以便及时很好地对需要了解的信息得到相应的反馈,能有效的帮助教务处的工作,可使学院教职工减轻工作压力,

课程设计报告学生成绩管理系统定稿版

课程设计报告学生成绩管理系统精编W O R D 版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

《高级语言程序设计》 课程设计报告 课题名称:学生成绩管理管理 姓名:田宇 班级:通信1412 学号: 指导教师:陶恂 电子信息学院 2015年 07 月 10 日

目录 1 课题分析....................................................................................................................................... 1.1 问题描述........................................................................................................................... (1)录入每个学生的学号、姓名和各科考试成绩 .............................................. (2)计算每门课程的总分和平均分 ......................................................................... (3)计算每个学生的总分和平均分 ......................................................................... (4)按每个学生的总分由高到低排出名次表 ....................................................... (5)按每个学生的总分由低到高排出名次表 ....................................................... (6)按学号由小到大排出成绩表.............................................................................. (7)按姓名的字典顺序排出成绩表 ......................................................................... (8)按学号查询学生排名及其考试成绩 ................................................................ (9)按姓名查询学生排名及其考试成绩 ................................................................ (10)按优秀(90-100)、良好(89-89)、中等(70-79)、及格(60-69)、不及格(0-59)5个类别,对每门课程分别统计每个类别的人数以及所占的百分比........................................................................................................................ (11)输出每个学生的学号、姓名、各科考试成绩,以及每门课程的总

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

武汉工程大学 计算机科学与工程学院 课程设计报告 设计名称:《数据库原理及应用》课程设计 设计题目:学生信息管理系统 学生学号:1305120107 专业班级:2013计算机工程01 学生姓名: 何经纬 学生成绩: 指导教师(职称):刘黎志(副教授) 完成时间: 2016—1—6 武汉工程大学计算机科学与工程学院制 说明: 1、报告中得第一、二、三项由指导教师在综合设计开始前填写并发给每个 学生;四、五两项(中英文摘要)由学生在完成综合设计后填写. 2、学生成绩由指导教师根据学生得设计情况给出各项分值及总评成绩。3、指导教师评语一栏由指导教师就学生在整个综合设计期间得表现、设计完成情况、报告得质量及答辩等方面,给出客观、全面得评价。 4、所有学生必须参加综合设计得答辩环节.凡不参加答辩者,其成绩一律按

不及格处理。答辩小组成员应由2人及以上教师组成. 5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计 得情况另行规定。 6、平时表现成绩低于6分得学生,其综合设计成绩按不及格处理. 7、此表格式为武汉工程大学计算机科学与工程学院提供得基本格式(适用 于学院各类综合设计),各教研室可根据本门综合设计得特点及内容做适当得调整,并上报学院批准。 答辩记录表

成绩评定表 学生姓名: 何经纬学号: 1305120107 班级: 2013计算机工程01

目录 摘要?错误!未定义书签。 Abstract?错误!未定义书签。 第一章绪论 ..................................... 错误!未定义书签。 1、1 需求分析?错误!未定义书签。 1、2 语言?错误!未定义书签。 1、3 数据库?错误!未定义书签。 1、4 开发工具特点?错误!未定义书签。 第二章设计简介?错误!未定义书签。 2、1 系统流程图................................ 错误!未定义书签。 2、2 数据库设计.............................. 错误!未定义书签。 第三章详细设计.................................. 错误!未定义书签。 3、1创建数据库?错误!未定义书签。 3、2 连接数据库?错误!未定义书签。 3、3 登录界面设计?错误!未定义书签。 3、4 功能设计?错误!未定义书签。 第四章设计结果及分析............................ 错误!未定义书签。 4、1 设计结果?错误!未定义书签。 4、2设计分析................................. 错误!未定义书签。 总结?错误!未定义书签。 致谢......................................... 错误!未定义书签。 参考文献......................................... 错误!未定义书签。 摘要 学生信息管理系统就是典型得信息管理系统,其开发主要包括后台数据库得建立与维护以及前端应用程序得开发两个方面。对于前者要求建立起数据一致性与完整性强、数据安全性好得库.而对于后者则要求应用程序功能完备、易使用、界面美观等特点.本次开发使用了Microsoft公司得visualstudio2010开发工具,利用其提供得各种面向对象得开发工具,尤其就是数据窗口这一能方便而简洁操纵数据库得智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正与改进,直到形成用户满意得可行系统。 关键词:SQL2012;C#、NET;信息管理系统

相关文档
相关文档 最新文档