同学录管理系统设计与实现

合集下载

同学录管理系统方案设计书与实现

同学录管理系统方案设计书与实现
本论文概述了与SQL Server 2000数据库及其相关的一些知ቤተ መጻሕፍቲ ባይዱ,着重论述数据库中间技术,并将其放入一个简单的体系中加以实现。
具体的实现是构造一个校友录管理系统,用户以个人的身份进入,查找满足条件的班级,并可以填写个人资料,以便被查询。通过同学录这种网络联系方式,可以让很多因毕业而分离的同学们还能够经常聚首,互相嘘寒问暖,了解各自的近况,还可以建立毕业生和在校生的沟通渠道,增强学校的凝聚力,能很方便的和同学沟通和交流。
要求阅读或检索的参考资料及文献(包括指定给学生阅读的外文资料):
[1] 灯芯工作室.C#实战入门[M].第一版.北京:中国水利水电出版社,2002.1
[2] 周红安.21天学通C#[M].北京:电子工业出版社,2009.2
[3] 陈湘与网站开发编程实战[M].第一版.北京:清华大学出版社,2002.5
姓 名: 郭 勇
指导教师: 罗 娜
专 业: 计算机应用技术
层 次: 专 科
成绩评定表
指导教师评语及评分
中学同学录管理系统设计与实现
论文评分
指导教师(签名) 年 月 日
评审教师评语及评分
评审评分
组长(签名) 年 月 日
综合评分
成 绩
评定人
签名 年 月 日
毕业论文(设计)任务书
题 目
中学同学录管理系统设计与实现
4.2 E-R图设计6
4.3数据库表的设计7
5系统的详细设计11
5.1本课题的设计思想11
5.2系统设计原则11
5.3系统各模块的主要功能11
5.4系统各模块的具体功能11
5.4.1登录模块11
5.4.2注册模块12
5.4.3班级查询模块13

电子同学录系统设计

电子同学录系统设计

电子同学录系统设计一、引言随着科技的不断发展,人们的生活方式也在不断变化,而传统的纸质同学录已经不能满足现代人的需求。

为了更好地满足同学录的管理和使用需求,本文将设计一个电子同学录系统,以提供更便捷、实用和高效的同学录管理方案。

二、需求分析1.功能需求:a.注册和登录功能:用户通过注册和登录账号来使用系统。

b.个人信息管理功能:用户可以填写和修改自己的个人信息。

d.分享功能:用户可以将同学录分享给他人或通过社交媒体分享。

e.功能:用户可以根据关键词同学录中的信息。

2.性能需求:b.系统稳定性好,能够在多平台上正常运行。

c.数据安全性高,用户的个人信息不会被泄露或滥用。

3.使用者需求:b.教师:教师可以使用同学录系统来管理学生的信息,并根据需求筛选学生信息。

c.管理员:管理员负责整个系统的管理和维护,包括用户的管理、系统的升级和维护等。

三、系统设计1.技术选型:a. 前端开发:HTML、CSS、Javascriptb. 后端开发:Java、Spring框架、MySQL数据库c.数据库设计:用户表、个人信息表、同学录信息表2.系统架构:a.前端页面设计:将用户界面设计成简洁、用户友好的形式,使用户能够方便地浏览和操作同学录。

b.后端逻辑设计:编写后端代码,实现系统的各项功能需求,并与数据库进行交互。

c.数据库设计:设计合理的数据库结构,以便存储用户的个人信息和同学录信息。

d.系统部署和维护:将系统部署到服务器上,并进行日常维护和及时的升级。

3.各功能模块设计:a.注册和登录功能:实现用户注册和登录的逻辑,保证用户信息的安全性。

b.个人信息管理功能:用户可以填写和修改个人信息,包括姓名、年龄、学校、班级等。

d.分享功能:用户可以选择将同学录分享给他人或通过社交媒体分享,方便交流和传播。

e.功能:用户可以通过关键词同学录中的信息,提高查找效率。

四、系统实现1. 前端实现:使用HTML、CSS、Javascript等前端技术开发用户界面,实现用户交互和界面展示。

C++课程设计-同学录的设计与实现

C++课程设计-同学录的设计与实现

*******************实践教学*******************兰州理工大学计算机与通信学院2011年秋季学期面向对象课程设计题目:同学录的设计与实现专业班级:计算机科学与技术1班姓名:陈万鹏学号:10240125指导教师:年福忠成绩:摘要通过设计一个《同学录管理系统》,进一步熟悉C++中类的概念、基本知识和技能,类的封装、继承的实现方式。

掌握面向对象程序设计的基本思路和方法,并利用所学的基本知识和技能解决简单的面向对象的程序设计问题。

了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用:逐步熟悉程序设计的方法,并养成良好的编程习惯。

