欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    学生手机通信录管理系统.docx

    • 资源ID:2083704       资源大小:215.24KB        全文页数:32页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生手机通信录管理系统.docx

    程序设计报告书( 2012 / 2013 学年 第 一 学期)题 目:通讯录管理系统专 业 学 生 姓 名 班 级 学 号 指 导 教 师 指 导 单 位 日 期 评 分 细 则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简 短 评 语教师签名: 年 月 日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格通讯录管理系统一、 课题内容和要求该课题要求设计一个简单、实用的通信录管理程序,主要功能包括通信录数据的录入、查找、修改、删除、排序、显示等。所有通信录数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,熟练掌握文件、数组、指针的各种操作,以及一些基本算法思想的应用。增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。二、 需求分析系统功能模块图:流程图查询修改删除排序显示添加保存读入退出添加:可以添加通讯录记录,依次输入序号,姓名,简拼,性别,工作单位,地址,电话,手机,电子邮件,备注后,会提示是否继续添加。查询:可以选择用序号、姓名、简拼、电话方式查询修改:先查找,再修改。若查找出多条记录,则进一步提示用户选择记录的序号,再修改删除:输入欲删除的那个人的名字后,删除他(她)的记录内容排序:可按姓名、简拼等排序。要求排序后,记录的序号也要重新编排显示:可以以表格形式输出所有通讯录里的记录保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件读入:从文件中读入通信录数据。界面功能要求:(1)采用友好的字符界面,实现一个功能控制菜单。(2)每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。三、概要设计 (1)主要结构体:typedef struct char score; /*序号*/ char name10; /*姓名*/ char jianpin50; /*简拼*/ char sex3; /*性别*/ char company20; /*工作单位*/ char adds20; /*地址*/ char tel15; /*电话*/ char num15; /*手机*/ char email20; /*电子邮件*/ char remark30; /*备注*/Person;(2).工作流程图:1添加:添加通讯录记录N开始i=0sign!='n'&&sign!='N输入Return(n+i)结束Y2查询:查询通讯录记录先选择查询方式,以姓名查询方式为例N开始输入简拼通讯录是否有此简拼通讯录无此人显示信息结束Y输入电话输入姓名N通讯录是否有此电话通讯录是否有此姓名通讯录无此人通讯录无此人显示信息显示信息结束结束YYN3修改:修改通讯录记录开始输入姓名通讯录是否有此姓名通讯录无此人修改信息结束YN4删除:删除通讯录记录开始输入姓名通讯录是否有此姓名通讯录无此人删除信息结束YN5显示:显示通讯录记录开始int i,i=1i<n+1输出一个记录i+结束YN四、源程序代码 #include<stdio.h> #include<stdlib.h>#include<string.h> #include<ctype.h>typedef struct char score; /*序号*/ char name10; /*姓名*/ char jianpin50; /*简拼*/ char sex3; /*性别*/ char company20; /*工作单位*/ char adds20; /*地址*/ char tel15; /*电话*/ char num15; /*手机*/ char email20; /*电子邮件*/ char remark30; /*备注*/Person; Person pe80; int menu_select() char c; do system("cls"); printf("tt *欢迎使用通讯录* n"); printf("ttn"); printf("tt 1. 添加记录 n"); printf("tt 2. 显示记录 n"); printf("tt 3. 删除记录 n"); printf("tt 4. 查询记录 n"); printf("tt 5. 排列顺序 n");printf("tt 6. 修改记录 n"); printf("tt 7. 保存记录 n"); printf("tt 8. 文件读入 n");printf("tt 0. 退出程序 n"); printf("ttn"); printf("tt请您选择(0-8):"); c=getchar(); while(c<'0'|c>'8'); return(c-'0'); int Input(Person per,int n) int i=0; char sign,x10; while(sign!='n'&&sign!='N') printf("t序号:"); scanf("t%d",&pern+i.score); printf("t姓名:"); scanf("t%s",pern+i.name); printf("t简拼:"); scanf("t%s",pern+i.jianpin);printf("t性别:"); scanf("t%s",pern+i.sex); printf("t工作单位:"); scanf("t%s",pern+i.company);printf("t地址:"); scanf("t%s",pern+i.adds); printf("t电话:"); scanf("t%s",pern+i.tel); printf("t手机:"); scanf("t%s",pern+i.num);printf("t电子邮件:");scanf("t%s",pern+i.email); printf("t备注:"); scanf("t%s",pern+i.remark);gets(x); printf("nt是否继续添加?(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%-10sn",peri-1.score,peri-1.name,peri-1.jianpin,peri-1.sex,peri-1.company,peri-1.adds,peri-1.tel,peri-1.num,peri-1.email, peri-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 s20; int i=0,j; printf("t请输入想删除记录中的名字:"); scanf("%s",s); while(strcmp(peri.name,s)!=0&&i<n) i+; if(i=n) printf("t通讯录中没有此人!n"); return(n); for(j=i;j<n-1;j+) strcpy(perj.name,perj+1.name); strcpy(perj.jianpin,perj+1.jianpin);strcpy(perj.sex,perj+1.sex);strcpy(perj.company,perj+1.company); strcpy(perj.adds,perj+1.adds); strcpy(perj.num,perj+1.num); strcpy(perj.tel,perj+1.tel);strcpy(perj.email,perj+1.email); strcpy(perj.remark,perj+1.remark);perj.score=perj+1.score; printf("ttt删除成功n"); return(n-1); void Query_a_record(Person per,int n) int m;printf("tn请选择查询方式:n"); printf("tn"); printf("t1-姓名 n"); printf("t2-简拼 n"); printf("t3-电话 n"); printf("t4-返回 n"); printf("tn"); printf("请选择:"); scanf("%d",&m); while(m!=1&&m!=2&&m!=3&&m!=4) printf("输入错误,请重新选择:");scanf("%d",&m); if(m=1)char s20; int i=0; printf("t请输入想查询的姓名:"); scanf("t%s",s); while(strcmp(peri.name,s)!=0&&i<n) i+; if(i=n) printf("t通讯录中没有此人!n"); return; printf("t序号: %dn",peri.score);printf("t简拼: %sn",peri.jianpin); printf("t性别: %sn",peri.sex);printf("t工作单位: %sn",peri.company); printf("t通讯地址: %sn",peri.adds);printf("t电话号码: %sn",peri.num); printf("t电子邮箱: %sn",peri.email);printf("t备注: %sn",peri.remark); ;if(m=2)char s20; int i=0; printf("t请输入想查询的简拼:"); scanf("t%s",s); while(strcmp(peri.jianpin,s)!=0&&i<n) i+; if(i=n) printf("t通讯录中没有此人!n"); return; printf("t序号: %dn",peri.score);printf("t姓名: %sn",peri.name); printf("t性别: %sn",peri.sex);printf("t工作单位: %sn",peri.company); printf("t通讯地址: %sn",peri.adds);printf("t电话号码: %sn",peri.num); printf("t电子邮箱: %sn",peri.email);printf("t备注: %sn",peri.remark); ; if(m=3)char s20; int i=0; printf("t请输入想查询的电话:"); scanf("t%s",s); while(strcmp(peri.num,s)!=0&&i<n) i+; if(i=n) printf("t通讯录中没有此人!n"); return; printf("t序号: %dn",peri.score); printf("t姓名: %sn",peri.name);printf("t简拼: %sn",peri.jianpin); printf("t性别: %sn",peri.sex);printf("t工作单位: %sn",peri.company); printf("t通讯地址: %sn",peri.adds);printf("t电子邮箱: %sn",peri.email);printf("t备注: %sn",peri.remark); ;void SelectSort(Person per,int n) int i,j,flag; Person temp; /*临时变量做交换数据用*/ int m;printf("tn请选择排序方式:n"); printf("tn"); printf("t 1-姓名 n"); printf("t 2-简拼 n"); printf("t 3-电话 n"); printf("t 4-返回 n"); printf("tn"); 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(perj.name,perj+1.name)>0) /*比较大小*/ flag=1; strcpy(temp.name,perj.name); /*交换记录*/ strcpy(temp. abbreviation,perj.jianoin); strcpy(temp.sex,perj.sex); strcpy(pany,perj.company); strcpy(temp.adds,perj.adds); strcpy(temp.tel,perj.tel); strcpy(temp.num,perj.num); strcpy(temp.email,perj.email); strcpy(temp.remarks,perj.remark); strcpy(perj.name,perj+1.name); strcpy(perj. abbreviation,perj+1. jianpin); strcpy(perj.sex,perj+1.sex); strcpy(perj.company,perj+1.company); strcpy(perj.adds,perj+1.adds); strcpy(perj.tel,perj+1.tel); strcpy(perj.num,perj+1.num); strcpy(perj.email,perj+1.email); strcpy(perj.remarks,perj+1.remark); strcpy(perj+1.name,temp.name); strcpy(perj+1. abbreviation,temp. jianpin); strcpy(perj+1.sex,temp.sex); strcpy(perj+1.company,pany); strcpy(perj+1.adds,temp.adds); strcpy(perj+1.tel,temp.tel); strcpy(perj+1.num,temp.num); strcpy(perj+1.email,temp.email); strcpy(perj+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(perj. jianpin,perj+1. jianpin)>0) /*比较大小*/ flag=1; strcpy(temp.name,perj.name); /*交换记录*/ strcpy(temp. jianpin,perj. jianpin); strcpy(temp.sex,perj.sex); strcpy(pany,perj.company); strcpy(temp.adds,perj.adds); strcpy(temp.tel,perj.tel); strcpy(temp.num,perj.num); strcpy(temp.email,perj.email); strcpy(temp.remarks,perj.remark); strcpy(perj.name,perj+1.name); strcpy(perj. abbreviation,perj+1.jianpin); strcpy(perj.sex,perj+1.sex); strcpy(perj.company,perj+1.company); strcpy(perj.adds,perj+1.adds); strcpy(perj.tel,perj+1.tel); strcpy(perj.num,perj+1.num); strcpy(perj.email,perj+1.email); strcpy(perj.remarks,perj+1.remark); strcpy(perj+1.name,temp.name); strcpy(perj+1. abbreviation,temp. jianpin); strcpy(perj+1.sex,temp.sex); strcpy(perj+1.company,pany); strcpy(perj+1.adds,temp.adds); strcpy(perj+1.tel,temp.tel); strcpy(perj+1.num,temp.num); strcpy(perj+1.email,temp.email); strcpy(perj+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(perj.tel,perj+1.tel)>0) /*比较大小*/ flag=1; strcpy(temp.name,perj.name); /*交换记录*/ strcpy(temp. abbreviation,perj. jianpin); strcpy(temp.sex,perj.sex); strcpy(pany,perj.company); strcpy(temp.adds,perj.adds); strcpy(temp.tel,perj.tel); strcpy(temp.num,perj.num); strcpy(temp.email,perj.email); strcpy(temp.remarks,perj.remark); strcpy(perj.name,perj+1.name); strcpy(perj. abbreviation,perj+1. jianpin); strcpy(perj.sex,perj+1.sex); strcpy(perj.company,perj+1.company); strcpy(perj.adds,perj+1.adds); strcpy(perj.tel,perj+1.tel); strcpy(perj.num,perj+1.num); strcpy(perj.email,perj+1.email); strcpy(perj.remarks,perj+1.remark); strcpy(perj+1.name,temp.name); strcpy(perj+1. abbreviation,temp. jianpin); strcpy(perj+1.sex,temp.sex); strcpy(perj+1.company,pany); strcpy(perj+1.adds,temp.adds); strcpy(perj+1.tel,temp.tel); strcpy(perj+1.num,temp.num); strcpy(perj+1.email,temp.email); strcpy(perj+1.remarks,temp.remark); if(flag=0)break; /*如果标志为0,说明没有发生过交换循环结束*/ printf("排序成功n"); /*显示排序成功*/void Change(Person per,int n) char s20; int i=0; int m; printf("tn请选择修改内容:n"); printf("tn"); printf("t1-姓名 n"); printf("t2-简拼 n"); printf("t3-电话 n"); printf("t4-返回 n"); printf("tn"); 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(pert.name,s)=0) count +;printf("%-6d%-6s%-6s%-6s%-10s%-10s%-8s%-8s%-12s%-10s%n",pert.score,pert.name,pert.jianpin,pert.sex,pert.company,pert.adds,pert.tel,pert.num,pert.email,pert.remark); printf("-n");if (count > 1) printf("查到多条数据,请输入序号:");m = 5; else while(strcmp(peri.name,s)!=0&&i<n) i+; if(i=n) printf("t通讯录中没有此人!n"); return; /printf("t序号:"); /scanf("t%d",&peri.score); printf("t姓名:"); scanf("t%s",peri.name); printf("t简拼:"); scanf("t%s",peri. jianpin);printf("t性别:"); scanf("t%s",peri.sex); printf("t工作单位:"); scanf("t%s",peri.company);printf("t地址:");scanf("t%s",peri.adds);printf("t电话:"); scanf("t%s",peri.tel); printf("t手机:"); scanf("t%s",peri.num); printf("t电子邮件:");

    注意事项

    本文(学生手机通信录管理系统.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开