学生通 讯 录管理系统的设计与实现.doc_第1页
学生通 讯 录管理系统的设计与实现.doc_第2页
学生通 讯 录管理系统的设计与实现.doc_第3页
学生通 讯 录管理系统的设计与实现.doc_第4页
学生通 讯 录管理系统的设计与实现.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学生通讯录管理系统的设计与实现问题描述:纸质的通讯录已经不能满足实际需求,容易丢失,查找困难等问题是纸质通讯录所不能克服的缺点。“学生通讯录管理系统”是为了帮助老师、同学,或者其他一些需要使用的通讯录的人员进行管理和应用的一种应用程序。需求分析:1)输入数据建立通讯录。2)查询通讯录中满足要求的信息。3)插入新的通讯录信息。4)删除不需要的通讯录信息。5)查看所有的通讯录信息。主界面设计要求:1)通讯录的建立2)插入通讯录记录3)查询通讯录记录4)删除通讯录记录5)显示通讯录记录6)退出系统设计要求:A. 建立通讯录时,每个学生的信息包括:学号,姓名,电话。B. 查找时,学号、姓名、电话均可以作为查询字段。C. 查看所有的通讯录信息时,所有记录需要时有序的(按学号排序,按姓名排序(字典序),按电话号码排序)。D. 存储结构:要求使用顺序存储结构。E. 数据使用:使用本班级的具体信息。需求分析:本次设计目的是学生信息管理系统,可存入每个学生的基本信息,所有学生信息都可根据名字、学号、电话、邮箱进行查询,也都可以根据这四个基本信息检索到一个学生并删除其数据。输入形式:student.txt,以文件形式进行输入。输出形式:根据不同的输入进行不同的操作。达到功能:能插入一个学生的信息,能删除一个学生的信息,能查询一个学生的信息。测试数据:班上70个同学的基本数据。概要设计:数据类型:顺序链表 ArrayList类学生数据结构:StuData类 包含name、id、phone、email四个String基本类型。所有操作写在Structure中,包含insert、remove、query、printAll。Main函数用Java标准输入,循环输入,用switch判断输入进行各种操作,1进行建立信息系统从文件中读入操作,2进行插入一个学生数据的功能,3进行查询信息的操作,4进行删除通讯记录的操作,5进行打印所有学生信息的功能,6代表退出系统。详细设计:本程序是学生信息管理系统,构造了一种StuData数据结构,里面包含姓名、学号、电话、邮箱四个String类型的字段,具有的功能是,从文件中读入班级70个人的信息,用循环构造70个StuData对象,依次存入ArrayList中,ArrayList是自己写的顺序型链表,用Objcet的数组进行存储数据,里面实现了insert、remove、迭代器等各种操作,具体代码如下:#include#include#include#include#include#include#includeusing namespace std;struct Student char number20; char name20; char tel20; char QQ100;Student S1000;int cnt;void init() cnt = 0; FILE *T; T = freopen(a.txt,r,stdin); while(scanf(%s%s%s%s,Scnt.number,S,Scnt.tel,Scnt.QQ)!=EOF) / printf(%s %s %sjijin,Scnt.number,S,Scnt.tel,Scnt.QQ); cnt+; freopen(CON, r, stdin); printf(建立成功n);void showscreem() printf(*n); printf( 1 通讯录的建立n); printf( 2.插入通讯记录n); printf( 3.查询通讯记录n); printf( 4.删除通讯记录n); printf( 5.显示通讯记录n); printf( 0.退出系统n); printf(*n);void Insert() Student t; scanf(%s%s%s%s,t.number,,t.tel,t.QQ); Scnt+ = t; printf(插入成功n);void Find() char str100; printf(请输入有关信息n); scanf(%s,str); int flag1 = 0; for(int i = 0;icnt;i+) int flag = 0; flag |= !strcmp(str,Si.number); flag |= !strcmp(str,S); flag |= !strcmp(str,Si.tel); flag |= !strcmp(str,Si.QQ); if(flag) printf(学号%s 姓名%s 电话%s 邮箱%sn,Si.number,S,Si.tel,Si.QQ); flag1 = 1; if(!flag1) printf(没找到n);void Delete() char str100; printf(请输入有关信息n); scanf(%s,str); int flag = 0;int pos; for(int i = 0;icnt;i+) flag |= !strcmp(str,Si.number); flag |= !strcmp(str,S); flag |= !strcmp(str,Si.tel); flag |= !strcmp(str,Si.QQ); if(flag) pos = i;break; if(!flag) printf(没找到n); else printf(删除成功n); for(int i = pos;icnt-1;i+) Si =Si+1; cnt-; int cmp(const Student & a, const Student &b) return strcmp(a.number,b.number)0;int cmp1(const Student & a, const Student &b) return strcmp(,)0;int cmp2(const Student & a, const Student &b) return strcmp(a.tel,b.tel)0;void show() printf(按照学号排序n); sort(S,S+cnt,cmp); for(int i = 0;icnt;i+) printf(姓名%s 学号%s 电话%s 邮箱%sn,S,Si.number,Si.tel,Si.QQ); printf(按照姓名排序n); sort(S,S+cnt,cmp1); for(int i = 0;icnt;i+) printf(姓名%s 学号%s 电话%s 邮箱%sn,S,Si.number,Si.tel,Si.QQ); printf(按照电话排序n); sort(S,S+cnt,cmp2); for(int i = 0;icnt;i+) printf(姓名%s 学号%s 电话%s 邮箱%sn,S,Si.number,Si.tel,Si.QQ); int main() int n; showscreem(); while(scanf(%d,&n)!=EOF) if(n=0) break; if(n=1) init(); else if(n=2) printf(请按顺序输入学号,姓名,邮箱n); Insert(); else if(n=3) Find(); e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论