关键字:C++;添加;查询;修改;删除目录一、需求分析 (4)二、总体设计 (5)1.设计类,对象及基本数据类型: (5)2.实现各模块功能的相应程序: (6)三、详细设计 (7)四、测试 (11)五、设计总结 (13)参考文献 (15)致谢 (16)附录 (17)一、需求分析以本班的同学的具体数据为背景,设计一个本班同学同学录,要求如下:(1) 录入信息,必须包括:姓名,性别,电话,家庭地址,邮编,E-mail等基本信息;(2)修改信息,包括插入一条或多条信息,修改或者删除某人的信息;(3)查询信息,可以按姓名,家庭住址,性别等多种方式查询;(4)显示所有信息;二、总体设计图1数据结构及各模块分析:1.设计类,对象及基本数据类型:创建一个Classmates类,它有五个私有数据成员:string name; 姓名string address; 地址string number; 电话号码string post; 邮编string email E-mail包含七个公有成员函数:功能如下:char diaplay(); 首页void add_person(); 添加同学void del_person(); 删除同学void show_all(); 显示所有同学void alter(); 修改信息void inquiry(); 查询同学void save_new(); 保存新增加的同学在主函数main()之中,.Classmates obj; 创建名为obj的对象结构体:struct record{Classmates object; object对象作为结构体record的一个成员record *prior; 定义一个指向前驱的结构体指针record *next; 定义一个指向后继的结构体指针};该结构体是在alter()修改函数中用来处理相关信息的修改.字符串变量: str,record;字符变量: choose;布尔型变量: flag;数据保存方式以及格式:该同学录管理系统将把输入的人员信息保存为pClassmates.txt 文本文件,在文件读取时系统将会把该文件中相关信息读出,并在屏幕上显示出相关信息.2.实现各模块功能的相应程序:1.界面:display(){system("cls");cout<<endl;cout<<"\t\t------------------------------….. ……fflush(stdin);return choose;}添加同学:add_person(){cout<<endl<<"根据下面……. …….save_new(){ofstream outData("pClassmates.txt", ios::app);if(!outData)……outData.close();}cout<<endl<<"新同学信息已经保存好!!!"<<endl<<endl;system("pause");}删除同学信息del_person(){ofstream outData("temp.txt", ios::out);……cout<<endl<<"这个人的信息已经从你的同学录中删除!!!"<<endl<<endl;}system("pause");}显示所有同学信息:show_all(){ifstream inData("pClassmates.txt",ios::in);……cout<<"所有同学信息已经全部显示出来!!!"<<endl;}system("pause");}修改同学信息alter(){ifstream inData("pClassmates.txt", ios::in);……cout<<endl<<"信息已经修改完成!!!"<<endl<<endl;system("pause");}}查询同学信息select(){ifstream inData("pClassmates.txt",ios::in);……}system("pause");}三、详细设计详细功能如下:A,添加:系统将提示用户输入新添加人员信息,输入到文件中,人员信息数据包括姓名,电话号码 ,邮箱,邮编,地址.B,删除:首先由用户输入要删除的人员的姓名或者电话号码,然后调用删除函数,删除该人员的所有相关资料.C,显示所有人员信息:该功能将显示已经保存的所有人员的姓名,电话, ,邮编及地址.D,修改:首先由用户输入要修改的人员姓名或者电话号码,然后系统用修改函数查找,显示该名同学的资料,然后系统提示用户输入需要修改的人员的相关信息.并用双向链表来实现修改功能E,查询:可由用户输入要查找的人员姓名或电话号码,然后系统用查找函数查找,接着系统使用相关文件命令输出所查找的人员的全部信息.F,退出系统关闭同学录管理系统.菜单用于选择各项功能:其中包括:.a:添加新同学;.b:删除同学;.c:显示所有人员信息;.d:修改人员信息;.e: 查询同学;.f:关闭同学录.采用面向对象的程序设计方法,a,b,c,d,e,这五项菜单都调用一个函数来实现.void Classmates::alter(){ifstream inData("pClassmates.txt", ios::in);//打开文件pClassmates.txt,进行读操作if(!inData)//判断文件打开是否成功{cout<<endl<<"对不起不能打开文件!!!"<<endl<<endl;//如果打开失败,输出“对不起不能打开文件!!!”system("pause");//屏幕暂停return;}string sign;//定义字符串变量signcout<<endl<<"请输入你想要修改的同学的姓名或电话号码:";cin>>sign;//输入变量signfflush(stdin);//清空缓冲区record *H=new record;//新建结构体指针变量H,并为其分配空间record *p=H;//使p指针指向指针Hrecord *q=H;//使q指针也指向指针Hbool flag=true;//定义布尔型变量flag.while(inData>>p->>>p->object.number>>p->object.qq >>p->object.post>>p->object.address)//读取文件中一个人的信息{p->next=new record; //建立双向链表p=p->next;p->prior=q;q->next=p;q=p;}p->next=NULL;//使p的next成员指向NULL.inData.close();//关闭pClassmates.txt文件p=H;//使指针变量P指向结构指针H的头节点while(p)//当p不为空时{if((p->==sign)||(p->object.number==sign))//判断输入是否为空.{if(flag){cout<<endl<<"你想修改你同学的信息如下:"<<endl<<endl;cout<<setiosflags(ios::left)<<setw(17)<<p-><<""<<setw(16)<<p->object.number<<" "<<setw(18)<<p->object.qq <<" "<<setw(14)<<p->object.post<<""<<setw(20)<<p->object.address<<endl;//输出要修改的人的信息flag=false;}cout<<endl<<"请根据下面提示修改信息 : "<<endl;cout<<"姓名 :" ;cin>>p->;fflush(stdin);cout<<"电话号:";cin>>p->object.number;fflush(stdin);cin>>p->object.qq;fflush(stdin);cout<<"邮编 :";cin>>p->object.post;fflush(stdin);cout<<"地址 :";cin>>p->object.address;fflush(stdin);break;//根据提示进行修改}p=p->next;//使结构体指针p指向该指针的末尾}if(flag){cout<<endl<<"你的同学录中没有你找的联人!!!";cout<<endl<<endl;system("pause");return;}else{ofstream out("pClassmates.txt",ios::out);//打开文件pClassmates.txt,进行写操作if (!out) //判断文件打开是否成功打开{cout <<endl <<"对不起!!!不能打开文件!!!!" <<endl;system("pause");return;}p=H; //使结构体指针p指向被修改的人的记录的首地址.while(p)//如果p不为空,则执行以下语句{out<<setiosflags(ios::left)<<setw(17)<<p-> <<" "<<setw(16)<<p->object.number<<" "<<setw(18)<<p->object.qq<<" "<<setw(14)<<p->object.post<<" "<<setw(20)<<p->object.address<<endl;将修改后的信息保存到原来位置p=p->next;//使用p指针指向其本身的末尾}out.close();//关闭pClassmates.txt文件cout<<endl<<"信息已经修改完成!!!"<<endl<<endl;system("pause");//屏幕暂停}}四、测试进入主页如图2所示图2信息添加如图3所示图3信息浏览如图4所示图4 信息查询如图5所示图5图6信息修改如图7所示图7五、设计总结通过这三周的课程设计,我学到了在理论课中学不到的内容,同时发现候动手实践比学习理论知识重要得多。

同学通讯录管理系统设计

同学通讯录管理系统设计

同学通讯录管理系统设计一、可行性研究可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决,以及是否值得解决,即可行性研究的结果是“做还是不做”而非如何去做”。

1)引言:计算机已经升入到日常工作和生活的方方面面,已经成为我们学习和工作的得力助手,隔行隔夜的人们都在使用计算机完成许许多多的工作。

