为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

数据库课程设计报告

2011-05-17 24页 doc 550KB 104阅读

用户头像

is_799826

暂无简介

举报
数据库课程设计报告通讯录管理系统 学生姓名: 朱文飞 2008082355 张国建 2008082351 张健 2008082379 班 级:信管08 2010年12月23日 目 录 一、设计需求说明··············3 二、总体设计分析··············3 三、部分模块设计分析············4 四、程序源代码···············10 五、运行结果及截图·············18 六、心得体会················23 七、参考文献················23 1、​ 设计需求说明 ...
数据库课程设计报告
通讯录管理系统 学生姓名: 朱文飞 2008082355 张国建 2008082351 张健 2008082379 班 级:信管08 2010年12月23日 目 录 一、设计需求··············3 二、总体设计··············3 三、部分模块设计分析············4 四、程序源代码···············10 五、运行结果及截图·············18 六、心得体会················23 七、参考文献················23 1、​ 设计需求说明 1、设计题目及要求: ◆​ 建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等; ◆​ 能够提供添加、删除和修改通讯录信息的功能; ◆​ 能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询; ◆​ 将通讯录保存在文件中; ◆​ 能够按格方式输出通讯录信息。 2、系统功能需求分析: 主要包含一下多种功能: 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 查询:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件 2、​ 总体设计分析 系统功能模块图: 添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。 显示:可以以表格形式输出所有通讯录里的记录 删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询 修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改 保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件 3、​ 部分模块设计分析 (1).通讯录: typedef struct { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/ char age[8]; /*年龄*/ char adds[20]; /*住址*/ }Person; 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"); Change(pe,n); /*修改数据*/ printf("\t"); system("pause"); break; case 6: printf("\n\t保存功能\n"); WritetoText(pe,n); /*保存数据*/ printf("\t"); system("pause"); break; case 0: printf("\n\t\t谢谢使用,再见!\n"); /*结束程序*/ printf("\n\t\t"); system("pause"); exit(0); } } } (2).工作图: ①添加:添加通讯录记录 ②显示:显示通讯录记录 ③删除:删除通讯录记录 ④查询:查询通讯录记录 先选择查询方式,以姓名查询方式为例 ⑤修改:修改通讯录记录 4、​ 源程序代码 #include #include #include typedef struct { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/ char age[8]; /*年龄*/ char adds[20]; /*住址*/ }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│ 0. 退出程序 │\n"); printf("\t\t└───────┘\n"); printf("\t\t请您选择(0-6):"); c=getchar(); }while(c<'0'||c>'6'); 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].age); printf("\t电话号码:"); scanf("\t%s",per[n+i].num); printf("\t通讯住址:"); scanf("\t%s",per[n+i].adds); printf("\t电子邮箱:"); scanf("\t%s",per[n+i].email); 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;i1&&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
写风格及其注释的格式。 当我选择通讯录这个题目时,一开始想运用大量链表及指针来完成,但是在慢慢琢磨之后,觉得这个不一定要用链表,于是改变了编程思路。当然还有不少文件的读写问题,不过还是通过不断测试之后顺利解决了。另外一点要说的就是这个程序用了很多的循环,因此对于循环的控制要十分小心,有时while和do-while的区别也是十分重要的。 7、​ 参考文献 中国铁道出版社出版的《C程序设计实验教程》《C程序设计教程》等
/
本文档为【数据库课程设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索