c课程设计报告电话簿管理系统内容摘要:
38. if( !=1amp。 amp。 !=2amp。 amp。 !=3) 39. { 40. cout\t 输入错误 ,重选 13:flush。 41. gets(choose)。 42. } 43. else break。 44. } 然后有一个 switch 语句,用来根据用户的选择,调用相应的函数,接着有一个用来检查匹配字符串的语句 45. while(p!=NULL) 46. { 47. do{ 48. if((==1amp。 amp。 strcmp(input,p)==0)||(==2amp。 amp。 strcmp(input,p)==0)) 49. 50. { 第 11页 /共 22页 《 C++程序设计》课程设计 :电话簿管理系统 51. cout\t 找到信息如下 :endl。 52. cout\t 名字 \t 号码 \t 关系 \t 单位 \n。 53. cout39。 \t39。 p39。 \t39。 p39。 \t39。 p39。 \t39。 p39。 \n39。 54. p=pnext。 55. } 56. else 57. { 58. p=pnext。 59. } 60. 61. 62. }while(p!=NULL)。 若没有找到相应的记录,则显示没有找到相应记录,同时返回。 体会: 灵活运用 if 语句可以简化函数代码 ,如本程序中的if((==1amp。 amp。 strcmp(input,p)==0)||(==2amp。 amp。 strcmp(input,p)==0)),将所有的判断条件写在一个语句中,大大简化了代码。 另外就是要注意循环语句的循环条件,以及其开始和结束的地方,这是一个难点,往后还要多加注意。 控制 函数 功能 : 主要用来显示程序的主界面 算法思想 : 这是一个很简单的函数,基本上就是一个 switch 语句就可以了,根据用户输入的数字调用相应的函数。 主要步骤 : 进入函数,使用一个 for( ;;)的无限次循环,在该循环中使用一个 switch(menu())语句,其中 menu()是显示菜单函数,其返回值是用户输入的选择功能的相对应的数字,下面是个数字对应的功能: 第 12页 /共 22页 《 C++程序设计》课程设计 :电话簿管理系统 输入记录 显示所有记录 查找记录 删除记录 修改记录 保存文件 读入文件 退出 其调用语句及相应函数如下函数 63. case 0:top=set(top); break。 /*输入记录 */ 64. case 1:show(top)。 break。 /*显示全部记录 */ 65. case 2:search(top)。 break。 /*查找记录 */ 66. case 3:top=cancel(top)。 break。 /*删除记录 */ 67. case 4:modify(top)。 break。 /*修改纪录 */ 68. case 5:save(top)。 break。 /*保存文件 */ 69. case 6:top=load(top)。 break。 /*读文件 */ 70. case 7:exit(0)。 break。 该函数会根据用户输入的数字或字符调用相应的函数。 该函数设立了一个字符数组用来接收用户输入的字符,目的是可以将用户输入的非数字字符转换成相应的数字,当然,如果用户输入的数字不在1~7 之间则会显示“输入的数字不正确,请您输入正确的数字”,用户这时可以再次输入。 体会: 唯一的感觉就是 switch 语句是一个很好用的语句啊,而且是一个很有用的语句,几乎在所有的需要用到菜单的程序中都会使用到,并且配合 for 循环语句,就是很好的控制菜单函数。 第 13页 /共 22页 《 C++程序设计》课程设计 :电话簿管理系统 5. 读取函数 : 功能: 主要用来将硬盘中的文件记 录读取到内存中,并生成链表以供函数操作。 算 法 思 想 : 首 先 建 立 一 个 输 入 流 类 in , 使 用(,ios::in|ios::nocreate)。 打开文件,并使用 if 语句判断是否正常打开文件。 如果不能正常 打开文件 ,则显示文件不存在。 正常打开文件 后,首先将记录个数读入并赋给 topcount,然后建立类 record 的两个指针 *p 和 *old,并且现将 top 的头结点赋给 p,使用一个 for 语句读入 topcount 条记录。 For 语句中主要有以下方法,将读入的记录存入节点 p,然后在使用 ASK( pnext)为 p分配新的内存,并将 p 赋给 old,然后 p=pnext 使 P 指向下一结点,如此循环。 直到读完文件中的记录,实施代码如下: 71. ifstream in。 72. (,ios::in|ios::nocreate)。 73. if(!in) 74. { 75. cout\t 文件不存在。 请输入数据建立新文件 endl。 76. return top。 77. } 78. cout\n\t 取文件„ endl。 79. 80. intopcount。 81. ()。 82. record *p=top。 83. record *old。 84. for(int i=0。 itopcount。 i++) 85. { 86. in*p。 87. ASK(pnext)。 88. old=p。 89. p=pnext。 第 14页 /共 22页 《 C++程序设计》课程设计 :电话簿管理系统 90. ()。 91. } 最后使 old=NULL;结束链表;然后关闭文件,显示读入的记录数,最后返回 top 体会: 其实在最初我是选用的数组来存储文件记录,但是后来发现一个问题,那就是用数组存储的记录,在读取记录到内存中的时候不能够对这些记录进行按 条操作,当然这也可能是我没找到好的方法,但不管怎么样我都觉得很麻烦,想了很多办法都没能实现,最后只好下决心改用链表动态存储文件记录,这样终于实现了文件的读取功能,并且能够对读取的记录进行任何操作。 由此可见动态存储的优越性啊。 再有就是以后写程序的时候一定要事先各方面都考虑到,不要到了最后才发现程序设计的不合理以至于要从头来过,这样就很耽误时间。 三。c课程设计报告电话簿管理系统
相关推荐
1、968 及栽培技术协优 5968(协青早 105/浙江省台州市农科院选育的杂交晚稻新组合。 经 2000四年的试验,试种和示范后,表现出高产、稳产、米质优良、抗性较好,适应性广,可作单晚、连晚种植的杂交稻新组合。 一、丰产性2000 年参加浙江省 8812 计划籼杂联品试验,平均亩产 斤,比对照汕优 10 号亩产 斤增产 11052%,增产极显著,列参试组合第一位;2001年由浙江省
1、 优 2 号 选育单位:重庆市种子公司品种来源:该组合系重庆市种子公司用自育不育系 600成恢 047 配组而成。 产量表现:2001 年参加重庆市优质稻组区试,平均亩产 5164 公斤,比对照汕优 63 减产 39,是参试品种中唯一各项指标达优质米标准的品种。 由于该品种米质优,2002 年在参加优质稻组续试的同时参加了生产适应性试验,2002 年重庆市区试平均亩产 50404 公斤
1、准两优 2 号 审定编号:国审稻 2006014品种名称:准两优 2 号(区试代号:准两优 402)选育单位:国家杂交水稻工程技术研究中心清华深圳龙岗研究所品种来源:准 S品种属籼型两系杂交水稻。 在长江中下游作早稻种植全生育期平均 ,比对照金优 402 迟熟。 株型较散,叶色较浅,每亩有效穗数 穗,株高 米,穗长 米,每穗总粒数 ,千粒重。 抗性:稻瘟病平均 ,最高 9 级,抗性频率40%
招可辨真假 一看整齐度。 混有其他稻谷的杂交稻种子粒型不整齐。 混入的父本或其他籼稻明显比杂交水稻种子细长饱满,而粳稻谷则较圆。 二看谷壳色。 杂交水稻种子谷壳上略带不均匀的黄褐色等生理性杂色,而父本、保持系谷粒颜色较一致,保持系和其他混杂谷粒比杂交水稻种子透明度高,谷壳比杂交水稻种子光滑。 三看柱头痕迹。 非杂交水稻谷粒因多属于自花授粉,雌蕊柱头不外露,柱头痕迹遗留在谷壳内部
VBScript或 PERL)编写;存取数据库轻松容易(使用 ADO 组件);可使用任何语言编写自己的ActiveX Server 组件;无浏览器兼容问题;程序代码隐藏,客户端仅能看到 ASP 输出的 HTML 文件;缩短 Web 开发时间。 相比之下,使用 CGI 开发 Web 应用程序具有以下缺点: 不易与 HTML 文件集成;须使用其他较复杂的语言来开发 CGI 程序;程序开发时间较长
1、子贮藏的任务是严防混杂,并保持种子良好的播种品质和商品外观品质。 种子从收获到应用于生产,大多要经历贮藏阶段,特别是受市场需求、气候、政策、宣传推广力度等因素影响,种子不能完全销售时,搞好种子贮藏工作时提高生产经营单位的经济效益、降低损失显得尤为重要。 种子贮藏是种子生产经营活动的重要环节,也是救灾备荒的重要措施。 本文总结了杂交水稻种子贮藏的特点,提出杂交水稻种子的越夏贮藏技术。 一