然而,虽然现在时间上的各种软件测出不穷,但它们依然不能满足用户的各种特殊需要,人们还得不得不开发适合自己特殊需要的软件。

同学通讯录管理系统是每个学生不可缺少的不分,它可以很方便的帮助我们管理自己的联系人。

通过市场调查,此类小型软件在学生中的需求比较大,而且很多学生也有此类需求各种联系人也不断增多,很多同学仍在使用普通的纸质通讯录来记录联系人的信息,这种方式存在如下缺陷。

(1)、存储信息量少,查找不方便;(2)、信息容易丢失,但不能存放纸质无法存储的东西;(3)、安全性不高,没有隐私性可言。

为了解决上述缺陷,满足部分人的使用需求,开发出单机版的通讯录软件。

此通讯录管理系统具有手工所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点极大地提高学生管理的效率。

2)背景:本系统是在联系人成爆炸性增长的前提下,学生对联系人信息管理的自动化、及时化、与准确化的要求日益剧烈的背景下提出的,本系统是通讯录管理系统,实现多个用户共享一个软件,管理各自的联系人的管理功能。

系统名称:同学通讯录管理系统;项目组织者:俞倩、李平、张三;任务详细信息:①任务提出人:俞倩;②项目组长:俞倩;需求分析员:张三;结构设计师:李平;编码:俞倩;测试:俞倩;3)项目要求本软件的功能和要求是解决学生对联系人的管理的问题,为进一步完善联系人的管理,实现联系人信息的管理和处理,具体实现用户(合法用户、非法用户)用户信息管理、联系人信息的管理。

用户信息管理包括:用户名、密码。

联系人信息管理包括:用户的联系方式,住址,邮箱,生日等。

同学录的设计与实现任务书

同学录的设计与实现任务书
2010年6月下旬准备参加答辩。
推荐
参考
文献
[1]马照亭,郭月强,焦祝军等.ASP Web编程实例教程[M].北京:希望电子出版社,2003.
[2]荣欣科技.ASP+Dreamweaver MX2004数据库网站开发与实例[M].北京:清华大学出版社,2004.
[3]张大鹏,张威,陈海波.中文Dreamweaver 2004设计[M].北京:电子科技大学出版社,2003.




