ImageVerifierCode 换一换
格式:DOC , 页数:57 ,大小:160KB ,
资源ID:4498094      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4498094.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(c语言程序的设计学生电话薄信息管理系统副本.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

c语言程序的设计学生电话薄信息管理系统副本.doc

1、 西 安 邮 电 学 院高级语言课程设计实验报告系 别:电 信 系专业班级:科技0701班学 号:05072007班序号:07姓 名:朱 岩指导老师:黄 茹 实验课题:学生通讯信息管理系统实验时间:2008.6.102008.6.202008年6月17日一、实验目的1. 熟悉C语言的编译,和运行过程;2. 掌握C语言的数据类型,熟悉整型、实型、字符型变量的定义方式与如何给它们赋值,掌握不同的类型数据之间的赋值规律,赋值使用方法;3. 掌握if语句与switch语句的运用方法与嵌套应用方法;4. 掌握实现循环结构的三种语句while、 do-while.、for 的使用;5. 掌握C语言函数的定

2、义,声名与调用方法和调用过程;6. 掌握C语言主函数和被调用函数之间的参数传递方式,学会函数的嵌套调用和递归调用的过程和方法;7. 掌握数组的定义,赋值引用与输入输出方法,并正确用字符数组储存字符串,学会字符串的使用;8. 掌握结构体类型变量的定义和使用;9. 掌握指针变量和指向指针的指针变量的定义与使用,进一步了解指向结构体数组的指针变量的概念与使用方法;10. 掌握链表的概念与链表的操作,并理解链表与数组的不同点与优缺点;11. 掌握文件和文件指针的定义与文件建立,打开,关闭,读写等的操作方法12. 能够采用模块化思想调试程序;二实验容1. 编写程序并进行调试运行;2. 输入学生通讯信息并

3、保存于文件,每个学生包含信息如:序号,省份,生日, ,大学,班级, 号信息;3. 对已存入的学生信息进行更新操作,包括添加一个学生信息、删除某个学生信息和修改某个学生信息;4. 通过输入,学号的方式查询学生信息;5. 可以通过省份,生日来统计通讯信息;6. 最后输出学生信息,供需要时打印。一、 需求分析1. 该程序可用于对学生的通讯方式基本信息的存储、更新、查询、输出等操作,以实现对学生通讯录信息的管理,便于同学之间的联系交往;2. 其中更新功能包括:添加信息,删除信息,修改信息,可根据需要添加一个或多个学生信息,也可针对个别学生信息进行适当的删除或修改,以便随时更新学生通讯信息。3. 程序中

4、设计的查询功能可根据需要从若干数据中查询某个学生信息,并且可根据两种不同的方法查询:按查询和按查询,以满足不同的需要;4. 可以通过输出的方式查看整个通讯录;5. 可以通过排序的方式查看同学生日的先后。四、概要设计1、方案设计对系统进行分析,给出结构图 分析:系统要实现许多功能,因此遵循结构化程序设计思想来进行本系统的设计:,自顶向下逐步细化,将系统设计任务分解出许多子功能模块来计;结构图如下:学生通讯录信息管理系统 选 择 模 块退出系统退出模块排序模块查询模块 操作模块 输出模块输入模块添加模块 删除模块修改模块按姓名按 退出模块按XX序号退出模块保 存 通 讯 信 息2 . 模块功能说明

5、对各个模块进行功能的描述(1).输入模块:录入需要管理的通讯信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。(2).添加模块:可添加一个或多个学生的通讯信息,并将所添加的信息保存,方便查找。(3).删除模块:可对失去联系的学生通讯信息做删除处理。(4).修改模块:可对通讯信息发生改变的学生信息进行修改。(5).查询模块:可对已建立的学生通讯信息进行查询,并且可根据需要选择按查询或按查询。(6).保存模块:用于对通讯信息进行保存。(7).输出模块:将所有学生通讯信息或想要查询的学生信息显示于屏幕,用于打印学生通讯信息或查找某些学生通讯信息。(8).退出系统:选择该项,自动退出该系

6、统。五、详细设计与运行结果流程图, 函数之间相互调用的图示 ,程序设计与编码, 运行结果。开 始输 入 变 量 i判断i的值排序模块查询模块 操作模块 显示模块输入模块退出模块添加模块 删除模块插入模块按姓名按 号码退出模块XX序号退出模块判断i值输入变量退出模块输入变量判断i值输入变量判断i值保 存 模 块结 束输入模块: 显示模块:开 始 开 始 i=0i=0isumisum输入通讯信息输入通讯信息i+i+m=y si.num!=0结 束sum=i结 束开始开始排序模块: 操作模块:输入i的值i=0j=i+1判断i的值XX的字符串相等? 否 退出模块删除模块插入模块添加模块 是 i=1 i

7、=2 i=3 交换i与j的信息j=j+1jsum 是 否返回主界面i=i+1isum-1结束 是 否输出信息结束输入i开始XX排序退出系统判断i值输入i开始快速查找判断i值查询模块: 排序模块:返回主界面结束XX查询 查询序号返回主界面结束六 调试情况与运行结果1.对自己设计进行评价,指出合理和不足之处,提出改进的方案。此次实践课编写的是一个应用程序,相对于以前我们见到的程序,它要大得多,运行的结果也没有预想中的好,数据的输出格式不太规,而且各模块也出现了一些小问题,在同学们的帮助下,我很有耐心的一次又一次的进行修改,最后运行的结果基本上达到了预期的目的。可着毕竟是第一次独立完成这样的大程序,

8、结果还不是太理想。由于时间很短,在选题报告中设想到的好多功能都没有实现。已有的那些功能虽已能基本上满足用户的需要,但如果还有更多的功能程序就会更加完美。如:再录入数据时,没有设计数据输入出错的提示。2.在设计过程中的感受。 本次C 语言的实习课让我对C 语言的学习又有了更深入的了解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中学到的知识远远超过了在课堂上十几周学到的,学校组织的这次实习让我们这些实践知识匮乏的大学生增添了许多社会经验,为我们将来走上工作岗位其了不小的铺垫作用。本次实习中遇到了很多以前没有遇到过的问题,也曾想过要放弃,但看到那些同学都在那认真的写程序,给了我继续

9、的信心。在同学的帮助下,我顺利的结束了本次实习,让我知道原来凭借自己努力取得的成功会让自己这么欣慰,也让我知道了友谊和团结的重要性。并且,通过一种题材两中方式的学习,我掌握了更多的知识,也认识到对比学习的重要性。七参考文献参考书名 编者XX 出版时间C语言程序设计 王曙燕 曹锰 科学 2005年2月C语言程序设计 谭浩强 清华大学 1999年12月 参考书名 编者 出版时间C语言程序设计 王曙燕 锰 科学 2005年2月八。附录:1. 链表方式:#include#include#define N sizeof(struct stud)#include #include #include /*日

10、期结构体类型*/ struct date int y; int m; int d; bir; /*学生信息结构体类型*/ struct stud int num; /*序号*/ char name20; /*/ char tel40; /*/ char addr40; /*省份*/ char yb20; /* */ char daxue50; /*大学*/ struct date bir; /*生日*/ struct stud *next; ; char a; struct stud *h; FILE *fp;/*建立链表*/struct stud *creat() int i,k; stru

11、ct stud *p1,*p2,*head; printf(n请输入学生数:n); scanf(%d,&k); head=NULL; head=p1=p2=(struct stud *)malloc(N); /*head,p1,p2指向首结点*/ for(i=0;inum); printf(n请输入:); scanf(%s,p1-name); printf(n请输入:); scanf(%s,p1-tel); printf(n请输入籍贯:); scanf(%s,p1-addr); printf(n请输入 :); scanf(%s,p1-yb); printf(n请输入大学:); scanf(%s

12、,p1-daxue); printf(n请输入出生日期:(年-月-日); scanf(%d-%d-%d,&p1-bir.y,&p1-bir.m,&p1-bir.d); p2-next=p1; /*将新结点到表尾*/ p2=p1; /*p2指向新的表尾*/ p2-next=NULL; head=head-next; /*头指针后移*/ save_message(head); /*立即保存*/ return head;/*输入模块*/input_message()clrscr(); printf(nn*输入学生信息*n); printf(-n); h=creat(); bioskey(0); pr

13、intf(输入完毕,按任意键返回主菜单!); bioskey(0);/*输出模块*/output_message(struct stud *p)clrscr(); if(p=NULL) printf(暂无信息!请回主菜单录入信息!n); else printf(nn=通讯录信息表=nn); printf(=省份=生日(年-月-日)= =大学n); while(p!=NULL) printf(-n); printf(%s %s %s %d-%d-%d %s %sn,p-name,p-addr,p-tel,p-bir.y,p-bir.m,p-bir.d,p-yb,p-daxue); printf(

14、-n); printf(n); p=p-next; printf(n); printf(按任意键返回主菜单!nn); bioskey(0);/*保存学生信息*/save_message(struct stud *h)FILE *fp; struct stud *f; f=h; /*保证指针位置*/ if(fp=fopen(zhuyan.txt,wb)=NULL) printf(不能打开文件!n); return; while(h!=NULL) if(fwrite(h,sizeof(struct stud),1,fp)!=1) /*向文件写入数据*/ printf(文件写入错误!); retur

15、n; h=h-next; h=f; /*保证指针位置*/ printf(已存盘,按任意键回上层菜单:n); getch(); fclose(fp); return;/*读取信息*/read_message()FILE *fp; if(fp=fopen(zhuyan.txt,rb)=NULL) printf(nn*暂时还没有该生信息,请按任意键返回上一级菜单.n); return; do if(fread(h,sizeof(struct stud),1,fp)!=1) if(feof(fp) printf(已到文件末尾.n); /*已到文件末尾.*/ else printf(文件读取错误!n);

16、 /*文件读取错误.*/ return; h=h-next; while(h!=NULL); fclose(fp); getch(); bioskey(0);/*添加学生信息*/add_message(struct stud *w) struct stud *p,*q; p=(struct stud*)malloc(N); /*p指向新申请的结点*/ clrscr(); printf(n请输入学生序号:); scanf(%d,&p-num); printf(n请输入学生:); scanf(%s,p-name); printf(n请输入学生:); scanf(%s,p-tel); printf(

17、n请输入学生籍贯:); scanf(%s,p-addr); printf(n请输入学生 :); scanf(%s,p-yb); printf(n请输入学生大学:); scanf(%s,p-daxue); printf(n请输入学生出生日期:); scanf(%d-%d-%d,&p-bir.y,&p-bir.m,&p-bir.d); p-next=NULL; if(w=NULL) w=p; /*头指针为空,p作为新头指针*/ return 1; /*正确插入返回1*/ q=w; /*从头指针开始*/ if(q-num)(p-num) /*找到插入位置在首结点之前*/ p-next=w; /*将首

18、结点在新结点之后*/ w=p; /*p作为新的头指针*/ return 1; while(q-next)!=NULL & (q-next-num)num) q=q-next; /*继续查找插入位置*/ if(q-next=NULL) /*插入位置在尾结点之后*/ q-next=p; /*新结点到尾结点之后*/ return 1; else if(q-next-num)=(p-num) /*找到重号*/ free(p); /*释放新结点的存储空间*/ return 0; /*不插入返回0*/ p-next=q-next; /*后续结点到新结点之后*/ q-next=p; /*新结点到前驱结点之后

19、*/ return 1;/*删除模块*/del_message(struct stud *w)char name20; struct stud *p,*q; if(w=NULL) return 0; /*w就是头指针,空表不能删除返回0*/ clrscr(); printf(请输入要删除的学生:n); scanf(%s,name); q=w; if(strcmp(q-name,name)=0) /*找到要删除的是第一个结点*/ w=q-next; /*修改头指针*/ free(q); /*释放存储空间*/ return 1; /*正确删除返回1*/ p=q-next; while(p!=NUL

20、L) if(strcmp(p-name,name)=0) /*找到要删除的结点*/ q-next=p-next; /*后续结点连接到前驱结点之后*/ free(p); /*释放存储空间*/ return 1; q=p; /*推移指针继续查找*/ p=p-next; return 0; /*未找到要删除的结点返回0*/*修改模块*/revise_message(struct stud *g) int choice; char name20,n,m; do clrscr(); printf(n *学生学籍信息* n); printf( 输入要修改的学生:n); scanf(%s,name); wh

21、ile(g!=NULL) while(strcmp(g-name,name)!=0) g=g-next; if(g=NULL) printf(n 该学生不存在!); bioskey(0); else do printf(n 您要修改哪一项?n); printf(n 1序号n); printf(n 2n); printf(n 3籍贯n); printf(n 4n); printf(n 5大学n); printf(n 6出生日期n); scanf(%d,&choice); switch(choice) case 1:printf(n 请输入修改后的序号:); scanf(%d,&g-num);br

22、eak; case 2:printf(n 请输入修改后的:); scanf(%s,g-name);break; case 3:printf(n 请输入修改后的籍贯:); scanf(%s,g-addr); break; case 4:printf(n 请输入修改后的:); scanf(%s,g-tel); break; case 5:printf(n 请输入修改后的大学:); scanf(%s,g-daxue); break; case 6:printf(n 请输入修改后的出生日期:); scanf(%d-%d-%d,&g-bir.y,&g-bir.m,&g-bir.d);break; pri

23、ntf(n是否继续修改此人信息?y/nn) ; getchar(); m=getchar(); while(m=y); printf(nn=通讯录信息表=nn); printf(=省份=生日(年-月-日)= =大学n); printf(-n); printf(%s %s %s %d-%d-%d %s %sn,g-name,g-addr,g-tel,g-bir.y,g-bir.m,g-bir.d,g-yb,g-daxue); printf(-n); printf(n); getch(); break; printf(n要继续吗?(y/n)n); getchar(); n=getchar(); w

24、hile(n=y); printf(n 按任意键返回主菜单!); bioskey(0); /*更新模块*/ renew_message() int choice=100; while(choice!=0) printf(n*更新同学信息*nn); printf( 1.添加同学信息nn); printf( 2.删除同学信息nn); printf( 3.修改同学信息nn); printf( 0.返回修改菜单nn); printf( 请选择(03):n); printf(*nn); scanf(%d,&choice); switch(choice) case 1:add_message(h);bre

25、ak; case 2:del_message(h);break; case 3:revise_message(h);break; case 0:break; default:printf(输入有误!n); /*按查询*/inquire_name( struct stud *p) char name20; struct stud *f; f=p; clrscr(); printf(nn 请输入要查找的:); scanf(%s,&name); if(p=NULL) printf(n您要查找的学生暂时不存在,请按任意键返回n); bioskey(0); else if (strcmp(p-name,

26、name)!=0|p-name=NULL) p=p-next; clrscr(); printf(nn该生有关信息为:nnnn); printf(nn=通讯录信息表=nn); printf(=省份=生日(年-月-日)= =大学n); printf(-n); printf(%s %s %s %d-%d-%d %s %sn,p-name,p-addr,p-tel,p-bir.y,p-bir.m,p-bir.d,p-yb,p-daxue); printf(-n); printf(n); p=f; getch();/*按学号查询*/inquire_tel(struct stud *p)char tel

27、20; struct stud *f; f=p; clrscr(); printf(n 请输入要查找的:); scanf(%s,&tel); if(p=NULL) printf(n您要查找的学生暂时不存在,请按任意键返回n); bioskey(0); else if(strcmp(p-tel,tel)!=0|p-tel=NULL) p=p-next; clrscr(); printf(nn该生有关信息为:nnnn); printf(nn=通讯录信息表=nn); printf(=省份=生日(年-月-日)= =大学n); printf(-n); printf(%s %s %s %d-%d-%d %

28、s %sn,p-name,p-addr,p-tel,p-bir.y,p-bir.m,p-bir.d,p-yb,p-daxue); printf(-n); printf(n); p=f; getch(); /*查询模块*/ inquire_message() int choice=100; while(choice!=0) printf(n*查询同学通讯信息*n); printf( 1.按同学查询:n); printf( 2.按同学查询:n); printf( 0.返回主菜单:n); printf( 请选择(02):n); scanf(%d,&choice); switch(choice) ca

29、se 1:inquire_name(h);break; case 2:inquire_tel(h);break; case 0:break; default:printf(无此类查询方式!n); /*省份统计*/ count_ad(struct stud *p) int count=0; char count_ad20; printf(n 输入要统计的省份名称:n); scanf(%s,count_ad); if(p=NULL) printf(n 该学生不存在!); bioskey(0); else printf( 在该省份的同学:n); printf(=省份=生日(年-月-日)= =大学n); printf(-n); p=h; /*p指向头指针!*/ while(p!=NULL) if(strcmp(p-addr,count_ad)=0) printf(%s %s %s %d-%d-%d %s %sn,p-name,p-addr,p-tel,p-bir.y,p-bir.m,p-bir.d,p-yb,p-daxue);

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服