班级通讯录管理系统
- 格式:doc
- 大小:677.00 KB
- 文档页数:29
学生手机通信录管理系统学生手机通信录管理系统文档一、系统说明学生手机通信录管理系统是一款方便学生进行联系人信息管理的应用程序,主要针对学生的使用需求,能够方便地添加、修改、删除联系人信息,同时提供了快速查找和导出通讯录的功能。
二、主要功能1.添加联系人:学生可通过学生手机通信录管理系统添加新的联系人,并可以输入联系人的姓名、电话、邮箱、地址等相关信息。
2.编辑联系人:编辑联系人时,可以修改联系人的信息,例如修改电话号码等。
3.删除联系人:学生可以在学生手机通信录管理系统中删除联系人信息,以避免产生重复的联系人信息。
4.快速查找:学生在需要查找联系人时,可以直接输入姓名或电话号码进行查找,以快速定位到相应的联系人。
5.导出通讯录:学生可以将通讯录导出为CSV文件,以便后续使用。
三、使用说明1.启动系统:学生首先需要下载学生手机通信录管理系统并安装,在安装完成后,启动系统。
2.添加联系人:点击“添加联系人”按钮,填写你需要添加的联系人的姓名、电话、邮箱、地址等相关信息即可。
3.编辑联系人:在学生手机通信录管理系统中选中需要编辑的联系人,然后点击“编辑联系人”按钮进行联系人信息的修改。
4.删除联系人:在学生手机通信录管理系统中选中需要删除的联系人,然后点击“删除联系人”按钮即可删除该联系人。
5.快速查找:在学生手机通信录管理系统中输入“姓名”或“电话”进行快速查找相应的联系人信息。
6.导出通讯录:在学生手机通信录管理系统中点击“导出通讯录”按钮即可将通讯录导出为CSV文件。
四、系统优势学生手机通信录管理系统能够让学生方便地管理联系人信息,避免了联系人重复或管理混乱的情况,以及提供了快速查找和导出通讯录的功能,这些都可以帮助学生高效地管理自己的联系人,成为学生生活中的一项便捷工具。
五、总结学生手机通信录管理系统是一项非常实用的工具,经过使用,它可以帮助学生方便地管理自己的联系人信息,节省时间和精力,成为学生生活中重要的一部分。
高级语言程序设计(1)课程设计专业班级学号姓名完成日期指导教师:1.程序设计说明书【设计题目】班级通讯录管理系统【问题描述】信息1002班上学生的通讯基本信息包含姓名、电话号码、QQ号和宿舍号。
对信息1002班学生的基本通讯信息进行统一整理,并可以按电话号码或姓名等查到学生个人基本通讯信息。
可以显示所有的通讯记录,并对现有的通讯记录进行修改和增删等处理。
【基本要求】1.通过此软件可以直接录入各个学生的基本通讯信息,并且会将所有信息自动保存到磁盘上。
2.通过此软件可以直接对已录入的各个学生的通讯基本信息进行修改,并且修改完成后会将更改后的信息情况自动保存到原磁盘文件中。
3.通过此软件可以直接对信息1002班每个同学的基本信息情况进行查询。
【算法思想】1.根据要求,通讯录数据以文本文件存放在文件中:2.需要提供文件的输入输出的等操作:3.还需要保存记录已进行修改,删除,查找的操作:4.另外还需提供键盘式选择菜单实现功能的选择。
【总体设计】图1系统功能模块图【详细设计】主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】图2.主函数流程图Voidmenu()/*主界面*/{intn,w1;voidenter();voidadd();voidmodify();voidbrowse();voiddelete();voidsearch(); do{puts("\t*******菜单**************\t\n\n");puts("\t\t\t\t1.新建联系人");puts("\t\t\t\t2.添加联系人");puts("\t\t\t\t3.修改");puts("\t\t\t\t4.删除");puts("\t\t\t\t5.浏览");puts("\t\t\t\t6.查找");puts("\t\t\t\t7.退出");puts("\n\n\t*****信息1002班通讯录*************\t\n");printf("请选择服务种类(1-7):[]\b\b");scanf("%d",&n);if(n<1||n>7){w1=1;getchar();}elsew1=0;}while(w1==1);switch(n){case1:enter();break;/*输入模块*/case2:add();break;/*添加模块*/【模块流程图】main函数delete函数search函数1”,进入新建联系人。
班级通讯录管理系统课程设计报告Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】高级语言程序设计(1)课程设计专业班级学号姓名完成日期指导教师:1.程序设计说明书【设计题目】班级通讯录管理系统【问题描述】信息1002班上学生的通讯基本信息包含姓名、电话号码、QQ号和宿舍号。
对信息1002班学生的基本通讯信息进行统一整理,并可以按电话号码或姓名等查到学生个人基本通讯信息。
可以显示所有的通讯记录,并对现有的通讯记录进行修改和增删等处理。
【基本要求】1.通过此软件可以直接录入各个学生的基本通讯信息,并且会将所有信息自动保存到磁盘上。
2.通过此软件可以直接对已录入的各个学生的通讯基本信息进行修改,并且修改完成后会将更改后的信息情况自动保存到原磁盘文件中。
3.通过此软件可以直接对信息1002班每个同学的基本信息情况进行查询。
【算法思想】1.根据要求,通讯录数据以文本文件存放在文件中:2.需要提供文件的输入输出的等操作:3.还需要保存记录已进行修改,删除,查找的操作:4.另外还需提供键盘式选择菜单实现功能的选择。
图1系统功能模块图【详细设计】主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】图2.主函数流程图Voidmenu()/*主界面*/{intn,w1;voidenter();voidadd();voidmodify();voidbrowse();voiddelete();voidsearch(); do{puts("\t*******菜单**************\t\n\n");puts("\t\t\t\t1.新建联系人");puts("\t\t\t\t2.添加联系人");puts("\t\t\t\t3.修改");puts("\t\t\t\t4.删除");puts("\t\t\t\t5.浏览");puts("\t\t\t\t6.查找");puts("\t\t\t\t7.退出");puts("\n\n\t*****信息1002班通讯录*************\t\n");printf("请选择服务种类(1-7):[]\b\b");scanf("%d",&n);if(n<1||n>7){w1=1;getchar();}elsew1=0;}while(w1==1);switch(n){case1:enter();break;/*输入模块*/case2:add();break;/*添加模块*/【模块流程图】main函数delete函数search函数2.按照程序提示,分别输入信息1002班所有同学的通讯基本信息。
目录目录 (1)摘要 (2)前言 (3)正文 (4)1.概要设计 (4)1.1信息结构体: (4)1.2系统结构图 (5)2.详细设计 (6)2.1 类的编写 (6)2.1.1stuClass类 (6)2.1.2stuOperate类 (7)3.程序调试与分析 (6)3. 1增加学生信息: (8)3. 2修改学生信息: (10)3.3删除学生信息: (12)3.4查询学生信息: (13)3.5查看学生男女比例: (15)3.6查看近期过生日的学生: (16)参考文献 (21)总结 (22)源程序附件 (23)、通讯录管理系统的主要功能有:添加学生信息、修改学生信息、删除学生信息、查询学生信息、查看学生男女比例、查看近期过生日的学生。
采用面向对象的思想建立两个类,一个类封装学生信息;另一个类封装对数据进行操作的一些函数;从而实现对系统的操作。
做这个系统主要用到了微软公司的:Visual C++6.0开发环境,班级通讯录管理系统是一个专门针对储存学生联系方式以及一些简单个人信息的实用管理系统,它方便了教师对众多学生信息的储存和快速查阅的功能,大大减少了查找过程的时间。
关键词:通讯录,查找,删除,添加,统计。
班级通讯录管理系统主要功能分为六个模块:添加学生信息、修改学生信息、删除学生信息、查询学生信息、查看学生男女比例、查看近期过生日的学生。
添加学生信息:录入学生的基本信息如学号、姓名、性别、出生日期、兴趣爱好、联系方式(电话、QQ、电子邮箱)、地址等。
修改学生信息:可对系统中已录入的信息进行修改,如要修改学号为36的信息,这时需选择修改学生信息菜单,然后输入要修改的学生的学号,即可进行修改。
删除学生信息:可对系统中已存在的信息按学号进行删除。
查询学生信息:每个学生都可以查询通讯录的全部记录,或按条件进行查询查看学生男女比例:系统会根据系统中已录入的学生自动计算出百分比。
查看近期生日的学生:自动列出近7日内要过生日的学生的信息。
高级语言程序设计(1)课程设计专业 班级 学号姓名 完成日期 指导教师:1. 程序设计说明书【设计题目】 班级通讯录管理系统【问题描述】信息1002班上学生的通讯基本信息包含姓名、电话号码、QQ 号和宿舍号。
对信息1002班学生的基本通讯信息进行统一整理,并可以按电话号码或姓名等查到学生个人基本通讯信息。
可以显示所有的通讯记录,并对现有的通讯记录进行修改和增删等处理。
【基本要求】1. 通过此软件可以直接录入各个学生的基本通讯信息,并且会将所有信息自动保存到磁盘上。
2. 通过此软件可以直接对已录入的各个学生的通讯基本信息进行修改,并且修改完成后会将更改后的信息情况自动保存到原磁盘文件中。
3. 通过此软件可以直接对信息1002班每个同学的基本信息情况进行查询。
【算法思想】1. 根据要求,通讯录数据以文本文件存放在文件中:2. 需要提供文件的输入输出的等操作:3. 还需要保存记录已进行修改,删除,查找的操作:4. 另外还需提供键盘式选择菜单实现功能的选择。
【总体设计】图1 系统功能模块图【详细设计】通讯录管理系统数据输入 数据修改 删除 数据添加 查找 浏览主函数设计要求简洁,只提供部分提示语和函数的调用【程序】开始显示一系列功能选项n输入n,判断n是否是1~7 ?根据n的值调用各功能模块函数结束图2. 主函数流程图Void menu() /*主界面*/{int n, w1;void enter(); void add(); void modify(); void browse(); void delete(); voidsearch();do{puts("\t*******菜单**************\t\n\n");puts("\t\t\t\t1.新建联系人");puts("\t\t\t\t2.添加联系人");puts("\t\t\t\t3.修改");puts("\t\t\t\t4.删除");puts("\t\t\t\t5.浏览");puts("\t\t\t\t6.查找");puts("\t\t\t\t7.退出");puts("\n\n\t*****信息1002班通讯录*************\t\n");printf("请选择服务种类(1-7) : [ ]\b\b");scanf("%d",&n);if(n<1||n>7){w1=1;getchar();}else w1=0;}while(w1==1);switch(n){case 2: add(); break; /*添加模块*/【模块流程图】main函数开始显示一系列功能选项n输入n,判断n是否是1~7 ?根据n的值调用各功能模块函数结束enter函数输入选择服务类型1输入要新建学生数量n(n<N)输入第一个,第二个.......第n个学生信息记录What do you want to do?1>.浏览所有 2.>..返回modify函数输入选择服务类型3输入要修改学生姓名,选择修改选项1>.姓名 5.>.所有数据2.>.电话3.>.QQ号4.>.宿舍号 6.>.取消返回是否确定修改?1.>.是2.>.不,重新修改3.>.保存并返回browse函数输入浏览服务号5浏览所有学生基本通讯信息返回主菜单delete函数输入服务选项4输入要删除学生的姓名是否删除1.>.是2.>.否,返回search函数选择服务类型6选择查找类别1.>.姓名2.>.QQ号查看已查找到地通讯信息1.>继续2.>.返回【程序使用方法】1. 执行程序,按照界面提示进行选择。
程序设计陈述书〔 2023 / 2023 学年第一学期〕题目:通讯录办理系统专业学生姓名班级学号指导教师指导单位日期通讯录办理系统一、课题内容和要求该课题要求设计一个简单、实用的通信录办理程序,主要功能包罗通信录数据的录入、查找、点窜、删除、排序、显示等。
所有通信录数据都要操纵文件系统保留,以备系统下次运行时使用。
通过此课题,全面熟悉、掌握C语言根本常识,掌握C程序设计中的挨次、分支、循环三种布局及数组、函数和C语言根本图形编程等方法,把编程和实际结合起来,熟练掌握文件、数组、指针的各种操作,以及一些根本算法思想的应用。
增强对不同的问题运用和灵活选择适宜的数据布局以及算法描述的本事,熟悉编制和调试程序的技巧,掌握阐发成果的假设干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和标准编程的思想,为以后在专业课程中应用计算机系统解决计算、阐发、尝试和设计等学习环节打下较扎实的根底。
二、需求阐发系统功能模块图:添加:可以添加通讯录记录,依次输入序号,姓名,简拼,性别,工作单元,地址,,,电子邮件,备注后,会提示是否继续添加。
查询:可以选择用序号、姓名、简拼、方式查询点窜:先查找,再点窜。
假设查找出多笔记录,则进一步提示用户选择记录的序号,再点窜删除:输入欲删除的阿谁人的名字后,删除他〔她〕的记录内容排序:可按姓名、简拼等排序。
要求排序后,记录的序号也要从头编排显示:可以以表格形式输出所有通讯录里的记录保留:,输入文件名〔带后缀名〕后,即可将通讯录信息保留到文件读入:从文件中读入通信录数据。
界面功能要求:(1)采用友好的字符界面,实现一个功能控制菜单。
(2)每次操作都从该菜单项选择择,操纵循环布局使得一次运行程序可进行屡次操作。
三、概要设计〔1〕主要布局体:typedef struct{char score; /*序号*/char name[10]; /*姓名*/char jianpin[50]; /*简拼*/char sex[3]; /*性别*/char company[20]; /*工作单元*/char adds[20]; /*地址*/char tel[15]; /* */char num[15]; /* */char email[20]; /*电子邮件*/char remark[30]; /*备注*/}Person;(2).工作流程图:1.添加:添加通讯录记录先选择查询方式,以姓名查询方式为例3.点窜:点窜通讯录记录4.删除:删除通讯录记录5.显示:显示通讯录记录四、源程序代码#include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h>typedef struct { char score; /*序号*/ char name[10]; /*姓名*/ char jianpin[50]; /*简拼*/ char sex[3]; /*性别*/ char company[20]; /*工作单元*/ char adds[20]; /*地址*/ char tel[15]; /* */ char num[15]; /* */char email[20]; /*电子邮件*/char remark[30]; /*备注*/ }Person;Person pe[80];int menu_select(){char c;do{system("cls");printf("\t\t *欢送使用通讯录* \n");printf("\t\t┌───────┐\n");printf("\t\t│1. 添加记录│\n");printf("\t\t│2. 显示记录│\n");printf("\t\t│3. 删除记录│\n");printf("\t\t│4. 查询记录│\n");printf("\t\t│5. 摆列挨次│\n");printf("\t\t│6. 点窜记录│\n");printf("\t\t│7. 保留记录│\n");printf("\t\t│8. 文件读入│\n");printf("\t\t│0. 退出程序│\n");printf("\t\t└───────┘\n");printf("\t\t请您选择(0-8):");c=getchar();}while(c<'0'||c>'8');return(c-'0');}int Input(Person per[],int n){int i=0;char sign,x[10];while(sign!='n'&&sign!='N'){printf("\t序号:");scanf("\t%d",&per[n+i].score);printf("\t姓名:");scanf("\t%s",per[n+i].name);printf("\t简拼:");scanf("\t%s",per[n+i].jianpin);printf("\t性别:");scanf("\t%s",per[n+i].sex);printf("\t工作单元:");scanf("\t%s",per[n+i] pany);printf("\t地址:");scanf("\t%s",per[n+i].adds);printf("\t :");scanf("\t%s",per[n+i].tel);printf("\t :");scanf("\t%s",per[n+i].num);printf("\t电子邮件:");scanf("\t%s",per[n+i].email);printf("\t备注:");scanf("\t%s",per[n+i].remark);gets(x);printf("\n\t是否继续添加(Y/N)");scanf("\t%c",&sign);i++;}return(n+i);}void Display(Person per[],int n){int i;printf("------------------------------------------------------------------------------------------------\n"); /*格式*/printf("序号姓名简拼性别工作单元地址电子邮件备注\n");printf("------------------------------------------------------------------------------------------------\n");for(i=1;i<n+1;i++){printf("%-3d%-10s%-10s%-5s%-10s%-10s%-13s%-13s%-10s%-10s\n",per[i-1].score,per[i-1 ].name,per[i-1].jianpin,per[i-1].sex,per[i-1]pany,per[i-1].adds,per[i-1].tel,per[i-1].num,per[i-1].email, per[i-1].remark);if(i>1&&i%10==0){printf("\t-----------------------------------\n");printf("\t");system("pause");printf("\t-----------------------------------\n");}}printf("----------------------------------------------------------------------\n");system("pause");}int Delete_a_record(Person per[],int n){char s[20];int i=0,j;printf("\t请输入想删除记录中的名字:");scanf("%s",s);while(strcmp(per[i].name,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return(n);}for(j=i;j<n-1;j++){strcpy(per[j].name,per[j+1].name);strcpy(per[j].jianpin,per[j+1].jianpin);strcpy(per[j].sex,per[j+1].sex);strcpy(per[j] pany,per[j+1] pany);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].num,per[j+1].num);strcpy(per[j].tel,per[j+1].tel);strcpy(per[j].email,per[j+1].email);strcpy(per[j].remark,per[j+1].remark);per[j].score=per[j+1].score;}printf("\t\t\t删除成功\n");return(n-1);}void Query_a_record(Person per[],int n){int m;printf("\t\n请选择查询方式:\n");printf("\t┌──────┐\n");printf("\t│1------姓名│\n");printf("\t│2------简拼│\n");printf("\t│3------ │\n");printf("\t│4------返回│\n");printf("\t└──────┘\n");printf("请选择:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){printf("输入错误,请从头选择:");scanf("%d",&m);}if(m==1){char s[20];int i=0;printf("\t请输入想查询的姓名:");scanf("\t%s",s);while(strcmp(per[i].name,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}printf("\t序号: %d\n",per[i].score);printf("\t简拼: %s\n",per[i].jianpin);printf("\t性别: %s\n",per[i].sex);printf("\t工作单元: %s\n",per[i] pany);printf("\t通讯地址: %s\n",per[i].adds);printf("\t 号码: %s\n",per[i].num);printf("\t电子邮箱: %s\n",per[i].email);printf("\t备注: %s\n",per[i].remark);} ;if(m==2){char s[20];int i=0;printf("\t请输入想查询的简拼:");scanf("\t%s",s);while(strcmp(per[i].jianpin,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}printf("\t序号: %d\n",per[i].score);printf("\t姓名: %s\n",per[i].name);printf("\t性别: %s\n",per[i].sex);printf("\t工作单元: %s\n",per[i] pany);printf("\t通讯地址: %s\n",per[i].adds);printf("\t 号码: %s\n",per[i].num);printf("\t电子邮箱: %s\n",per[i].email);printf("\t备注: %s\n",per[i].remark);} ;if(m==3){char s[20];int i=0;printf("\t请输入想查询的:");scanf("\t%s",s);while(strcmp(per[i].num,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}printf("\t序号: %d\n",per[i].score);printf("\t姓名: %s\n",per[i].name);printf("\t简拼: %s\n",per[i].jianpin);printf("\t性别: %s\n",per[i].sex);printf("\t工作单元: %s\n",per[i] pany);printf("\t通讯地址: %s\n",per[i].adds);printf("\t电子邮箱: %s\n",per[i].email);printf("\t备注: %s\n",per[i].remark);} ;}void SelectSort(Person per[],int n){int i,j,flag;Person temp; /*临时变量做交换数据用*/int m;printf("\t\n请选择排序方式:\n");printf("\t┌────────┐\n");printf("\t│1------姓名│\n");printf("\t│2------简拼│\n");printf("\t│3------ │\n");printf("\t│4------返回│\n");printf("\t└────────┘\n");printf("请选择:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){printf("输入错误,请从头选择:");scanf("%d",&m);}if(m==1){for(i=0;i<n;i++){flag=0; /*设标记判断是否发生过交换*/for(j=0;j<n-1;j++)if((strcmp(per[j].name,per[j+1].name))>0) /*比拟大小*/{flag=1;strcpy(,per[j].name); /*交换记录*/strcpy(temp. abbreviation,per[j].jianoin);strcpy(temp.sex,per[j].sex);strcpy(temp pany,per[j] pany);strcpy(temp.adds,per[j].adds);strcpy(temp.tel,per[j].tel);strcpy(temp.num,per[j].num);strcpy(temp.email,per[j].email);strcpy(temp.remarks,per[j].remark);strcpy(per[j].name,per[j+1].name);strcpy(per[j]. abbreviation,per[j+1]. jianpin);strcpy(per[j].sex,per[j+1].sex);strcpy(per[j] pany,per[j+1] pany);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].tel,per[j+1].tel);strcpy(per[j].num,per[j+1].num);strcpy(per[j].email,per[j+1].email);strcpy(per[j].remarks,per[j+1].remark);strcpy(per[j+1].name,);strcpy(per[j+1]. abbreviation,temp. jianpin);strcpy(per[j+1].sex,temp.sex);strcpy(per[j+1] pany,temp pany);strcpy(per[j+1].adds,temp.adds);strcpy(per[j+1].tel,temp.tel);strcpy(per[j+1].num,temp.num);strcpy(per[j+1].email,temp.email);strcpy(per[j+1].remarks,temp.remark);}if(flag==0)break; /*如果标记为0,说明没有发生过交换循环结束*/}}if(m==2){for(i=0;i<n;i++){flag=0; /*设标记判断是否发生过交换*/for(j=0;j<n-1;j++)if((strcmp(per[j]. jianpin,per[j+1]. jianpin))>0) /*比拟大小*/{flag=1;strcpy(,per[j].name); /*交换记录*/strcpy(temp. jianpin,per[j]. jianpin);strcpy(temp.sex,per[j].sex);strcpy(temp pany,per[j] pany);strcpy(temp.adds,per[j].adds);strcpy(temp.tel,per[j].tel);strcpy(temp.num,per[j].num);strcpy(temp.email,per[j].email);strcpy(temp.remarks,per[j].remark);strcpy(per[j].name,per[j+1].name);strcpy(per[j]. abbreviation,per[j+1].jianpin);strcpy(per[j].sex,per[j+1].sex);strcpy(per[j] pany,per[j+1] pany);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].tel,per[j+1].tel);strcpy(per[j].num,per[j+1].num);strcpy(per[j].email,per[j+1].email);strcpy(per[j].remarks,per[j+1].remark);strcpy(per[j+1].name,);strcpy(per[j+1]. abbreviation,temp. jianpin);strcpy(per[j+1].sex,temp.sex);strcpy(per[j+1].adds,temp.adds);strcpy(per[j+1].tel,temp.tel);strcpy(per[j+1].num,temp.num);strcpy(per[j+1].email,temp.email);strcpy(per[j+1].remarks,temp.remark);}if(flag==0)break; /*如果标记为0,说明没有发生过交换循环结束*/}}if(m==3){for(i=0;i<n;i++){flag=0; /*设标记判断是否发生过交换*/for(j=0;j<n-1;j++)if((strcmp(per[j].tel,per[j+1].tel))>0) /*比拟大小*/{flag=1;strcpy(,per[j].name); /*交换记录*/strcpy(temp. abbreviation,per[j]. jianpin);strcpy(temp.sex,per[j].sex);strcpy(temp pany,per[j] pany);strcpy(temp.adds,per[j].adds);strcpy(temp.tel,per[j].tel);strcpy(temp.num,per[j].num);strcpy(temp.email,per[j].email);strcpy(temp.remarks,per[j].remark);strcpy(per[j].name,per[j+1].name);strcpy(per[j]. abbreviation,per[j+1]. jianpin);strcpy(per[j].sex,per[j+1].sex);strcpy(per[j] pany,per[j+1] pany);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].tel,per[j+1].tel);strcpy(per[j].num,per[j+1].num);strcpy(per[j].email,per[j+1].email);strcpy(per[j].remarks,per[j+1].remark);strcpy(per[j+1].name,);strcpy(per[j+1]. abbreviation,temp. jianpin);strcpy(per[j+1].sex,temp.sex);strcpy(per[j+1].adds,temp.adds);strcpy(per[j+1].tel,temp.tel);strcpy(per[j+1].num,temp.num);strcpy(per[j+1].email,temp.email);strcpy(per[j+1].remarks,temp.remark);}if(flag==0)break; /*如果标记为0,说明没有发生过交换循环结束*/}}printf("排序成功\n"); /*显示排序成功*/}void Change(Person per[],int n){char s[20];int i=0;int m;printf("\t\n请选择点窜内容:\n");printf("\t┌──────┐\n");printf("\t│1------姓名│\n");printf("\t│2------简拼│\n");printf("\t│3------ │\n");printf("\t│4------返回│\n");printf("\t└──────┘\n");printf("请选择编号:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){printf("输入错误,请从头选择:");scanf("%d",&m);}int count = 0;if(m==1){int i=0;printf("\t请输入想点窜的记录中的姓名:");scanf("%s",s);printf("---------------------------------------------------------------------------------\n");/*格式*/printf("序号姓名简拼性别工作单元地址电子邮件备注\n");printf("---------------------------------------------------------------------------------\n");for (int t = 0; t < n; t++) {if (strcmp(per[t].name,s)==0) {count ++;printf("%-6d%-6s%-6s%-6s%-10s%-10s%-8s%-8s%-12s%-10s%\n",per[t].score,per[t].name ,per[t].jianpin,per[t].sex,per[t]pany,per[t].adds,per[t].tel,per[t].num,per[t].email,per[t].remark);}}printf("---------------------------------------------------------------------------------\n");if (count > 1){printf("查到多条数据,请输入序号:");m = 5;}else{while(strcmp(per[i].name,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}//printf("\t序号:");//scanf("\t%d",&per[i].score);printf("\t姓名:");scanf("\t%s",per[i].name);printf("\t简拼:");scanf("\t%s",per[i]. jianpin);printf("\t性别:");scanf("\t%s",per[i].sex);printf("\t工作单元:");scanf("\t%s",per[i] pany);printf("\t地址:");scanf("\t%s",per[i].adds);printf("\t :");scanf("\t%s",per[i].tel);printf("\t :");scanf("\t%s",per[i].num);printf("\t电子邮件:");scanf("\t%s",per[i].email);printf("\t备注:");scanf("\t%s",per[i].remark);printf("\t点窜成功!");}}if(m==2){int i=0;printf("\t请输入想点窜的记录中的姓名:");scanf("%s",s);printf("---------------------------------------------------------------------------------\n");/*格式*/printf("序号姓名简拼性别工作单元地址电子邮件备注\n");printf("---------------------------------------------------------------------------------\n");for (int t = 0; t < n; t++) {if (strcmp(per[t]. jianpin,s)==0) {count ++;printf("%-6d%-6s%-6s%-6s%-10s%-10s%-8s%-8s%-12s%-10s%\n",per[t].score,per[t].name ,per[t].jianpin,per[t].sex,per[t]pany,per[t].adds,per[t].tel,per[t].num,per[t].email,per[t].remark);}}printf("---------------------------------------------------------------------------------\n");if (count > 1) {printf("查到多条数据,请输入序号:");m = 5;} else {while(strcmp(per[i]. jianpin,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}//printf("\t序号:");//scanf("\t%d",&per[i].score);printf("\t姓名:");scanf("\t%s",per[i].name);printf("\t简拼:");scanf("\t%s",per[i]. jianpin);printf("\t性别:");scanf("\t%s",per[i].sex);printf("\t工作单元:");scanf("\t%s",per[i] pany);printf("\t地址:");scanf("\t%s",per[i].adds);printf("\t :");scanf("\t%s",per[i].tel);printf("\t :");scanf("\t%s",per[i].num);printf("\t电子邮件:");scanf("\t%s",per[i].email);printf("\t备注:");scanf("\t%s",per[i].remark);printf("\t点窜成功!");}}if(m==3){int i=0;printf("\t请输入想点窜的记录中的姓名:");scanf("%s",s);printf("---------------------------------------------------------------------------------\n");/*格式*/printf("序号姓名简拼性别工作单元地址电子邮件备注\n");printf("---------------------------------------------------------------------------------\n");for (int t = 0; t < n; t++) {if (strcmp(per[t].tel,s)==0) {count ++;printf("%-6d%-6s%-6s%-6s%-10s%-10s%-8s%-8s%-12s%-10s%\n",per[t].score,per[t].name ,per[t].jianpin,per[t].sex,per[t]pany,per[t].adds,per[t].tel,per[t].num,per[t].email,per[t].remark);}}printf("---------------------------------------------------------------------------------\n");if (count > 1) {printf("查到多条数据,请输入序号:");m = 5;} else {while(strcmp(per[i].tel,s)!=0&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}//printf("\t序号:");//scanf("\t%d",&per[i].score);printf("\t姓名:");scanf("\t%s",per[i].name);printf("\t简拼:");scanf("\t%s",per[i]. jianpin);printf("\t性别:");scanf("\t%s",per[i].sex);printf("\t工作单元:");scanf("\t%s",per[i] pany);printf("\t地址:");scanf("\t%s",per[i].adds);printf("\t :");scanf("\t%s",per[i].tel);printf("\t :");scanf("\t%s",per[i].num);printf("\t电子邮件:");scanf("\t%s",per[i].email);printf("\t备注:");scanf("\t%s",per[i].remark);printf("\t点窜成功!");}}if(m==5){int i=0;scanf("%s",s);while(per[i].score != atoi(s)&&i<n) i++;if(i==n){printf("\t通讯录中没有此人!\n");return;}//printf("\t序号:");//scanf("\t%d",&per[i].score);printf("\t姓名:");scanf("\t%s",per[i].name);printf("\t简拼:");scanf("\t%s",per[i]. jianpin);printf("\t性别:");scanf("\t%s",per[i].sex);printf("\t工作单元:");scanf("\t%s",per[i] pany);printf("\t地址:");scanf("\t%s",per[i].adds);printf("\t :");scanf("\t%s",per[i].tel);printf("\t :");scanf("\t%s",per[i].num);printf("\t电子邮件:");scanf("\t%s",per[i].email);printf("\t备注:");scanf("\t%s",per[i].remark);printf("\t点窜成功!");}}void WritetoText(Person per[],int n){int i=0;FILE *fp; /*定义文件指针*/ char filename[20]; /*定义文件名*/printf("\t保留到文件\n"); /*输入文件名*/printf("\t请输入所保留的文件名:");scanf("\t%s",filename);if((fp=fopen(filename,"w"))==NULL){printf("\t无法翻开文件\n");system("pause");return;}fprintf(fp,"******************************************通讯录******************************************\n");fprintf(fp,"序号姓名简拼性别工作单元地址电子邮件备注\n");fprintf(fp,"------------------------------------------------------------------------------------------\n");while(i<n){fprintf(fp,"%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\t%-20s\t%-20s\t%-20s\t%20s\n",per[i].s core,per[i].name, per[i-1].jianpin,per[i-1].sex,per[i-1] pany,per[i-1].adds,per[i-1].tel,per[i-1].num,per[i-1].email, per[i-1].remark);i++;}fprintf(fp,"------------------------------------------------------------------------------------------\n");fprintf(fp,"***************************************共有%d笔记录****************************************\n",n);fclose(fp); /*关闭文件*/printf("保留成功\n");}int Load(Person per[],int n){int i;FILE *fp; /*指向文件的指针*/if((fp=fopen("record.txt","rb"))==NULL)/*翻开文件*/{printf("无法翻开文件\n"); /*不克不及翻开*/exit(1); /*退出*/}fscanf(fp,"%d",&n); /*读入记录数*/for(i=0;i<n;i++)fscanf(fp,"%20s%30s%10s",per[i].name,per[i] pany,per[i].tel); /*按格式读入记录*/ fclose(fp); /*关闭文件*/printf("你已经成功地从文件中读取数据\n"); /*显示保留成功*/return n; /*返回记录数*/}void main() /*主函数*/{int n=0;for(;;){switch(menu_select()){case 1:printf("\n\t添加记录到通讯录\n"); /*添加记录*/n=Input(pe,n);break;case 2:printf("\n\t\t\t 通讯录记录表\n"); /*显示记录*/Display(pe,n);break;case 3:printf("\n\t从通讯录中删除记录\n");n=Delete_a_record(pe,n); /*删除记录*/printf("\t");system("pause");break;case 4:printf("\n\t在通讯录中查找记录\n");Query_a_record(pe,n); /*查找记录*/printf("\t");system("pause");break;case 5:printf("\n\t排序通讯录中的记录\n");SelectSort (pe,n); /*排序记录*/printf("\t");system("pause");break;case 6:printf("\n\t点窜通讯录中的记录\n");Change(pe,n); /*点窜数据*/printf("\t");system("pause");break;case 7:printf("\n\t保留通讯录功能\n");WritetoText(pe,n); /*保留数据*/printf("\t");system("pause");break;case 8:printf("\n\t读入通讯录记录\n");Load (pe,n); /*读入记录*/printf("\t");system("pause");break;case 0:printf("\n\t\t谢谢使用,再见!\n"); /*结束程序*/printf("\n\t\t");system("pause");exit(0);}}}五、测试数据及其成果阐发界面:添加:依次输入序号,姓名,简拼,性别,工作单元,地址,,,电子邮件,备注,提示是否继续添加。
学生通讯录管理系统需求分析一、背景随着教育信息化的发展,学生通讯录管理系统逐渐成为学校管理的重要工具。
通过该系统,学校能够更好地管理学生信息,方便地查找和更新学生通讯录,提高办公效率。
二、功能需求1. 学生信息管理•系统应能够录入学生的基本信息,包括姓名、学号、班级、联系方式等;•支持查看、编辑、删除学生信息;•能够按照学号或姓名等关键字查询学生信息。
2. 班级管理•可以创建、编辑、删除班级信息;•能够将学生分配到相应的班级中;•支持按照班级查看学生信息。
3. 通讯录管理•系统应能够生成学生通讯录并导出为Excel或PDF文件;•可以根据权限设定,控制通讯录访问权限。
三、性能需求1. 数据安全性•系统需要保证学生信息的安全性,防止信息泄露;•支持数据备份和恢复功能,以应对意外情况。
2. 平台兼容性•系统应能够在不同操作系统(Windows、MacOS、Linux)上运行;•支持常见的浏览器访问,如Chrome、Firefox等。
四、操作需求1. 用户界面友好•界面设计简洁明了,操作流畅;•提供操作指导,帮助用户快速上手使用系统。
2. 操作便捷•支持批量导入学生信息;•提供快速查找和筛选功能,提高信息查找效率。
五、扩展需求1. 通知功能•可以通过系统向学生发送通知消息;•支持设置通知提醒功能,提醒学生及时查收通知。
2. 数据统计分析•支持对学生信息进行统计分析,如按班级、性别等进行数据分析;•提供数据报表功能,方便学校管理层参考学生信息情况。
六、结论学生通讯录管理系统是学校管理工作中不可或缺的重要工具,通过需求分析可以明确系统实现的功能和性能需求,为后续系统设计和开发提供指导。
希望学生通讯录管理系统能够满足学校管理的实际需求,提高管理效率,为学生和教职员工提供便利。
简单的c语言程序设计班级通讯录管理系统【1】班级通讯录管理系统是一种常见且实用的应用,可以用来方便地管理班级成员的联系信息。
本文将从简单的C语言程序设计的角度来介绍班级通讯录管理系统的设计与实现。
【2】在设计班级通讯录管理系统之前,我们首先需要确定系统的基本功能。
通常而言,一个班级通讯录管理系统应包含以下几个功能模块:添加成员信息、显示通讯录、查找成员、修改成员信息和删除成员。
这些功能模块将构成我们程序的主要结构。
【3】为了实现班级通讯录管理系统,我们首先需要定义一个结构体来表示每个成员的信息。
可以使用C语言的结构体来存储每个成员的尊称、学号、性别、通信等信息。
通过使用结构体,我们可以方便地将这些信息组织在一起,并进行对应的操作。
【4】在程序中,我们可以使用数组来存储多个成员的信息。
可以定义一个指定大小的成员数组来存放所有的班级成员信息。
通过数组的索引,我们可以访问和修改特定位置的成员信息,实现各种操作。
【5】在添加成员信息的功能模块中,我们可以通过用户输入来获取新成员的信息,并将其添加到通讯录中。
可以使用循环结构来连续添加多个成员的信息,直到用户选择退出为止。
【6】显示通讯录的功能模块可以遍历整个成员数组,并将每个成员的信息逐一打印出来。
通过这个功能,可以让用户随时查看通讯录中的成员信息。
【7】查找成员的功能模块可以根据用户输入的关键字,在通讯录中查找与之匹配的成员信息,并将结果打印出来。
这个功能可以提供便捷的查询服务,帮助用户快速找到所需的成员信息。
【8】修改成员信息的功能模块可以让用户选择要修改的成员,并提供修改对应信息的选项。
用户可以输入新的信息,然后更新通讯录中的成员数据。
【9】删除成员的功能模块可以让用户选择要删除的成员,并将其从通讯录中删除。
通过这个功能,可以帮助用户及时更新通讯录,删除不再需要的成员信息。
【10】在实现以上功能模块的基础上,我们可以进一步改进班级通讯录管理系统。
可以添加密码保护功能,限制只有授权用户才能进行修改和删除操作。
学生通讯录管理系统问题描述学生通讯录管理系统是一种用于学生信息管理和联系方式管理的软件系统。
这个系统的目标是方便学校、老师和家长之间的沟通,以及提供快速和准确的学生信息查询功能。
然而,目前存在一些问题需要解决。
首先,在系统功能方面,由于学生通讯录管理系统涉及到大量信息的收集和维护,系统可能存在数据冗余和重复录入的问题。
如果不进行数据清理和去重的操作,将会导致数据库空间浪费和造成数据不一致的情况出现。
因此,需要解决如何进行高效的数据清理和去重的问题。
其次,对于信息的安全性而言,学生通讯录管理系统需要保护学生的个人隐私。
当前的问题是,系统可能存在安全漏洞,使得未经授权的人员能够访问和修改学生的个人信息。
这样的情况一旦发生,将会严重影响学生的安全和隐私。
因此,必须加强系统的安全性,包括访问控制、密码策略和数据加密等方面的设计和实现。
第三,学生通讯录管理系统需要提供灵活的搜索和筛选功能,以便用户能够快速找到需要的信息。
然而,当前系统的搜索和筛选功能可能不够强大和灵活,限制了用户查询和使用的便捷性。
因此,需要改进搜索和筛选功能,使其更加智能化和高效。
此外,学生通讯录管理系统还应该提供多种途径和方式,方便用户进行信息的更新和修改。
目前系统可能仅支持通过网页端的方式进行信息修改,限制了用户的便捷性和灵活性。
可以考虑添加移动端和桌面端的应用程序来扩展用户的使用场景,并提供更多便利的功能。
在用户体验方面,学生通讯录管理系统可能存在界面设计复杂、操作流程繁琐等问题。
这些问题可能导致用户在使用系统时感到困惑和不便,从而降低了用户的满意度。
因此,需要对系统的用户界面进行优化,以提升用户体验和操作的简洁性。
总之,学生通讯录管理系统在功能、安全性、搜索和筛选功能、信息更新与修改方式、用户体验等方面都存在一些问题。
解决这些问题需要对系统进行改进和优化,以提供更好的用户体验和功能使用。
只有满足用户的需求和期望,才能更好地为学校、老师和家长之间的沟通提供支持,并提高信息管理的效率和准确性。
天津职业技术师范大学Tianjin University of Technology and Education 《软件工程》课程设计班级通讯录管理系统学院:信息技术工程学院专业:计算机科学技术班级学号: 1113—24学生姓名:邵俊铭指导教师:王宏杰二〇一五年七月摘要:通讯录管理系统是用于辅助个人完成其通讯信息有序管理的学生通讯录系统,系统实施的目的旨在帮助用户完成其私人通讯信息管理的数字化,以提供较手工方式下更高的效率和更低的出错率。
作为整个办公自动化系统的一部分,通讯录管理系统要实现的目标是:将用户目前在处理通讯录管理工作时所采用的手工处理方式进行计算机化,从而与整个办公自动化系统的数字化趋势相协调,以求为用户提供更为专业和高效的个人管理服务。
可行性分析可行性研究的目的使用最小的代价在尽可能短的时间里确定问题是否能解决,通过复杂系统的规模与目标,研究与此类似的系统后,我们具体从下面两个方面考虑。
(1)技术上的可行性。
由于对通讯录管理系统这一类的联系记录管理系统进行开发已有一定的时期,有很多成功的实例,技术基础也已经非常雄厚,因而技术上的准备应该不成问题。
(2)经济上的可行性。
由于通讯录管理系统是一个比较小型的系统,是由我一个人进行开发的,所以从人力、物力、财力方面来说都是可行的。
(3)操作可行性。
这个当然难不倒我们,因为我们有专业的管理员,可行性研究进一步探讨问题定义阶段的问题是否有可行的解。
在对问题正确定义的基础上,通过分析问题,导出试探性的解,然后复查并修正问题定义,再次分析问题,改进提出的问题,以便最后保证系统的正常运行需求分析1.市场需求分析过去人们他人信息的管理主要是通过随记,名片等方式。
这些方式在查找的时候相当浪费时间,效率十分低下。
现在通过通讯录管理系统对他人信息就行管理,不仅节约时间,同时检索迅速、查找方便、可靠性高、存储量大、保密性好。
这样极大的提高了通讯录管理的效率。
2系统功能性需求分析2.1 功能划分本系统的目标使用人群是广大的电脑用户,将有助于改善通讯录管理,对通讯录进行系统化的管理,方便人们互相联系。
班级通信录管理系统1 需求说明1.1实验要求1.1.1建立通讯录,添加一个同学的通信记录,删除一个同学的通信记录,修改一个同学的通信记录,查询一个同学的通信记录,显示所有同学的通信记录,能根据姓名或宿舍号进行排序。
1.1.2通信记录包括学号、姓名、电话号码、宿舍号等信息,所有信息最终用文件保存。
1.2功能简述1.2.1 建立通信录运行程序后,程序自动建立固有的通讯录。
1.2.2添加通信记录进入“添加"界面,根据提示,依次添加同学的通信记录条目。
添加成功,后显示操作成功信息。
1.2.3删除通信记录进入“删除"界面,依据姓名删除信息。
输入姓名后,显示该同学的所有信息,并显示操作成功。
删除后,返回主菜单。
1.2.4查询通信记录进入“查询"界面,询问用户按姓名或学号查找学生记录。
待用户正确输入已存有的用户姓名或学号后,按回车键后显示所有匹配该信息的学生记录。
若输入信息错误或是无该用户没记录,则显示操作错误。
1.2.5显示所有通信记录进入“显示"界面,将通讯录中所有同学的通讯记录分行显示出来,每行中同学的不同信息间隔表示。
1.2.6根据姓名进行排序排序时,显示排序子菜单,按照姓名中字母的升序对记录进行排序。
1.2.7保存通讯记录将填写好的同学通讯记录写入到固定文件中。
1.2.8退出班级通信录管理系统选择该功能选项后,退出班级通信录管理系统,关闭文件,返回DOS 。
2设计说明2.1 程序流程图设计Select Insert Modify Delete Write Show EscBack入口主界面 选择功能查询界面添加界面修改界面删除界面写入文件显示所有记录退出系统结束2.2各功能之间的关系2.2.1用户输入信息在选择Insert选项后,进入adder子程序,需要用户依次输入姓名、学号、宿舍号、电话号码,输入信息分别存入manelist、studlist、dormlist、telelist数组中。
课程设计报告课程名称 _____Java程序设计(课程设计)_____ 设计题目 _______班级通讯录管理系统_____专业 ______计算机科学与技术_________ 班级 ______________ 学号 ________ ________________姓名 ________ ___________________完成日期 _______ 2019.6.29 ________________课程设计任务书设计题目:班级通讯录管理系统____设计内容与要求:编程实现对班级中全体同学的通讯录的管理,主要实现对全班同学通讯录的录入、查询、变更等功能。
(1)完成类的合理抽象和设计,必须具有良好的人机交互功能。
(2)采用Java语言开发,源代码必须添加必要注释,类、方法和变量命名规范,具有可读性。
(3)设计完成后,需要写成一份课程设计报告(打印出来),表达课程设计所做工作。
(4)结果形式:程序及数据库压缩文件包一个,课程设计报告一份。
指导教师:2019年 6月 24 日课程设计评语成绩:指导教师:_______________2019年 6月 30 日目录第 1 章概述 (2)1.1选题目的 (2)1.2开发环境 (2)1.3 设计问题 (2)第 2 章系统总体设计 (3)2.1系统总体结构设计 (3)2.2系统包设计 (3)第 3 章系统详细设计 (4)3.1 主要界面设计 (4)3.1.1整体设计 (4)3.1.2 系统主界面设计 (4)3.2 数据流模块算法设计 (5)3.2.1将文件的内容写入数组 (5)3.2.2将数组内容写入文件 (6)3.3 增加模块算法设计 (7)3.3.1 流程图 (7)3.3.2 界面实现 (7)3.3.3 代码部分 (8)3.4删除模块算法设计 (9)3.4.1流程图 (9)3.4.2界面实现 (10)3.4.3代码部分 (10)3.5修改模块设计 (11)3.5.1流程图 (11)3.5.2界面设计 (11)3.5.3代码部分 (12)3.6查询模块 (13)3.6.1流程图 (13)3.6.2界面设计 (13)3.6.3代码部分 (14)第 4 章总结 (15)参考文献 (16)第 1 章概述1.1选题目的通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握 JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确 JAVA 在实际程序设计中的应用。
简单的c语言程序设计班级通讯录管理系统一、引言班级通讯录管理系统是一款基于C语言的简单程序,旨在帮助班级管理者更好地管理班级通讯录信息。
本文将从需求分析、系统设计、代码实现等方面详细介绍该系统。
二、需求分析1. 功能需求(1)添加联系人:可以添加新的联系人信息,包括姓名、性别、电话号码等。
(2)删除联系人:可以删除已有的联系人信息。
(3)修改联系人:可以修改已有的联系人信息,包括姓名、性别、电话号码等。
(4)查询联系人:可以根据姓名或电话号码查询已有的联系人信息。
(5)显示所有联系人:可以查看当前所有已有的联系人信息。
2. 性能需求(1)稳定性:程序应该具有较高的稳定性,不会因为输入错误或其他异常情况导致崩溃。
(2)响应速度:程序应该具有较快的响应速度,不会因为数据量过大或其他原因导致卡顿或延迟。
3. 可靠性需求(1)数据安全:程序应该具有较高的数据安全性,保证用户输入的数据不会被损坏或丢失。
(2)用户友好性:程序应该具有较好的用户友好性,使用户能够轻松使用。
三、系统设计1. 总体设计(1)系统结构:本系统采用单层结构,包含若干个函数模块。
(2)数据结构:本系统采用链表数据结构,将每个联系人信息存储在一个节点中,并通过指针将各个节点连接起来。
(3)界面设计:本系统采用命令行界面,用户可以通过输入不同的命令实现不同的功能。
2. 模块设计(1)添加联系人模块:该模块用于添加新的联系人信息,包括姓名、性别、电话号码等。
用户需要输入相应的信息后,程序将新建一个节点并将其插入到链表中。
(2)删除联系人模块:该模块用于删除已有的联系人信息。
用户需要输入要删除的联系人姓名或电话号码后,程序将在链表中查找相应节点并将其删除。
(3)修改联系人模块:该模块用于修改已有的联系人信息。
用户需要输入要修改的联系人姓名或电话号码后,程序将在链表中查找相应节点并允许用户修改其中的信息。
(4)查询联系人模块:该模块用于根据姓名或电话号码查询已有的联系人信息。
一、问题及功能分析需求分析功能需求:1、提供身份验证:能否使用该系统。
2、提供用户注册及修改密码功能。
3、提供对同学通讯信息的增加、删除、修改和查询功能。
4、查询功能要求:能实现根据学号、姓名的精确查询,也能对地区的模糊查询,比如:查询“广州市天河区”,能列出所有家在广州市天河区的同学信息。
性能需求:1、操作界面美观、友好。
2、通讯录采用MySQL数据库再用JDBC连接。
系统功能结构经过需求分析,此班级通讯录主要包括用户的注册登录模块和对联系人的信息管理模块,系统结构如图目录结构该软件主要的实体有用户、联系人和照片,下面介绍各实体的E-R图,通过E-R图来了解实体属性,这里主要介绍联系人和联系人照片的E-R图。
数据库表的设计本软件共建了三张表:用户表、联系人表和照片表。
用户表二、概要设计1、构建开发环境开发此通讯录所用到的软件环境●JDK 1.7版本●MySQL 5.5●Navicat Premium 数据库可视化工具●Myeclipse开发工具2、图形用户界面构成●登录模块用户名、密码两个JLabel ,登录、注册、修改密码按钮JButton ,输入用户名、密码的文本框。
如图●联系人信息管理模块界面上部分是实现查询功能的组件,中间部分是信息显示组件,下面部分是查询返回的JTable列表。
如图三、详细设计1、登录界面的搭建login.java运用了PS设计一些icon以及页面布局方法,实现了登录界面的美化。
(详细代码请看工程文件夹下文件login.java)3、登录窗口功能的实现login.java、DButil.java提供了登录校验方法,包括账号密码合法性、修改密码、注册等。
(详细代码请看工程文件夹下文件login.java、 DButil.java)4、主窗体的搭建及功能MainFrame.java窗体界面布局,各个事件的监听以及实现。
如:查询操作。
(详细代码请看工程文件夹下文件MainFrame.java)5、登录窗体及联系人信息管理窗体所用到的数据库操作方法DButil.java定义各种数据库操作方法。
《C#应用程序设计》实训报告系部:信息工程系班级: 12软件班:沪指导教师:春友实训时间: 2013年春季学期班级通讯录管理系统实训报告一、实训主题班级通讯录系统的开发和运用二、实训时间:2013年6月1日~2013年6月27日三、实训目的教会学生利用Visul status 2005开发平台开发出班级通讯录系统,并利用.net Framework组件实际与数据库的连接,建立班级通讯录的显示,查询,添加,修改,删除四个功能块窗体,以及登录界面和主界面两个辅助窗体.最终实现班级通讯录系统增,删,改,查四项基本功能.四、实训容与要求:“班级通讯录管理系统”是以班级学生的个人信息为主的管理系统,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。
运用结构化开发方法,分析并开发一个小型、简单的“班级通讯录管理系统”。
功能:设计一个班级通讯录管理系统,班级通讯录数据信息构成容可自行设计(如班级、学号、、性别、年龄、、邮政编码、等)。
要现显示、查找、添加、删除、修改某个记录等功能。
五、实训中的重要知识和方法概述: 提供诸如SQL Server 和XML这样的数据源以及通过OLE DB和ODBC公开的数据源的一致访问。
包含于用于连接到数据库,执行命令和检索结果的.NET Framework 数据提供程序。
这些结果或者被直接处理,放在 DataSet对象中以便用特别的方式向用户开放,并与来自多个源的数据组合:或者在层之间传递。
DataSet对象也可以独立于.NET Framework数据提供程序,用于管理应用程序本地的数据或源自XML的数据。
用于访问和操作数据的两个主要组件是:.NET Framework数据提供程序和DataSet。
.NET Framework数据提供程序用于连接到数据库,执行命令和检索结果。
DataSet可以用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据。
学生通讯录管理系统数据结构课程设计在咱们的校园生活中,学生通讯录管理系统可真是个好东西。
想象一下,一个个同学的联系方式,电话、微信、QQ统统都在上面,简直像是把大家的生活都放在了一个小本本里。
要是没有这个系统,咱们联系同学可就麻烦了,想找人得一一翻记录,真是浪费时间,像是在玩“捉迷藏”一样。
想想看,早上起来,脑袋还没转过来,就要想起谁的电话,那可真是要抓狂。
这通讯录系统呀,它的结构可是讲究得很。
你可以想象成一个大大的树,上面挂着无数个小果子,每个果子里都有一个同学的信息。
这样一来,想找谁直接往上找就行,方便得很。
数据一旦存进去,就像是钉钉子一样,稳稳当当。
系统能记录的信息可多了,名字、班级、联系方式,简直是多到数不清。
遇到小组作业的时候,想找谁都能立马拿到联系方式,真是省了不少力气。
然后,这通讯录还可以做分类,嘿嘿,按班级、年级来分,真是神了。
就像大家去市场买东西,东西太多了,分类之后,找起来可就容易多了。
这样一来,谁说学生没有组织能力呢?其实这通讯录系统就是个小小的组织者,帮我们把大家的联系信息都理得清清爽爽,真是贴心。
想想咱们一起复习的时候,找不到同学的电话,心里那个急呀,简直就像在大海捞针。
再说说这系统的安全性,虽然大家都是好同学,但隐私问题还是得重视。
系统里有些敏感信息,咱们可不能随便让别人看见。
这样,咱们的通讯录就像一个保险箱,钥匙就掌握在自己手里,安全又放心。
每次登录系统,得输入密码,那种感觉就像在保卫自己的小秘密,真是妙不可言。
这系统也需要维护,不能一味地依赖。
想想之前那些旧的纸质通讯录,翻来翻去,容易撕掉,弄得稀巴烂。
现在好了,系统里随时随地都能修改、更新,一点都不麻烦。
新同学加入、老同学转学,随时可以调整。
想想以前写信联系,那可得等好几天,生怕信丢了,心里急得像热锅上的蚂蚁。
哎,提到信,我倒是想起那些年我们的通讯录。
每天在学校里传来传去,感觉像是一种“情书”,只不过写的全是联系信息,哈哈。