2009年11月14日到12月19日查阅有关文献、资料和相关网站。有目的的调研收集资料,在此基础上按照上面要求写出论文整体设计方案,填写好开题报告。第七学期于每周二下午4:10到计算机系714室进行交流汇报辅导。
利用寒假和实习时间做好充分的准备工作,设计论文和实验的雏形。
下面是论文进度和设计时间的指导。⑴网站方案设计及论文提纲拟订(约二周时间完成)。⑵设计方案分析阶段(约二周时间完成),同时完成毕业论文前两章资料整理工作。⑶网站设计、资料分类命名阶段(约二周时间完成)。⑷网站实现阶段(约五周时间完成)同时完成毕业论文拿第三章、第四章资料整理工作。⑸调试阶段(约三周时间完成),同时完成毕业论文第五章资料整理工作。⑹毕业论文的整理定稿阶段(约二周时间完成)。
[4]张俊超,何玉洁.数据库技术应用及上机指导[M].北京:机械工业出版社2003.
[5]伍孝金.基于ASP的招生就业网站信息管理系统的设计[J].计算机工程与设计,2006,27(11):2066-2069.
注:此表由指导教师填好后交学生参考使用。论文答辩前,学生将此表交指导教师,按要求装订在论文文本内。
网站主要介绍同学录网站的设计开发,具体包括同学录网站首页、班级论坛、班级相册、联系方式、访问记录等功能模块。详细完成本网站系统设计,编写、调试班级论坛、班级相册、联系方式、访问记录的应用程序。系统开发过程遵循调查研究、可行性分析、需求分析、系统设计和系统实施、测试六个主要阶段来对系统进行开发。

基于.NET的同学录系统的设计与实现

基于.NET的同学录系统的设计与实现
(4) 简单
使执行常用的工作变得很容易,比如从简单的表单提交、客户端验证,到部署和站点配置。例如,允许你建立用户接口,实现页面和逻辑代码的分离,同时,就像vb的表单执行模式那样来处理事件(也就是说,由页面驱动模式变成了事件驱动模式)。此外,CLR简化了部署,用来管理代码服务,例如自动参照和垃圾回收。
(8) 安全性
内建的windows验证和每一个应用程序的独立配置,你可以认为你的应用程序是安全的。
第三章
同学录系统是指以互联网形式接入,通过搭建系统服务,向互联网接入用户提供同学之间联系交流的平台。
通过同学录系统,用户可以将自己最近的所得所失,生活感悟与同学朋友分享交流。通过该平台,用户可以实现注册登陆、个人信息修改、注册班级、图片上传、发表留言、聊天等功能。
关键词:C#;同学录;SQL;B/S架构
Design and Implementation Classmates system-based .NET
Abstract
With the rapid development of computer technology, the past stale Contact has been unable to meet the needs of modern life, based on the old network networking system to a change in the traditional paper Classmates message, update the difficult, not easy in real time all the drawbacks, allows us to contact with students, alumni, friends anytime, anywhere more convenient.

学生通讯录管理系统的设计与实现 数据结构课程设计

学生通讯录管理系统的设计与实现 数据结构课程设计

LECTURE 11.线性表的存储顺序存储链式存储2.“学生通讯录管理系统的设计与实现”问题描述:纸质的通讯录已经不能满足实际需求,容易丢失、查找困难等问题是纸质通讯录所不能克服的缺点。

“学生通讯录管理系统”是为了帮助老师、同学,或者其他一些需要使用通讯录的人员进行管理和应用的一种应用程序。

需求分析:(1)输入数据建立通讯录;(2)查询通讯录中满足要求的信息;(3)插入新的通讯录信息;(4)删除不需要的通讯录信息;(5)查看所有的通讯录信息主界面设计要求:*******************************************************************************1 通讯录的建立2.插入通讯记录3.查询通讯记录4.删除通讯记录5.显示通讯记录0.退出系统*******************************************************************************设计要求:a.建立通讯录时,每个学生的信息包括:学号,姓名,电话;b.查找时,学号,姓名,电话均可以作为查询字段;c.查看所有的通讯录信息时,所有记录需是有序的(按学号排序,按姓名排序(字典序),按电话号码排序);d.存储结构:要求使用顺序存储结构;e.数据使用:使用本班级的具体信息。

