收藏 分销(赏)

c语言课程设计报告电话薄管理系统毕业论文.doc

上传人:二*** 文档编号:4495349 上传时间:2024-09-25 格式:DOC 页数:24 大小:227KB 下载积分:5 金币
下载 相关 举报
c语言课程设计报告电话薄管理系统毕业论文.doc_第1页
第1页 / 共24页
本文档共24页,全文阅读请下载到手机保存,查看更方便
资源描述
1设计题目的容、任务与具体要求 本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、修改、添加等必要的功能。 ①记录通讯录的人员的、地址、 、。 ②显示所有人员的信息。 ③通过输入查找人员信息。 ④通过输入查找到要删除的人员信息,然后可以进行删除。 ⑤通过输入查找到要修改的人员信息,然后可以进行修改。 ⑥添加人员信息。 2总体设计思路 本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的容读取到存然后打印出来。删除函数的设计是首先从文件找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从存里删除,然后再用写的方式打开文件,将存的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。修改也大体和删除一样,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。 下面就是总的程序流程图: 执行printf() 退出系统 调用output() 函数 调用 insert() 函数 调用 modify() 函数 调用 found()函数 调用 del() 函数 选择(a) 执行printf()函数 开始 3功能模块的具体设计 3.1 界面分析 3.1.1开始界面 ********************欢迎光临通讯录管理系统******************** 1.输出通讯录 2. 删除记录 3.查找记录 4.修改 5.添加新联系人 6.退出程序 ************************************************************** 请输入命令(1-6): 3.1.2显示功能的界面: 选择1后系统出现现有的所有人员: 1 高鸿鹏 山西 100000 15862433445 黄亮 四川 200000 15826133446 雷管 重庆 300000 8888888888888 欧鸿 重庆 300000 15826188888 代兵 重庆 300000 15826166666 向梅 重庆 300000 15826155555 欧鸿 山西 100000 555555555 3.1.3 删除功能的界面: ********************欢迎光临通讯录管理系统******************** 1.输出通讯录 2. 删除记录 3.查找记录 4.修改 5.添加新联系人 6.退出程序 ************************************************************** 请输入命令(1-6): 2 请输入你要删除的XX: 请输入你要删除的XX: 哈哈 你要的资料如下 : 哈哈 粉红色的骄傲 55555 5255582删除成功! ********************欢迎光临通讯录管理系统******************** 1.输出通讯录 2. 删除记录 3.查找记录 4.修改 5.添加新联系人 6.退出程序 ************************************************************** 请输入命令(1-6): 3.1.4 查找功能的界面: ********************欢迎光临通讯录管理系统******************** 1.输出通讯录 2.删除记录 3.查找记录 4.修改 5.添加新联系人 6.退出程序 ************************************************************** 请输入命令(1-6): 3 请输入XX:欧鸿 已查到,记录为: 欧鸿 重庆 300000 15826188888 3.1.5 修改功能的界面: ********************欢迎光临通讯录管理系统******************** 1.输出通讯录 2. 删除记录 3.查找记录 4.修改 5.添加新联系人 6.退出程序 ************************************************************** 请输入命令(1-6): 4 请输入XX: 输入后的系统界面: ********************欢迎光临通讯录管理系统******************** 1.输出通讯录 2. 删除记录 3.查找记录 4.修改 5.添加新联系人 6.退出程序 ************************************************************** 请输入命令(1-6): 4 请输入XX:欧鸿 已查到,记录为: 欧鸿 重庆 300000 15826188888 请输入修改信息 请输入XX: 输入修改信息后的系统界面: 已查到,记录为: 欧鸿 重庆 300000 15826188888 请输入修改信息 请输入XX:欧祖鸿 请输入地址:重庆 请输入 :300000 请输入 号码:15826130422 3.1.6添加功能的界面: 选择5后的系统界面: ********************欢迎光临通讯录管理系统******************** 1.输出通讯录 2. 删除记录 3.查找记录 4.修改 5.添加新联系人 6.退出程序 ************************************************************** 请输入命令(1-6): 5 ************************ XX: 输入信息后的的系统界面********************欢迎光临通讯录管理系统******************** 1.输出通讯录 2. 删除记录 3.查找记录 4.修改 5.添加新联系人 6.退出程序 ************************************************************** 请输入命令(1-6): 5 ************************ XX:原野 地址:重庆 :300000 :11122211121 ************************ 3.1.7退出功能的界面: 输入6后的系统界面: ********************欢迎光临通讯录管理系统******************** 1.输出通讯录 2. 删除记录 3.查找记录 4.修改 5.添加新联系人 6.退出程序 ************************************************************** 请输入命令(1-6): 6 欢迎再次光临! Press any key to continue 3.2 程序设计中的数据设计 软件中使用啦结构体和结构体数组,如: struct callmember { char name[20]; char address[20]; char code[20]; char callnumber[20]; }; 对用户的信息进行保存,他们都以二进制的形式读写。 其中: char name[20]; char address[20]; char code[20]; char callnumber[20] 分别对、地址、 、进行储存 在子函数中还使用了结构体数组: struct callmember one[100]; 还使用了exit()、 fclose()等库函数。 还运用了头文件: #include "stdafx.h" #include"string.h " #include <stdio.h> #include<stdlib.h> 其中还使用啦大量的子函数,例如: void output(); void del(); void found(); void modify() ; void insert(); 部分子函数的详细代码: void output() { int b=0,i=0; int j; struct callmember one[100]; FILE *fp; if((fp=fopen("e:\\通讯录.txt","r"))==NULL) { printf("无法从已有通讯录输入!\n可能是因为原通讯录不存在或为空!\n建议你检查你的通讯录文挡!\n"); exit(1); } while(fscanf(fp,"%s%s%s%s",one[i].name,one[i].address,one[i].code,one[i].callnumber)!=EOF) i++; j=i; for(i=0;i<j;i++) { printf("%s %s %s %s\n ",one[i].name,one[i].address,one[i].code,one[i].callnumber); } fclose(fp); } void insert() { FILE *fp; struct callmember *p; if((fp=fopen("e:\\通讯录.txt","a+"))==NULL) { printf("操作失败."); exit(1); } p=(struct callmember *)malloc(sizeof(struct callmember)); printf(" ************************\n"); printf(" :"); scanf("%s",p->name); printf(" 地址:"); scanf("%s",p->address); printf(" :"); scanf("%s",p->code); printf(" :"); scanf("%s",p->callnumber); printf(" ************************\n"); fprintf(fp,"%s %s %s %s",p->name,p->address,p->code,p->callnumber); fclose(fp); free(p); } 通过对这些资源的合理利用使系统初步实现了通讯录管理系统的基本功能。 3.3算法流程图 3.3.1主函数模块的流程图 开始 进入主函数 int main() 执行printf()函数 输入指令(a) 执行printf() 退出系统 调用 insert() 函数 调用 modify() 函数 调用 found()函数 调用 del() 函数 调用output() 函数 a!=1.2.3.4.5.6 图3.3.1 主函数流程图 3.3.2 void output()函数流程图 执行for()循环 开始 If语句判断 执行printf() 结束 执行while()循环 结束 图3.3.2 void output()函数流程图 开始 3.3.3 void del()函数流程图 执行scanf() 执行if() 执行printf() 结束 执行do{}while()循环语句 执行while()循环 执行printf() 执行for()循环 执行if() 执行printf() 结束 执行for()循环 结束 图3.3.3 void del()函数流程图 3.3.4 void found()函数流程图 结束 执行printf() 执行if() 开始 结束 执行while() 执行printf() 执行scanf() 图3.3.4 void found()函数流程图 3.3.5 void modify函数流程图 开始 执行if() 执行printf() 结束 执行while() 执行printf() 执行scanf() 执行for() 执行if() 执行if() 执行printf() 结束 执行for()循环 结束 图3.3.5 void modify函数流程图 3.3.6 void insert()函数流程图 开始 执行if() 执行printf() 结束 申请空间 执行printf() 执行scanf() 写入文件 结束 图3.3.6 void insert()函数流程图 4功能模块的调试与测试 4.1执行软件 1、当软件中总有输入人员信息时: 1.查看全部信息时: 根据提示输入1 2.删除人员信息: 根据提示输入 2 按回按回车 显示人员信息车 输入需要删除人员:例如(欧鸿)按回车 显示需要删除人员信息并删除。 3.查找人员信息 : 根据提示输入 3 按回车 输入要查找的人员名字:例如(欧鸿)按回车 显示查找到的人员信息。 4.修改人员信息: 根据提示输入4 按回车 输入需要修改的人员:例如(欧鸿)按回车 显示修改前的信息。 根据提示输入修改的信息。 5.添加人员信息: 根据提示输入5 按回车 输入添加的信息 : 地址: : : 输入完毕后 按回车 可以再根据提示使用查找功能。 该操作可以看见刚才添加的人员信息。 2、当软件中总没有输入人员信息时: 1.查看全部信息时: 根据提示输入1 按回车 显示:无法从已有通讯录输入!\n可能是因为原通讯录不存在或为空!\n建议你检查你的通讯录文挡! 2.删除人员信息: 根据提示输入 2 按回车 输入需要删除人员:例如(欧鸿)按回车 没有信息。 3.查找人员信息 : 根据提示输入 3 按回车 输入要查找的人员名字:例如(欧鸿)按回车 显示:对不起,通讯簿中没有此人的记录。 4.修改人员信息: 根据提示输入4 按回车 输入需要修改的人员:例如(欧鸿)按回车 没有显示 5.添加人员信息: 根据提示输入5 按回车 输入添加的信息 : 地址: : : 输入完毕后 按回车 可以再根据提示使用查找功能。 该操作可以看见刚才添加的人员信息。 4.2功能模块的调试 4.2. 1.运行进入程序主菜单 主选单具有所有函数的功能实现的选择功能,通过主选单的操作进入各个功能。主选单主要由主函数提供,其功能由子函数实现。 4.2.2.显示模块 查看所有人员信息界面 可以显示全部的人员的信息。可在3 .3参看流程图。 4.2.3.删除模块 删除功能界面 4.2.4.查找模块 进入查找记录界面 4.2.5.修改模块 进入修改界面 4.2.6.添加模块 进入添加界面 可以根据要求添加用户想添加的人员信息。 4.2.7.退出 进入退出界面: 当出现没有查找人员信息时会自动返回主选单。 6 总结 通过这次课程设计,我对很多的函数有啦 新的认识,也学会啦运用多种函数,我也明白啦写软件的基本过程,和基本方法。写软件的过程中我又学到啦曾经自己不知道的函数或是自己不会的函数的用法。特别是文件的开启和关闭,读与写。这次课程设计课总的来说让我受益匪浅。 在软件的设计过程中遇到拉很多的困难。在软件一次一次的调试失败下曾经想过要放弃。我最后还是让自己坚持啦下来,毫不畏惧困难,在同学的帮助与讲解下我总算是顺利的完成啦软件的设计。 虽然在调试程序遇到拉很多的困难,当软件调试成功时那种喜悦的感觉没有什么东西可以代替。在程序的编写过程中我发现我自己有很多的知识漏洞和缺陷,需要进一步努力学习来完善自己。 在这几天的编写过程中我对c语言有啦更进一步的认识和了解。此次编程过程的经验和知识肯定能促进我以后的学习。 此次课程设计不仅给啦我很多很好的经验,也然我体会到啦失败时的焦急和难受,也体会到啦成功时的兴奋与喜悦。 致 在此我向在此次课程设计时对我伸出援助之手的向毅、海玲老师,还有帮助我的同学们。这个软件的实现固然需要自身的努力,当然也离不开同学们的帮助与讲解。缺少啦这些也许我的程序就无法调试完成。老师和同学们的帮助与讲解。 签名:欧祖鸿 日期:2007年7月10日 参考文献 [1]谭浩强,基温。C语言程序设计教程。第三版。:高等教育,2006 [2]谭浩强,基温。C语言习题集与上机指导。第三版。:高等教育,2006 [3]谭浩强。C程序设计(第三版)。:清华大学,2005 [4]谭浩强。C程序设计(第二版)。:清华大学,1999 目录 1设计题目的容、任务与具体要求1 2总体设计思路2 3功能模块的具体设计3 3.1 界面分析3 3.1.1开始界面3 3.1.2显示功能的界面:3 3.1.3 删除功能的界面:4 3.1.4 查找功能的界面:4 3.1.5 修改功能的界面:5 3.1.6添加功能的界面:6 3.1.7退出功能的界面:7 3.2 程序设计中的数据设计8 3.3算法流程图10 3.3.1主函数模块的流程图10 3.3.2 void output()函数流程图11 3.3.3 void del()函数流程图11 3.3.4 void found()函数流程图12 3.3.5 void modify函数流程图14 3.3.6 void insert()函数流程图15 4功能模块的调试与测试16 4.1执行软件16 4.2功能模块的调试18 4.2. 1.运行进入程序主菜单18 4.2.2.显示模块18 4.2.3.删除模块19 4.2.4.查找模块19 4.2.5.修改模块20 4.2.6.添加模块20 4.2.7.退出21 6 总结21 致22 参考文献23 24 / 24
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服