学生通讯信息管理系统 -.doc_第1页
学生通讯信息管理系统 -.doc_第2页
学生通讯信息管理系统 -.doc_第3页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文档系作者精心整理编辑,实用价值高。程 序 实 践 报 告 姓名: 王荣 - 班级: 电子1101 - 学号: 20113096 - 本文档系作者精心整理编辑,如有需要,可查看作者文库其他文档。实验课题:学生通讯信息管理系统一. 概述1.设计内容用所学过的C语言知识(文件,结构体数组,函数)编写一个学生通讯信息管理系统,并完成对数据的录入、添加、查找、修改、删除、保存、读取、输出等一系列操作。2.总体设计方案 对系统进行分析,给出系统结构图; 主函数打印模块查询模块读取模块输入模块删除模块添加模块修改模块存储模块 输入学生姓名电话及学生类型通过学生姓名修改电话号码在屏幕上打印所有学生通讯信息将保存好的文件读取到计算机内存中按姓名查询学生通讯信息(电话及类型)按姓名删除学生通讯信息添加新的学生信息包括姓名电话及类型以文件的形式存入一个文件中二.方案描述1.流程图输入你的选择开始 按任意键退出breakChoice=0 Y Y N Choice=1break输入学生通讯信息 Y N查找学生通讯信息breakChoice=2 Y NbreakChoice=3添加学生通讯信息 Y N删除学生通讯信息breakChoice=4 Y N N 修改学生通讯信息breakChoice=5 Y N 打印学生通讯信息Choice=6 break Y NChoice=7保存文件break H Y NChoice=8 读取文件 Ybreak N 对不起无此项功能Default Y 结束2.详细描述 1.输入模块:录入系统所需的全部数据信息,如学生姓名,电话及类型,并且将学生通讯信息按学生姓名首字母以字典升序排序(此处使用选择排序法);2.存储模块:将录入的数据存储,用文件的形式将录的数据存储(运用了fopen、fclose、fprintf等函数); 3.添加模块:对所需存储的数据进添加操作(运用字符串比较函数strcmp,通过数组的赋值语句将学生信息仍按字典升序排序);4.修改模块:根据学生姓名对需要更正的数据信息进行修改操作(采用字符串比较函数找到所要修改的学生,通过赋值语句完成学生信息的修改);5.删除模块:对数据进行删除操作,根据学生姓名将对应记录删除(使用字符串比较函数strcmp找到所要删除的学生信息,通过赋值语句完成删除);6.查询模块:按要求对数据进行查询,根据学生姓名将该学生通讯信息输出(使用字符串比较函数strcmp查询);7.读取模块:从文件读取已保存的学生通讯信息(运用了fopen、fclose、fscanf等函数); 8.打印模块:输出学生通讯信息 三调试过程 在写完第一遍程序后,首先进行了调试,仍是按照从某个模块来分析的,然后再整体执行,但是远远有很多不如意的地方,特别是对警告的调试比较麻烦。1.在程序编译过程中有些错误和很多警告,虽然这些警告不会影响到程序的联接执行,但因为仔细检查和改正这些警告会对C语言有更深入和深刻的了解而且我自己也想把事情做到尽善尽美,所以总是一遍一遍的调试直到完美。由于刚接触C语言,很多错误和警告根本不知道是什么意思,所以我充分利用编译器初步检查错误和警告,然后再自己仔细检查出来并修改,再运行再查错,一般情况下我是一个一个的调试,这样更有利于学习。下列是常见的错误:(1)定义参数时,参数的类型输入错误,导致运算结果错误;(2)定义输出结果时,输出位数少了,致使数据溢出;(3)有时候由于忘记输入最后的方括号,就将调用函数写入了主函数,导致程序不能编译。(4)最常犯的错误就是忘记一些分号和逗号。(5)有时候程序本身出现逻辑性问题,很难检查出来,再有很多的错误条件下,我一般会重新设计程序。(6)经常会“undefined symbol”这个词,就是十分粗心的未定义一个表达式就直接使用的情况。(7) 在调试删除模块时,偶尔会报错。我仔细分析了程序后发现出错的原因在于对于输入数据没有保存成文件,但是函数在执行过程中会调用文件。2.有时候VC+6.0的编译器会出现不可预知的错误,需要自己去判断,但是自己的资历很浅,所以有些问题根本看不出来,经常去请教知道指导老师和授课老师,或者跟同学互相讨论,或者上网搜查。四结论1.运行结果程序的菜单:(1).选择输入功能时,先输入输入人数,再分别输入姓名,电话号码,工作性质,程序会自动保存,并在下一个页面显示输入的通讯录。(2).选择查找功能时,系统提示输入的姓名,输入后就会显示查找到的号码。(3).选择添加功能时,系统提示添加的姓名,号码,工作类型,然后就会显示的新通讯录。(4).选择删除功能时,系统提示输入删除人的姓名,输入后,就会显示删除后新的通讯录名单。(5). 选择修改功能时,系统会提示输入需要修改的学生姓名,输入后会显示:请输入电话号码,完成后就会显示新的通讯录。(6).选择保存功能时,系统会提示输入要保存的文件名,输入后就会提示保存成功。(7).读取功能的过程与保存功能一样。(8).如果输入的信息不存在,就会显示:对不起,未找到此人。2 心得 1.由于对系统的很多方面考虑的不是很完善,使得系统在实际运用中可能不会很方便,系统没有做密码登陆,使得安全性降低。缺少对数据的组合查询,及数据的降序排列,整体采用结构体数组,难度比链表的要低,但程序条理清晰,运行效率高,整体自己还是满意的,自己花了两周的时间,确实学到了不少东西,提高了自己的动手能力,自己还需不断的学习来提高自己。2.通过很多次的调试,我知道了在写程序的时候应该注重于细节,例如一个小的标点符 号,就能使我们浪费一整天的时间来调试,所以细节非常重要;其次是要在编写程序之前应该想明白程序的功能,然后在进行写程序;最后在调试运行程序的时候应该注意到每一个程序的应用,看是否真真的能够实现其功能,不要漏掉一个细节。通过这次课程设计我学会了很多,做事情不仅要有耐心,还要注重细节;虽然做不到最好,但是要尽自己的全力去做,不管对与错。3.经历了这次课程设计,不仅在意志力方面我得到了锻炼,更是对我的学习有很大的促进,在C语言程计的过程中我知道了自己在以前的学习中有很大的不足导致在设计过程中出现了很多的问题,有些地方看不懂也不知道怎么去设计,但

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论