源程序:(已经在VC下调试完毕)# include <stdio.h># include <malloc.h> //包含了malloc函数# include <stdlib.h> //包含了exit函数# include <string.h>struct Add{ //建立通讯录每个记录所包含的信息i nt id;c har name[10];l ong tele;};//定义了一个数据类型,该数据类型的名字叫做struct Arr, 该数据类型含有三个成员,分别是pBase, len, cntstruct Arr{s truct Add * pBase; //存储的是数组第一个元素的地址i nt len; //数组所能容纳的最大元素的个数i nt cnt; //当前数组有效元素的个数};void init_arr(struct Arr * pArr, int length); //分号不能省bool append_arr(struct Arr * pArr,int id, char * name,long tele); //追加void show_arr(struct Arr * pArr);bool delete_arr(struct Arr * pArr, int id);bool is_empty(struct Arr * pArr);bool is_full(struct Arr * pArr);bool find_arr_id(struct Arr * pArr,int identity); //三种方式查找bool find_arr_name(struct Arr * pArr,char *name);bool find_arr_tele(struct Arr * pArr,long tele);void sort_arr_id(struct Arr * pArr); //三种方式排序void sort_arr_name(struct Arr pArr);void sort_arr_tele(struct Arr * pArr);void showmenu_1();int main(void){i nt n;i nt i;i nt j;c har temp;c har name[10];l ong tele;i nt tel;i nt identity;c har temp_2 ;i nt id;s howmenu_1();i nt choice_1;s canf("%d",&choice_1);s truct Arr arr;w hile( choice_1 != 0 ){switch(choice_1){case 1 : init_arr(&arr, 100); // 动态分配100个结构体数组 break;case 2 : printf("请输入你需要插入的记录的个数 ");scanf("%d",&n);for(i = 0;i<n;i++){printf("请输入学号: \n");scanf("%d",&j);printf("请输入姓名: \n");temp = getchar();gets(name);printf("请输入电话号码: \n");scanf("%ld",&tele);append_arr(&arr, j, name, tele);}printf("恭喜!全部数据插入完成~");break;case 3 : printf("请输入您想查找的学号");scanf("%d",&identity);find_arr_id(&arr, identity);printf("\n");printf("请输入您想查找的姓名");temp_2 = getchar();char xingming[10];gets(xingming);find_arr_name(&arr, xingming);printf("\n");printf("请输入您想查找的电话号码");scanf("%d",&tel);find_arr_tele(&arr, tel);printf("\n");break;case 4 : printf("请输入你要删除同学的学号: ");scanf("%d",&id);delete_arr(&arr, id);break;case 5 : printf("按学号降序排列: ");sort_arr_id(&arr);printf("\n");printf("按姓名字典序排列\n");sort_arr_name(arr);printf("\n");printf("按电话号码降序排列\n");sort_arr_tele(&arr);printf("\n");}printf("\n");printf("下面是菜单,请问还需要做些什么?");scanf("%d",&choice_1);}printf("退出菜单成功!");return 0;}void init_arr(struct Arr * pArr, int length){p Arr->pBase = (struct Add *)malloc(sizeof(struct Add) * length);i f (NULL == pArr->pBase){printf("动态内存分配失败!\n");exit(-1); //终止整个程序}e lsepArr->len = length;pArr->cnt = 0;}p rintf("初始化通讯录成功!\n"); r eturn;}bool is_empty(struct Arr * pArr) {i f (0 == pArr->cnt)return true;e lsereturn false;}bool is_full(struct Arr * pArr) {i f (pArr->cnt == pArr->len)return true;e lsereturn false;}void show_arr(struct Arr * pArr){i f ( is_empty(pArr) ){printf("结构体数组为空!\n");}e lse{for (int i=0; i<pArr->cnt; ++i){printf("%d ", pArr->pBase[i].id); //int *printf("%s ", pArr->pBase[i].name);printf("%ld ", pArr->pBase[i].tele);}printf("\n");}}bool append_arr(struct Arr * pArr, int id, char * name,long tele) {//满是返回falsei f ( is_full(pArr) )return false;//不满时追加p Arr->pBase[pArr->cnt].id = id;s trcpy(pArr->pBase[pArr->cnt].name,name);p Arr->pBase[pArr->cnt].tele = tele;(pArr->cnt)++;r eturn true;}bool find_arr_id(struct Arr * pArr, int id){i nt i = 0;while( i <= pArr->cnt ){if(pArr->pBase[i].id == id){printf("%d ", pArr->pBase[i].id); //int *printf("%s ", pArr->pBase[i].name);printf("%ld ", pArr->pBase[i].tele);i++;}elsei++;}r eturn true;}bool find_arr_name(struct Arr * pArr,char *name) {i nt i =0;while( i <= pArr->cnt ){if(strcmp(name,pArr->pBase[i].name) == 0) {printf("%d ", pArr->pBase[i].id); //int *printf("%s ", pArr->pBase[i].name);printf("%ld ", pArr->pBase[i].tele);i++;}elsei++;}r eturn true;}bool find_arr_tele(struct Arr * pArr,long tele){i nt i =0;while( i <= pArr->cnt ){if( pArr->pBase[i].tele == tele ){printf("%d ", pArr->pBase[i].id); //int *printf("%s ", pArr->pBase[i].name);printf("%ld ", pArr->pBase[i].tele);i++;}elsei++;}r eturn true;}bool delete_arr(struct Arr * pArr, int id){i nt i = 0,j;w hile( i < pArr->cnt){if( id == pArr->pBase[i].id ){for (j=i; j < pArr->cnt; ++j){pArr->pBase[j] = pArr->pBase[j+1];}pArr->cnt--;printf("删除成功!\n");}elsei++;}r eturn true;}void sort_arr_id(struct Arr * pArr){i nt a[100];i nt i =0;i nt t;f or( i = 0; i < pArr->cnt; i++){a[i] = pArr->pBase[i].id;}f or( i = 1; i < pArr->cnt; i++){for( int j = 0; j < pArr->cnt - i; j++ ) {if( a[j] > a[j+1] ){t = a[j];a[j] = a[j+1];a[j+1] = t;}}}printf("\n");f or( i = 0; i < pArr->cnt; i++)printf("%d\n",a[i]);}void sort_arr_name(struct Arr pArr){int i,j;c har temp_name[10];f or(i = 1;i < t; i++){for(j = 0;j < t -i; j++){if( strcmp( pArr.pBase[j].name , pArr.pBase[j+1].name ) > 0){strcpy(temp_name , pArr.pBase[j].name);strcpy(pArr.pBase[j].name , pArr.pBase[j+1].name);strcpy(pArr.pBase[j+1].name , temp_name);}}}f or(i = 0;i < t; i++)printf("%s\t",pArr.pBase[i].name);}void sort_arr_tele(struct Arr * pArr){int a[100];i nt i =0;i nt t;f or( i = 0; i < pArr->cnt; i++){a[i] = pArr->pBase[i].tele;}f or( i = 1; i < pArr->cnt; i++){for( int j = 0; j < pArr->cnt - i; j++ ) {if( a[j] > a[j+1] ){t = a[j];a[j] = a[j+1];a[j+1] = t;}}}f or( i = 0; i < pArr->cnt; i++)printf("%d\n",a[i]);}void showmenu_1(){p rintf("**********************************\n"); p rintf("请选择你要执行的命令~: \n");p rintf("1:建立通讯录\n");p rintf("2:插入通讯录\n");p rintf("3:查询通讯录\n");p rintf("4:按照学号删除通讯录\n");p rintf("5:显示通讯录\n");p rintf("**********************************\n"); }。

