




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、山东交通学院课程设计报告实习名称: 通讯录设计 教学院部: 山东 专业班级: 学生姓名: 学生学号: 指导教师: 完成时间: 2011 年09月09日 报告成绩: 评阅意见: 评阅教师 日期 通讯录管理系统一、 设计需求设计课题及要求1、 建立通讯录系统,包含编号、姓名、年龄、号码、地址、电子邮箱等2、 能够实现添加、删除和修改通讯录信息的功能3、 能偶实现按不同方式查询的功能;如按姓名或年龄、电话等查询4、 能够将通讯录保存在文件中系统功能1、 添加:添加通讯录记录2、显示:显示通讯录记录3、删除:删除通讯录记录4、查询:查询通讯录记录5、修改:修改通讯录记录6、保存:将信息保存到文件二、
2、总体设计及分析1、添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、2、电子邮箱后,会提示是否继续添加。3、显示:可以以表格形式输出所有通讯录里的记录4、删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容5、查询:可以选择用姓名、电话、地址三种方式查询6、修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、7、通讯地址、电子邮箱即可完成修改8、保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件主菜单添加显示修改删除查询保存三、 具体设计工作流程图1、添加通讯录 2、显示通讯录开始i=0sign!=n&sign!=n输入信息retu
3、rn(n+1)结束开始int i;i=1in=1输出一个记录i+结束 y y n n 3、删除通讯记录 4、查询通讯记录(查询姓名)开始判断通讯录是否有此人删除该项记录结束输入删除的姓名显示“通讯录没有此人”开始判断通讯录是否有此人显示该人记录结束输入查询的姓名显示“通讯录没有此人” n y n y5、修改通讯记录开始判断通讯录是否有此人输入修改内容结束输入修改的姓名显示“通讯录没有此人” n y 四、 源程序代码#include #include#include typedef struct char score; char name10; char num15; char email20;
4、char age8;char adds20;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 0. 退出程序 n); printf(ttn); printf(tt请您选择(0-6
5、):); c=getchar(); while(c6); 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+); printf(t年龄:); scanf(t%s,pern+i.age);printf(t电话号码:); scanf(t%s,pern+i.num); printf(t通讯住址:); scanf(t%s,pern
6、+i.adds);printf(t电子邮箱:);scanf(t%s,pern+i.email);gets(x); printf(nt输入n或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;in+1;i+) printf(| %-5d | %-8s| %-6s| %-13s| %-15s
7、 | %-15s |n,peri-1.score,,peri-1.age,peri-1.num,peri-1.adds,peri-1.email); 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(,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return(n); fo
8、r(j=i;jn-1;j+) strcpy(perj.num,perj+1.num); strcpy(,perj+1.name); strcpy(perj.age,perj+1.age);strcpy(perj.adds,perj+1.adds);strcpy(perj.email,perj+1.email);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);
9、 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(,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); retu
10、rn; printf(|-|-|-|-|-|-|n); printf(|编号 |姓名 |年龄 |电话号码 |通讯地址 | 电子邮箱 |n); printf(|-|-|-|-|-|-|n);printf(| %-5d | %-8s| %-6s| %-13s| %-15s | %-15s |n,peri.score,,peri.age,peri.num,peri.adds,peri.email); printf(|-|-|-|-|-|-|n); ;if(m=2)char s20; int i=0; printf(t请输入想查询的电话:); scanf(t%s,s); while(
11、strcmp(peri.num,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return; printf(|-|-|-|-|-|-|n); printf(|编号 |姓名 |年龄 |电话号码 |通讯地址 | 电子邮箱 |n); printf(|-|-|-|-|-|-|n);printf(| %-5d | %-8s| %-6s| %-13s| %-15s | %-15s |n,peri.score,,peri.age,peri.num,peri.adds,peri.email); printf(|-|-|-|-|-|-|n); ;if(m
12、=3)char s20; int i=0; printf(t请输入想查询的地址:); scanf(t%s,s); while(strcmp(peri.adds,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return; printf(|-|-|-|-|-|-|n); printf(|编号 |姓名 |年龄 |电话号码 |通讯地址 | 电子邮箱 |n); printf(|-|-|-|-|-|-|n);printf(| %-5d | %-8s| %-6s| %-13s| %-15s | %-15s |n,peri.score,,peri.a
13、ge,peri.num,peri.adds,peri.email); printf(|-|-|-|-|-|-|n); ;void change(person per,int n) char s20; int i=0; printf(t请输入想修改的记录中的名字:); scanf(%s,s); while(strcmp(,s)!=0&in) i+; if(i=n) printf(t通讯录中没有此人!n); return; printf(t编号:); scanf(t%d,&peri.score); printf(t姓名:); scanf(t%s,); print
14、f(t年龄:); scanf(t%s,peri.age);printf(t电话号码:); scanf(t%s,peri.num); printf(t通讯住址:); scanf(t%s,peri.adds);printf(t电子邮箱:);scanf(t%s,peri.email);printf(t修改成功!);void writetotext(person per,int n) int i=0; file *fp; char filename20; printf(t保存到文件n); printf(t请输入所保存的文件名:); scanf(t%s,filename); if(fp=fopen(fi
15、lename,w)=null) printf(t无法打开文件n); system(pause); return; fprintf(fp,*通讯录*n);fprintf(fp,编号 姓名 年龄 电话号码 通讯地址 电子邮箱n);fprintf(fp,-n);while(in) fprintf(fp,%-3dt%-6st%-3st%-13st%-20st%-20sn,peri.score,,peri.age,peri.num,peri.adds,peri.email); i+; fprintf(fp,-n);fprintf(fp,*共有%d条记录*n,n); fclose(fp)
16、; printf(保存成功!n); void main() int n=0; for(;) switch(menu_select() case 1: printf(nt添加记录到通讯录n); n=input(pe,n); break; case 2: printf(nttt 通讯录记录表n); display(pe,n); break;case 3: printf(nt从通讯录中删除记录n); n=delete_a_record(pe,n); printf(t); system(pause); break; case 4: printf(nt在通讯录中查找记录n); query_a_recor
17、d(pe,n);printf(t); system(pause); break;case 5: printf(nt修改通讯录中的记录n); change(pe,n); printf(t); system(pause); break; case 6: printf(nt保存功能n); writetotext(pe,n); printf(t); system(pause); break; case 0: printf(ntt谢谢使用,再见!n); printf(ntt); system(pause); exit(0); 五、 运行结果1.显示主菜单界面2.添加界面3.显示界面4.删除界面删除后,通
18、讯录里的显示记录:5.查询界面以姓名查询方式为例:6.修改界面修改后,通讯记录的显示记录:7.保存界面六、 心得体会因为c语言是大一开的课程,所以当拿到课程设计的课题时,完全不知道该从何下手。回去以后,我又重新学了一遍我们以前c语言的教材,发觉自已有许多都遗忘了。要把一个程序编成功的过程真是困难重重,起初编成一个不能显示全文的程序,想加入一个函数,但是发现加进去后就整个程序都无法运行了,再检查发现是对某些参数未经定义就使用了。在运行程序的时候一直存在着警告,查了书才知道原来一些函数名没有匹配的头文件。开始运行时,我只输入了桌面文件的文件名,结果无论这样都是“无法打开文件” ,问了同学,同学告诉我要把文件和程序保存在同一个文件夹下,电脑才能找到这个文件,或者可以直接输入文件的完整路径,而且还要输入文件的默认后缀名才能成功读取文件,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 杭州河道护坡施工方案
- 土方开挖阶段施工方案
- 水工程施工方案
- 平整小院地面施工方案
- 屋顶粉刷砂浆施工方案
- 水泵安装施工方案
- TSHZJRXH 001-2024 石河子自助银行建设规范
- 二零二五年度退房流程规范合同
- 二零二五年度未成年人特殊监护协议书
- 二零二五年度钢琴考级辅导班报名合同书
- 医院设施日常巡查管理制度
- 2025年太仓市文化旅游发展集团限公司及子公司公开招聘12名高频重点提升(共500题)附带答案详解
- 机械制图题库及答案
- 安装承包合同(2025年)
- 云上贵州大数据(集团)有限公司招聘笔试冲刺题2024
- 人教版四年级下册数学第二单元观察物体(二) 单元测试
- 建筑工程公司绩效考核制度范本
- 保育员与教师协作配合的技巧与案例
- 2024-2030年中国实验室家具行业发展规划及投资前景预测报告版
- 绿色金融案例分析
- 【MOOC】运动安全与健康-浙江大学 中国大学慕课MOOC答案
评论
0/150
提交评论