还剩4页未读,继续阅读
文本内容:
程序实践报告姓名王荣----------------------------班级电子1101----------------------------学号20113096----------------------------实验课题学生通讯信息管理系统一.概述
1.设计内容用所学过的C语言知识(文件,结构体数组,函数)编写一个学生通讯信息管理系统,并完成对数据的录入、添加、查找、修改、删除、保存、读取、输出等一系列操作
2.总体设计方案对系统进行分析,给出系统结构图;主函数二.方案描述
1.流程图YYNYNYNYNYNNYNYNHYNYNY
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经常会“undefinedsymbol”这个词,就是十分粗心的未定义一个表达式就直接使用的情况7在调试删除模块时,偶尔会报错我仔细分析了程序后发现出错的原因在于对于输入数据没有保存成文件,但是函数在执行过程中会调用文件
2.有时候VC++
6.0的编译器会出现不可预知的错误,需要自己去判断,但是自己的资历很浅,所以有些问题根本看不出来,经常去请教知道指导老师和授课老师,或者跟同学互相讨论,或者上网搜查四.结论
1.运行结果程序的菜单
(1).选择输入功能时,先输入输入人数,再分别输入姓名,电话号码,工作性质,程序会自动保存,并在下一个页面显示输入的通讯录
(2).选择查找功能时,系统提示输入的姓名,输入后就会显示查找到的号码
(3).选择添加功能时,系统提示添加的姓名,号码,工作类型,然后就会显示的新通讯录
(4).选择删除功能时,系统提示输入删除人的姓名,输入后,就会显示删除后新的通讯录名单
5.选择修改功能时,系统会提示输入需要修改的学生姓名,输入后会显示请输入电话号码,完成后就会显示新的通讯录
(6).选择保存功能时,系统会提示输入要保存的文件名,输入后就会提示保存成功
(7).读取功能的过程与保存功能一样
(8).如果输入的信息不存在,就会显示对不起,未找到此人2.心得
1.由于对系统的很多方面考虑的不是很完善,使得系统在实际运用中可能不会很方便,系统没有做密码登陆,使得安全性降低缺少对数据的组合查询,及数据的降序排列,整体采用结构体数组,难度比链表的要低,但程序条理清晰,运行效率高,整体自己还是满意的,自己花了两周的时间,确实学到了不少东西,提高了自己的动手能力,自己还需不断的学习来提高自己
2.通过很多次的调试,我知道了在写程序的时候应该注重于细节,例如一个小的标点符号,就能使我们浪费一整天的时间来调试,所以细节非常重要;其次是要在编写程序之前应该想明白程序的功能,然后在进行写程序;最后在调试运行程序的时候应该注意到每一个程序的应用,看是否真真的能够实现其功能,不要漏掉一个细节通过这次课程设计我学会了很多,做事情不仅要有耐心,还要注重细节;虽然做不到最好,但是要尽自己的全力去做,不管对与错
3.经历了这次课程设计,不仅在意志力方面我得到了锻炼,更是对我的学习有很大的促进,在C语言程计的过程中我知道了自己在以前的学习中有很大的不足导致在设计过程中出现了很多的问题,有些地方看不懂也不知道怎么去设计,但是在设计过程中也学习了很多,虽然一时不能完全掌握以前没有学好的知识,不过也给自己敲响了警钟,在学习中不可以伏于表面,要想学好每一门课程都要踏踏实实,做什么都不是给别人看的,都是要更好地掌握该门知识,提高自身修养,提高自己的能力!为以后的工作打下良好的知识基础和技能基础!输入学生姓名电话及学生类型以文件的形式存入一个文件中添加新的学生信息包括姓名电话及类型按姓名删除学生通讯信息按姓名查询学生通讯信息(电话及类型)将保存好的文件读取到计算机内存中在屏幕上打印所有学生通讯信息通过学生姓名修改电话号码存储模块修改模块添加模块删除模块打印模块输入模块读取模块查询模块结束break读取文件Choice=8保存文件breakChoice=7break打印学生通讯信息Choice=6Choice=5break修改学生通讯信息Choice=4break删除学生通讯信息Choice=3break添加学生通讯信息Choice=2Choice=1Choice=0开始输入你的选择查找学生通讯信息输入学生通讯信息按任意键退出Default对不起无此项功能breakbreakbreak。