同学录管理系统 课程设计报告

同学录管理系统 课程设计报告

计算机系《软件工程》课程设计报告题目:同学录管理系统班级:学号:姓名:指导老师:年月日【实验一列车时刻查询系统注释】#include<iostream> //标准库函数#include<fstream>// 是包含输入输出流的头文件#include<string>//是对字符串操作的头文件#include<iomanip>// 是包含I/O流控制头文件#include<time.h> //是出时间和日期处理函数的头文件#include<windows.h> //它包含了其他Windows头文件using namespace std;//该指令涵盖了C++标准程序库的任何标识符class train_infor//定义了一个train类{private: //以下定义的为私有的函数static int train_No; // 静态数据成员char start[20]; //定义了起始站这个变量char end[20]; //定义了终点站这个变量int train_order; //定义车次这个函数int Hour_start,Minute_start; //开车的时间float GoHour; //行车时间public: // 以下为共有的函数train_infor();~train_infor();train_infor *next;void input(); // 输入函数void input(ifstream & is); // 将输入的信息放入到文件中void output(); // 输出函数void output(ofstream & os); // 将输出的信息放入到文件中void GetTime_start(); // 行车起始站函数bool GetTime(); // 判断当前车次状况函数,值为true时输出1,值为false 时输出0.int Get_train_order() { return train_order; } // 返回班次号string Get_end()const; // 返回行车的终点站的字符串};int train_infor::train_No=1;//车辆数变量train_infor::train_infor()//车辆数增加{train_No++; //车辆数自加1}train_infor::~train_infor() // 车辆数减少{train_No--; // 车辆数自减1}void train_infor::input() // 车次信息输入函数{cout<<"\t\t\t按提示输入:"<<endl;cout<<"请输入班次: ";//在界面上提示“请输入班次”while(1){cin>>train_order;//调用班次函数if (cin.fail()) // 判断输入的数据类型是否有错{cout << "\n班次输入错误,请重新输入:";//在界面上提示“班次输入错误,请重新输入”cin.clear(); // 消除输入流缓冲区cin.get(); // 输入字符串,并不从输入流中去掉终结符号}elsebreak;}GetTime_start();//行车时间函数cout<<"请输入行车时间:";while(1){cin>>GoHour;if (cin.fail()) // 如果输入失败时{cout << "\n行车时间输入错误,请重新输入:";cin.clear();// 消除输入流缓冲区cin.get(); // 输入字符串,并不从输入流中去掉终结符号}elsebreak;}cout<<"请输入起始站与终点站(始发站/终点站):";cin>>start;cin>>end;}void train_infor::input(ifstream & is) // 创建一个输入的文件类型的引用{is>>train_order>>Hour_start>>Minute_start>>start>>end>>GoHour;//将车次、发车时间写入到文件中这里的>>操作符是重载过的,是写入的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业设计(论文)题目:中学同学录管系统设计与实现*名:**指导教师:**专业:计算机应用技术层次:专科成绩评定表毕业论文(设计)任务书同学录在网络中应用广泛,现在比较有名的门户网站都提供了同学录功能,同学录不仅是新老同学联系的桥梁,而且还是网络休闲和网上展示自我的好方式。

该平台的开发,主要用了MACROMEDIA DREAMWAVER MX 2004、MACROMEDIA FIREWORKS MX 2004、MACROMEDIA FLASH MX 2004、ADOBE PHOTOSHOP 7.0、 MICROSOFT ACCESS 等软件,该系统严格按照一般同学录系统平台的开发步骤进行开发,并力图比较全面地涵盖所以应有的功能。

