程序说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序功能说明书
程序功能说明:这个程序的主要功能是实现学生信息的录入、查询和删除功能,学生信息以文件形式保存(文件名data)。
程序启动后,首先通过load()函数从文件data中读取信息,然后进入一个
死循环(whlie(1)),显示提示界面,使用者根据提示信息选择操作,如果输入的是1,就开始录入信息(input),具体录入步骤见后文input()介绍。如果输入2,进入查询函数(find ()),具体查询步骤见后文find()函数介绍。如果输入3,进入如删除函数(del),具体删除方法见后文del函数介绍。如果输入错误就开始下一次循环。
一、功能截图
主界面
学生信息录入
学生信息查询
学生信息删除
三、本程序使用以下函数:del():实现学生信息删除find()实现学生信息查找input()实现学生信息录入load()读取文件信息save()保存信息
main()主函数
函数应用详细说明:
1、Del()
本函数实现学生信息的删除,函数开始需要输入要删除的学生的姓名,然后进入循环,循环50次,用获得的姓名与已有的姓名进行比较,如果有相同的就将其名字的第一位赋值为‘\0’,这样就代表删除,因为程序判断是否存在一个人的标准是看他名字的长度是否为0的,为0就是不存在。然后保存删除后的信息到文件,并提升删除成功2、find()
本函数实现学生信息的查询功能,函数开始需要输入要查询的学生的姓名,然后进入循环,循环50次,每次都用获得的姓名与已有的姓名进行比较,如果有相同的就显现出相应的信息。并坐上flag标记为1,表示已经找到了该同学的信息。
如果没有找到输入名字的信息(flag等于0),flag为0,就提示没有这个人,并要求重新输入。
如果找到了输入名字的信息,就显示信息已查到,并询问是否需要继续查找,然后根据用户的选择执行继续查找或停止查找。
3、input()
本函数实现学生信息的录入功能。函数开始需要进入一个循环(最多循环50次)找一个没有存储学生信息的位置,而前面说了,判断一个位置是否有储存信息的标准是这个位置的学生的名字长度是否为0,如果为0就表示没有存信息。这里就是这样判定的。
找到空位后就结束循环(break),并要求输入要录入的各种信息(姓名、学号等),然后提示信息录入完成,然后要求选择是否继续录入下一位同学信息,然后根据用户的选择进行操作,若选择继续录入就继续循环,否则跳出循环,录入结束。
4、load()
本函数实现从文件读取信息的功能,函数开始先打开文件,打开文件时用指针fp 指向文件,如果是第一次运行或者是文件被删除,就以w+新建一个文件,然后从文件中读取50个信息(循环50次),存储在stu中。最后关闭文件。
注释:r+ 以可读写方式打开文件,该文件必须存在。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
5、save()
本函数实现信息的保存功能,先打开文件(用fp指向文件),然后将50个信息写入文件(循环50次),最后关闭文件。
6、main()
main函数负责对整个程序的协调,程序启动后先从文件读取信息load(),然后进入一个死循环,显示提示菜单信息,并要求用户根据菜单提示进行操作的选择。然后根据用户的选择进行相应的操作。每步操作执行完之后又重新循环。
心得体会:通过这次的期末项目我觉得在自己对C语言的理解上面也深刻了一些。平时虽然说上课的时候老师讲的一些知识和内容也不是不懂,就以为自己真的学懂一些了。但是等到要真把我们所做的运用到实际中做,写程序的时候,才发现其实平时学的那些东西不能很好的融入进自己所想写的程序里。然后想了很多,和别人的交流。发现这是一种对编程思想的培养。因为当初刚来这里的时候,老师就告诉我们,计算机语言和程序本身是需要严密的逻辑思维的。所以现在我们还不能很熟练的运用进自己所学的融入进自己想写的程序,就是因为我们还没培养好那种对程序的编程思想。所以当看到别人的代码的时候会明白,但是让自己写就有点无从下手的感觉。就比如老师在讲函数的时候给我们说的,知道函数的意思和功能,却不能明确的知道在什么时候该用和不该用。所以我觉得改变这个现状和培养自己的方法就是先要熟练的知道自己所学,然后自己要动手多练多写代码。从最简单的开始,一次一次的来,多练,我想就可以培养自己对程序设计的思维了。计算机并不像别的专业,这门专业和别的专业差距有点大。要想学好这门课,除了上课的时候对老师所讲的要牢记于心。也要在课下多少时间去自习,更重要的事要学会运用所学。而不是更多的只是纸上谈兵。
BCIT10-1
龙宇