《2022年c语言通信管理.docx》由会员分享,可在线阅读,更多相关《2022年c语言通信管理.docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源课程设计报告正文1、 目的:1) 对 C 各部分学问的综合应用才能2) 提高程序设计的才能3) 提升对于较大程序的抽象分析设计才能4) 学习调试和测试的技巧2、所做题目的意义:通讯录治理系统在当今这个信息发达的社会是必不行少的,这个通讯录治理系统可以便利的为我们添加、治理联系人,不必确定要记住这些庞大的信息,可以很便利的调用出自己所需要的信 息,随时的修改这些信息,这些在这个时代是特殊的必要的;3、 本人所作的工作:(1) )、写出了预习报告;从图书馆搜集了些这方面的资料(2) )、想好思路,写出了程序代码(3) )、调试程序,找出其中的错误,最终成功的运行出程序(4) )、写出课
2、程设计报告 4、系统的主要功能:该系统的是一个小型的通讯系统,它具有一般的通讯系统都具有的功能该程序具有查找、添加、修改、删除功能,其中通讯录包括: 姓名,电话,街道,城市,省,邮编;5、系统的总体设计:系统的基本要求和内容:该系统要求具有查找,添加,修改, 删除功能,其中通讯录包括:姓名、电话,街道,城市,省,邮 编;但在实际设计中增加了一项,那就是末尾添加,可以在已有的欢迎下载精品学习资源记录末尾再次添加,不必每次都重新添加,便利用户描画及绘制出系统的功能结构框图、程序设计组成框图,流程图等:此系统共分为九大模块,分别为以下的模块:第一模块:主函数main的功能是:依据选单的选项调用各函数
3、,并完成相应的功能;其次模块: quitRec的功能是:退出选单;第三模块: createRec的功能是:创建新的通讯录;第四模块: addRec的功能是:在通讯录的末尾写入新的信息,并返回选单;第五模块: findRec 的功能是:查询某人的信息,假如找到了,就显示该人的信息,假如未找到,就提示通讯录中没有此人的信息,并返回选单;第六模块: alterRec的功能是:修改某人的信息,假如未找到要修改的人,就提示通讯录中没有此人的信息,并返回;第七模块: deleteRec的功能是:删除某人的信息,假如未找到要删除的人,就提示通讯录中没有此人的信息,并返回选单;第八模块: listRec的功能
4、是显示通讯录中的全部记录;第九模块: saveRec 的功能是储存某人的信息在某一文件夹里;以上九大模块为此通信系统的就大基本模块,用此模块设计可以清楚说明通信治理系统程序的功能、格局,可以用以下组成框图来表欢迎下载精品学习资源示:主菜单( 1)系统结构图(功能模块图)和数据变量说明主创末查修删显保退函建尾询改除示存出数信写信信信记信系输入息入息息息录息统( 2)功能模块说明:(1)、主函数输入模块欢迎下载精品学习资源开头输入 ii=1查询通讯录i=2创建通讯录i=3添加通讯录修改通讯录i=4i=5删除通讯录I=6退出通讯录输入错误( 2)quitRec 函数模块(3) createRec函数
5、模块开头开头清屏储存记录吗返回主函数输入储存返 回主程序返回主函数欢迎下载精品学习资源( 4)addRec函数模块(5)findRec 函数模型开头开头欢迎下载精品学习资源输 入 想在 哪 个数 列 后面加i=-1返回主函数输入新数据储存返回主函数输入姓名Str=reco rdsj.na me显示数据返回主函数未找 到该联 系人欢迎下载精品学习资源( 7)、 deleteRec 函数模型( 6)、alterRec函数模型开头输入名字删 除 数返回主函数欢迎下载精品学习资源开头输入数列显示数据输入数据返回主函数( 8)、listRec 函数模型( 9)、saveRec函数模型欢迎下载精品学习资源
6、开头(3) )、详细设计输入序列号模块功能说明:开头打开文件欢迎下载精品学习资源欢迎下载精品学习资源第一输出模数块据:主函数main的功能是:根写据入数选据单的选项调用各函欢迎下载精品学习资源欢迎下载精品学习资源数,并完返成回主相函数应的功能;退出主函数欢迎下载精品学习资源其次模块: quitRec的功能是:退出选单;第三模块: createRec的功能是:创建新的通讯录;第四模块: addRec的功能是:在通讯录的末尾写入新的信息,并返回选单;第五模块: findRec 的功能是:查询某人的信息,假如找到了,就显示该人的信息,假如未找到,就提示通讯录中没有此人的信息,并返回选单;第六模块:
7、alterRec的功能是:修改某人的信息,假如未找到欢迎下载精品学习资源要修改的人,就提示通讯录中没有此人的信息,并返回;第七模块: deleteRec的功能是:删除某人的信息,假如未找到要删除的人,就提示通讯录中没有此人的信息,并返回选单;第八模块: listRec的功能是显示通讯录中的全部记录;第九模块: saveRec 的功能是储存某人的信息在某一文件夹里;在全部的函数中, main函数数入口函数,用户输入数据进行整个程序的执行,整个函数的出口是qiut 函数,每一个函数执行完毕后都要退到主函数中,基本每个输入、改动或者是删除的函数都要调用储存函数,而主函数调动全部的函数;(4) )、调
8、试与测试:在此次的课程设计中,做困难的一部分便是调试与测试这部分了,在此次调试中最开头是符号标点的问题,有许多都没留意,最终仍是慢慢的把这些错误调试出来了;仍有一种错误便是库函数的问题,在此次调试中,发觉有许多别的软件里的库函数在此软件中不能用,最终仍是通过再次编写被调用函数来实现了预期的功能;此外,在函数的调试中,仍发觉一种问题,在所绘的表格中,无法对齐表格,经过调试,移动表格的位置来实现了表格的工整;仍有,在测试中,发觉原本应当在两个页面的数据在同一个页面中显示出来了,经过分析,认为这是由于没有清屏的结果,加上清屏后,问题最终解决了;欢迎下载精品学习资源(5) )、运行结果: 1、主菜单:
9、2、 创建新数据:第一输入创建的序号“ 2”,会进入以下这个界面:输入数据后然后会依次显现下面的条目:,最终返回到从前的主菜单3、 查找数据:按了“ 1”以后,会显现以下菜单:会提示你输入要查找的姓名输入姓名后会显现以下的显示退出到主菜单;4、 在末尾添加数据,按了“ 3”之后,会显现以下: 输入想要添加的数列,会显现下面输入数据的界面:按任意键退出后,回到主菜单;5、 修改数据:输入“ 4”之后,会显现以下界面输入位置后,按以下流程输入数据欢迎下载精品学习资源输入 Y 之后,再将新的数据输入就行了6、 删除数据:按下“ 5”后,会显现这个显示输入姓名后,会删除数据并储存已存的结果;7、 退出
10、数据,按下“ 6”以后会退出,并提示是否储存数据8、 载入数据:按下“ 7”后这个可以载入以前储存的数据,9.储存数据:按下“ 8”后,可以储存数据以备下次再用( 6)源程序#include #include #include #include #include #include#include void showTable1 ;void showTable2int ;void findRec ;void createRec ;void addRec ;void saveRec ;void alterRec ;void deleteRec ;void quit ;void LoadRec ;v
11、oid listRec ;int searchchar*,int,int ;void gotoxyint x,int yCONSOLE_SCREEN_BUFFER_INFOcsbiInfo;HANDLEhConsoleOut;欢迎下载精品学习资源hConsoleOut = GetStdHandleSTD_OUTPUT_HANDLE;GetConsoleScreenBufferInfohConsoleOut,&csbiInfo;csbiInfo.dwCursorPosition.X=x;csbiInfo.dwCursorPosition.Y=y;SetConsoleCursorPositionh
12、ConsoleOut,csbiInfo.dwCursorPosition;char *mulu= *通讯治理系统 *, 1. 查找 , 2.创建 , 3.添加 , 4.修改 , 5.删除 , 6.退出 , 7. 载入 , 8. 储存 , ;typedef struct slchar no20 ;char name10 ;char score10 ;char street10 ;char city10 ;char province10 ;char postcode10 ;TONGXUN;int muluxuanze ;int JILUSHU=0 ;TONGXUN records1000;void
13、 mainsystemcls ;gotoxy2,20 ;for ; switchmuluxuanzecase 1:findRec ;break;/* 查询通讯录*/case 2:createRec;break;/* 创建通讯录*/case 3:addRec;break;/* 添加通讯录*/case 4:alterRec;break;/* 修改通讯录*/case 5:deleteRec;break;/* 删除通讯录*/case 6:quit ;/*退出通讯录 */欢迎下载精品学习资源case 7:LoadRec ;break;/* 载入通讯录 */case 8:saveRec;break;/*
14、储存通讯录 */int muluxuanzeint i ;fori=0 ; i10 ;i+gotoxy10,i+1 ;cprintf%s,mului;printfn;printf 请输入要做的选项数字scanf%d,&i ;1-8: ;returni ;void showTable1/*表头一*/systemcls ;gotoxy10,2 ;printf*具体数据*;gotoxy1,3 ;printf n ;gotoxy1,4 ;printf 数目 姓名 电话街道城市省邮编 n ;gotoxy1,5 ;printf n ;void showTable2int n/*表头二 */if n=0n=
15、1 ;ifJILUSHU=0n=-1;gotoxy1,6+n ;printf n ;void quit/*退出 */char str5 ;gotoxy22,18 ;欢迎下载精品学习资源printf 储存记录吗? Y/N ;scanf%s,str ;ifstr0=Y|str0=ysaveRec;exit0 ;void createRec/* 创建通讯录 */int i,sum ;systemcls ;printf 请输入要添加的通讯记录数目: ;scanf%d,&JILUSHU;fori=0 ; iJILUSHU ;i+systemcls ;sum=0;gotoxy20,5 ;printfPle
16、ase input %d number,i+1;gotoxy20,6 ;printf 输入序号 : ;scanf%10s,recordsi.no ;gotoxy20,7 ;printf 输入姓名 : ;scanf%10s,recordsi.name ;gotoxy20,8 ;printf 输入电话 : ;scanf%10s,recordsi.score ;gotoxy20,9 ;printf 输入街道 : ;scanf%10s,recordsi.street ;gotoxy20,10 ;printf 输入城市 : ;scanf%10s,recordsi.city;gotoxy20,11 ;pr
17、intf 输入省 : ;scanf%10s,recordsi.province;gotoxy20,12 ;printf 输入邮编 : ;scanf%10s,recordsi.postcode ;printf 请按任意键返回 . ;getch;systemcls ;void listRec/*显示全部通讯录 */int i=0 ;showTable1 ;printf 输入所查数据的序号 : ;scanf%d,&JILUSHU; fori=0 ; iJILUSHU ;i+gotoxy1,6+i ;printf %10s%10s%10s%10s%10s%10s%10sn,recordsi.no,re
18、cordsi.name,recordsi.score,recordsi.street,recordsi.city,recordsi.province,recordsi.postcode;showTable2i ;printf 请按任意键返回 . ;欢迎下载精品学习资源getch;void saveRec/* 储存通讯记录 */FILE *fp1,*fp2;iffp1=fopene:cc.txt,wb=NULLprintf 不能打开这个文件 ;exit1 ;iffp2=fopene:cc1.txt,wb=NULLprintf 不能打开这个文件 ;exit1 ;printfn储存文件 n ;fwr
19、ite&JILUSHU,sizeofJILUSHU,1,fp1;fwriterecords,sizeofrecords,JILUSHU,fp2;fclosefp1 ; fclosefp2 ;printfn文件储存成功 .n ;Sleep1000;printfn请按任意键退出 n ;getch ;systemcls ;void LoadRec/*载入通讯记录 */FILE *fp1,*fp2;iffp1=fopene:cc.txt,rb=NULLprintf 不能打开这个文件 ;exit1 ;iffp2=fopene:cc1.txt,rb=NULLprintf 不能打开这个文件 ;exit1 ;
20、printfn载入文件 n ;fread&JILUSHU,sizeofJILUSHU,1,fp1;freadrecords,sizeofrecords,JILUSHU,fp2;fclosefp1 ; fclosefp2 ;printfn文件载入成功 .n ;Sleep1000;printfn请按任意键退出 n ;getch ;欢迎下载精品学习资源systemcls ;void findRec/*查询通讯记录 */char str20 ;int i,j ;systemcls ;printf 请输入您要找的人的姓名:;scanf%s,str ;forj=0,i=0 ;jJILUSHU ;j+ifs
21、trcmpstr,recordsj.name=0showTable1 ;printf %10s%10s%10s%10s%10s%10s%10sn,recordsi.no,recordsj.name,recordsj.score,recordsj.street,recordsj.city,recordsj.province,recordsj.postcode;printfn ;showTable2i ;break;else printf 未找到该联系人 ;printfPress any key to return.;getch;systemcls ;void deleteRec/* 删除通讯记录
22、 */int i,j ;char str20 ;systemcls ;printf 请输入您想删除的人的姓名: ;scanf%s,str ;fori=0 ;iJILUSHU ; i+ifstrcmpstr,recordsi.name=0forj=i ;jJILUSHU ;j+recordsj=recordsj+1;else printf 没有找到该联系人 ;JILUSHU- ;欢迎下载精品学习资源saveRec;systemcls ;int searchchar*target,int tarType,int fromint i ;fori=from ;iJILUSHU ;i+iftarType
23、=1&strcmptarget,recordsi.no=0|tarType=2&strcmptarget,records i.no=0returni ;return-1 ;void alterRec/* 修改通讯录 */int i,j ;char no20,str8 ;systemcls ;printf 请输入你想要修改的数据位置数: ;scanf%d,no ;i=searchno,1,0 ;showTable1 ;printfn ;printf %10s%10S%10s%10s%10s%10s%10s,recordsi.no,recordsi.name,recordsi. score,rec
24、ordsi.street,recordsi.city,recordsi.province,recordsi.postcode;printf n ;gotoxy10,10 ;printf 你想要修改这些数据吗Y/N: ;scanf%s,str ;ifstr0=y|str0=Ysystemcls ;printf 输入序号 : ;scanf%10s,recordsi.no ;printf 输入姓名 : ;scanf%10s,recordsi.name ;printf 输入电话 : ;scanf%10s,recordsi.score ;printf 输入街道 : ;scanf%10s,recordsi
25、.street ;printf 输入城市 : ;scanf%10s,recordsi.city;printf 输入省 : ;scanf%10s,recordsi.province ;printf 输入邮编 : ;scanf%10s,recordsi.postcode ;欢迎下载精品学习资源saveRec;printf 请按任意键返回! ;getch;systemcls ;void addRec/* 在通讯录的末尾加上新的信息*/int i,sum=0 ;char str8 ;for ; systemcls ;printf 请输入您想要增加的序列: ;scanf%s,str ;i=searchs
26、tr,1,0 ;ifi=-1break ;else printf 这个数据是错误的 . ;getch;strcpyrecordsJILUSHU.no,str;printf 输入序号 : ; scanf%10s,recordsi.no ;printf 输入姓名 : ;scanf%10s,recordsi.name ;printf 输入电话 : ;scanf%10s,recordsi.score ;printf 输入街道 : ;scanf%10s,recordsi.street ;printf 输入城市 : ;scanf%10s,recordsi.city;printf 输入省 : ; scanf
27、%10s,recordsi.province ;printf 输入邮编 : ;scanf%10s,recordsi.postcode ;JILUSHU+ ;saveRec;(7) )、使用说明:此程序的运行环境并无太大的要求,一般的电脑都能运行;使用方法:进入了主菜单后,只需依据每个功能所对应的数字按下就能操作;(8) )、设计小结:此次的设计是我第一次独立的设计一个程序,并且完成了调试与测试,最终成功的运行了,在此次的设计中,也让我在运用C 语欢迎下载精品学习资源言到实际生活方面的才能有了提升,同时亦提升了我的合作才能, 与同学的合作让我在遇到难点时可以很快的解决;然而,虽然学到了许多,我也在此次的课程设计中熟识到自身的许多不足之处,比如办事效率低,在文件的储存、读取方面也不大娴熟以后需要多多加强这方面的练习总之,这次的课程设计让我熟识了许多,明白了许多,学到了许多,亦是在运用编程方面提高了许多,课后仍是要加强这方面的练习的;( 10)参考文献: C 语言程序设计基础试验教程廖雷,罗代忠C程序设计(第三版)谭浩强欢迎下载
限制150内