该平台的功能有:用户注册,用户登录,用户资料修改,图片上传,班级通讯录,在线人员统计等功能。

同时考虑到用户的安全性和网络优化性,特增加了管理员管理模块。

关键词:ACCESS数据库 脚本语言 INTERNER服务管理器模块设计前言 (1)1系统概述 (2)1.1系统的开发方法 (2)2系统的调研及可行性分析 (3)2.1系统调研 (3)2.2系统的总体目标 (3)2.3技术的可行性分析 (3)3系统分析 (4)3.1系统功能需求的分析 (4)3.2性能需求 (5)4数据库设计 (6)4.1SQL S ERVER2000数据库的概述 (6)4.2E-R图设计 (6)4.3数据库表的设计 (7)5系统的详细设计 (11)5.1本课题的设计思想 (11)5.2系统设计原则 (11)5.3系统各模块的主要功能 (11)5.4系统各模块的具体功能 (11)5.4.1登录模块 (11)5.4.2注册模块 (12)5.4.3班级查询模块 (13)5.4.4 通信录 (18)5.4.5 留言板 (19)6系统的评价 (20)总结 (21)致谢 (22)参考文献 (23)在现在的网络应用中,用户是网络应用的中心,如现今最风靡的校内网都是把用户放到了网络应用的第一位。

而校内网的成功和风靡在很大程度上是因为它是一个真实的社交网络,同学录系统也是利用了真实的社交网络进行设计和开发的。

对于同学录系统而言,其作用是为了增加同学之间的友情,在需求分析文档的引言部分可以简单的编写为何要开发该系统以及相应的背景。

引言编写如下所示:随着互联网的发展,越来越多的交流社区应用被广泛的接受,这些社区的存在都是为了能够加强人与人之间的交流。

在针对现有的系统进行调查,拟开发一套校友录系统进行校友联络,这样不仅方便校友之间的联络,也能够加强老校友和新校友的感情。

此规格说明书在详细的调查了客户现有的应用模块和基本的操作流程后进行编写,对校友录系统以及其功能进行了详细的规划、设计,明确了软件开发中应具有的功能、性能使得系统的开发人员和维护人员能够详细清楚的了解软件是如何开发和进行维护的,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。

本规格说明书的预期读者包括客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员等。

1系统概述本课题是基于WINDOWS 2000环境的数据库管理,该系统前台使用MICROSOFT VISUAL STUDIO 2005中的(C#语言)技术进行开发,后台数据库采用SQL SERVER 2000,并通过IIS进行发布,属于WEB数据库开发、用于解决实际问题的实例,具有一定的深度,涉及到数据库设计和前端开发工具的开发和设计,与之相似的应用很广泛。

本论文概述了与SQL SERVER 2000数据库及其相关的一些知识,着重论述数据库中间技术,并将其放入一个简单的体系中加以实现。

具体的实现是构造一个校友录管理系统,用户以个人的身份进入,查找满足条件的班级,并可以填写个人资料,以便被查询。

通过同学录这种网络联系方式,可以让很多因毕业而分离的同学们还能够经常聚首,互相嘘寒问暖,了解各自的近况,还可以建立毕业生和在校生的沟通渠道,增强学校的凝聚力,能很方便的和同学沟通和交流。

1.1系统的开发方法现代社会是一个信息化的社会,信息的交流在无形中影响着我们的生活,我们的生活速度随之加快,网上同学录就是一个很好的交流平台,它不仅为我们节约了大量的时间,更我们提供了一个同学交流的空间,让我们在繁忙的生活中获得一份轻松与惬意。

按照毕业设计的具体需求,设计基于INTERNET信息互联服务(IIS)平台,设计并实现了一个小型网上动态同学录系统,通过互联网,进行信息交流。

论文主要介绍ASP简介,ACCESS关系数据库概念,网上动态同学录系统分析与设计,程序设计主要代码,系统的使用说明与安装。

2系统的调研及可行性分析2.1系统调研通过对仁寿中学的同学以及教师的调查显示,实现同学录系统的设计也实现是可行的。

以后很有利用价值。

同时也确定了该系统要实现的功能。

(1)用户系统中可以实现用户注册(回答问题注册)、用户登录、用户信息的修改更新、用户密码修改、密码重置,用户的操作权限。

(2)留言功能中可以实现班级注册会员发表、修改留言以及查看同学留言。

(3)相册功能中可以实现班级注册会员上传、编辑照片以及查看照片。

(4)查看资料中可以实现班级注册会员搜索、查看、导出同学资料。

2.2系统的总体目标该系统将实现安全性、易拓展性、易用性和先进的开发技术等目标。

安全性:严格的权限控制,未授权人员无法做相应操作,对在网络传输的信息加密,防止信息被截获泄密。

先进的开发技术:采用数据库连接,通过技术访问数据库,满足频繁访问需求,保证系统灵活高效,多处采用缓存技术,提高系统整体性能。

扩展性:通过采用良好的系统架构,可以使系统拥有良好的可扩展性。

能快速应当需求变化,进而改变为适应需求的系统。

易用性:完全B/S结构,用户用浏览器访问系统,无需安装客户端,方便远程访问;界面简洁友好,使用简单。

2.3技术的可行性分析该系统采用ASP为前台的开发工具。

是运行在WINDOWS XP系统上的,采用ASP、SQL SERVER2000技术开发的,应用SQL SERVER 2000进行数据的存储,在DREAMWEAR 都是在网上免费下载的软件,所以这个课题在研究上是可行性的。

同时数据库系统的应用也越来越成熟,本系统是运行在WINDOWS XP系统上的,采用(C#) IIS、SQL SERVER2000技术开发的,在IIS 、VISUAL STUDIO 都是在网上免费下载的软件,所以完全可以开发这个项目。

3系统分析3.1系统功能需求的分析经过以上对本系统的调研及可行性分析后,下面将对系统在功能上以及性能上进行进一步的需求分析。

(1)注册模块这里主要是填写自己的一些基本资料,让别人能够从校园中搜索到认识的同学。

从填写的基本信息中找到联系方式。

(2)班级查询主要查找一些已经存在的班级,和添加没有存在的班级。

(3)通信录用户可以在此处查看同班同学的基本信息。

(4)留言板提供用户可以在留言板上进行编辑和删除操作。

同学录网站系统利用INTERNET、、数据库等技术。

全面收集和处理数据,提供各类信息,利用现代化管理方法对校园的信息进行管理并对向同学开放,使很多学校拥有了这一功能强大的同学录网站其功能结构图如下:图3-1 结构图3.2性能需求(1)系统处理能力:同学录系统不但涉及到留言功能,班级相册,通讯录等各个功能,还同时对多个不同用户的操作进行管理和控制,在这个过程中参与的用户较多,较为复杂,因此系统要具有较好的大用户量下的并发响应能力。

(2)处理时间:理想状态下系统应为用户提供24小时服务。

(3)响应速度:要求能够响应快速;响应速度尽量控制在用户可忍受等待的时间内,并给予提示。

(4)主要依赖数据库的良好维护和管理以及对数据的保密等措施。

所以在数据在遇到严重的丢失或损坏后能快速的进行恢复以继续维持系统正常运行。

所以本系统采用了定时对数据库的备份和数据的恢复措施。

并采用了MD5的加密技术。

4数据库设计4.1 SQL SERVER2000数据库的概述几乎所有的应用程序都需要存放大量的数据,并将其组织成易于读取的格式。

这种要求通常可以通过数据库管理系统(DBMS)来实现。

数据库管理系统提供了数据在数据库内存方式的管理能力。

简单的说,数据库就是一组排列成易于处理和读取的相关信息的集合,因此,数据库结构设计的好坏直接对应系统的效率以及实现的效果,产生的影响。

合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

设计数据库系统时,首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。

本系统采用了SQL SERVER 2000作为数据库,是结构化查询语言,主要功能是同各种数据库建立联系,进行沟通,按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据管理系统的标准语言,SQL语句可以用来执行各种各样的操作,绝大多数的关系型数据库管理系统都采用了SQL语言标准,虽然很多数据库都对SQL语句进行了在开发和扩展,但是包括SELECT、INSERT、UPDATE、DELETE、CREATE以及DROP在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。

4.2 E-R图设计(1)用户实体E-R图用户信息管理系统包括用户姓名、密码、班级、年级、邮编、地址、电话等信息,是基于用户注册的所有信息而建立的信息表,用户可通过此信息登录同学录网站。

用户实体E-R图如图所示:图4-1用户实体E-R图(2)留言板实体E-R图留言板信息管理系统包括留言题目、内容、用户编号、班级编号等信息,留言板实体E-R图如图所示:图4-2留言板实体E-R图4.3数据库表的设计(1)管理表管理信息表(TB_ADMIN)主要用于存放所有用户的账号、密码以及其他信息。

表TB_ADMIN的结构如表4-1所示。

表4-1 ADMIN表表名表说明备注USRREG 此表记录所有用户人员的基本信息CLASS 此表记录用户注册的班级包括所属大学在的省市CITY 此表记录全国城市CLASSTYPE 此表记录学历INFO 此表记录用户的留言PROVINCE 此表记录全国省份SCHOOL 此表记录用户注册的学校包括所在省市(2)用户信息表用户信息表(TB_USERREG)主要保存站内用户的基本信息。

表TB_USERREG的结构如表4-2所示。

表4-2 USERREG表(3)班级管理信息表班级管理信息表(TB_CLASS)主要保存站内用户所在班级的基本信息。

表TB_CLASS 的结构如表4-3所示。

表4-3 CLASS表(4)城市信息表城市信息表(TB_CITY)主要保存站内城市的基本信息。

表TB_CITY的结构如表4-4所示。

表4-4 CITY表(5)学历信息表学历信息表(TB_CLASSTYPE)主要保存站内用户学历编号和名称的基本信息。

相关文档
最新文档