C语言源程序至可执行文件步骤
1.C语言源程序至可执行文件步骤 篇一
关键词:文件,家庭理财程序
读取文件中的数据和将数据写入文件的相关编程技术是使用计算机程序解决实际问题所必需的。C语言具有较强的文件处理功能,可以将程序运行时所需的原始数据从文件中读取,并将程序运行的结果写入到文件中,提高数据的输入输出的处理效率。本文以"家庭理财程序"的设计与实现为例,利用文件存储数据,对数据进行操作,阐述C语言文件处理的过程和方法。
一、需求分析
为了实现家庭合理收入支出,利用现代科技,实现家庭理财管理,及时了解家庭财政状况。所有收支项目信息都存储在notebook文件中,用户根据需要对文件数据进行操作,可增加一条家庭收支项目记录(收支钱数为正数代表收入,负数代表支出),随时列出家庭所有收支项目记录,查询最后一次输入的收支项目记录,显示家庭收支结余钱数等。
二、程序设计与实现
1、程序设计思路
首先设计家庭收支项目记录的数据结构,使用到结构体。C程序是由函数构成的,根据系统功能进行设计,本程序的函数包括:主函数main () 、显示用户界面函数menu () 、增加一条家庭收支项目记录函数add_item () 、显示家庭所有收支项目记录函数all_item () 、查询最后一次输入的家庭收支项目记录函数last_item () 、统计家庭所有收支项目记录总数函数item_count () 。各函数间通过函数调用实现功能的整合, 其中主函数分别调用menu () 、add_item () 、all_item () 、last_item () 函数,显示用户菜单界面、根据菜单选择,实现增加一条家庭收支项目记录,显示家庭所有收支项目记录,查询家庭最后一次输入的收支项目记录、查看收支结余的功能。
2、程序实现方法
(1) 定义家庭收支项目记录的数据结构item
(2) 定义显示用户界面函数menu ()
说明:定义用户界面,显示用户选择主菜单。家庭理财程序界面如图1所示。
功能:首先系统显示用户界面,提供菜单供用户选择,菜单包括四个选项,若用户输入1并按Enter键,表示用户要增加一条家庭收支项目记录;若用户输入2并按Enter键,表示用户要显示家庭所有收支项目记录;若用户输入3并按Enter键,表示用户要查询最后一次家庭收支项目记录;若用户输入0并按Enter键,表示退出系统,结束程序。
(3) 定义统计家庭所有收支项目记录总数函数longitem_count (FILE*fp)
说明:所有家庭收支项目记录信息都存储在文件中,首先将文件指针定位到文件首,获取文件开始位置begin,然后将文件指针移动到文件尾,获取文件结束位置end,最后,通过 (end-begin) /sizeof (struct item) -1计算家庭所有收入支出项目记录总数。其中使用到文件随机定位函数fseek () 和获取当前位置指针函数ftell () 。
(4) 定义增加一条家庭收支项目记录函数voidadd_item (FILE*fp)
功能:实现主界面菜单1功能,若用户输入1并按Enter键,表示用户要增加一条家庭收支项目记录。效果如图2所示:
(5) 定义显示家庭所有收支项目记录函数voidall_item (FILE*fp)
功能:实现主界面菜单2功能,若用户输入2并按Enter键,表示用户要显示家庭所有收支项目记录。效果如图3所示:
说明:首先将文件指针定位到文件首,逐条读取每条收支项目数据,读取时判断文件是否结束,使用到文件结束检测函数feof () ,若文件未结束,继续读取记录并在屏幕上显示输出相应信息,若文件结束,结束程序。
(6) 定义查询最后一次输入的家庭收支项目记录函数void last_item (FILE*fp)
功能:实现主界面菜单3功能,若用户输入3并按Enter键,表示用户要查询最后一次家庭收支项目记录信息。效果如图4所示:
说明:首先调用统计家庭所有收支项目记录总数函数item_count () ,确定文件中是否有记录,若有记录,则使用随机定位函数fseek () 将文件指针定位到文件最后一条记录,然后使用随机读函数fread () 从文件中读取该记录,最后在屏幕上显示最后一次输入的家庭收支项目记录数据信息。若文件中没有记录,输出错误提示信息"no items in file!"。
(7) 定义主函数main ()
功能:按一定顺序调用各功能函数,串起整个程序,实现系统所有功能。
实现代码如下:
三、结论与分析
C语言中文件处理的一般过程可归纳为三个步骤:打开文件、读写文件和关闭文件。先利用fopen () 函数配合恰当的使用方式打开文件,再选择适当的读写函数读写文件,最后切记一定要利用fclose () 函数关闭该文件,避免意外的发生。文件的读写方式有顺序读写和随机读写,在读写文件尤其是读文件时应关注文件的位置指针,必要时可使用rewind () 函数重定位或fseek () 函数移动位置指针, 进行随机读写。
参考文献
[1]杨俊红主编.C语言程序设计项目化教程.中国水利水电出版社, 2010年.
【C语言源程序至可执行文件步骤】推荐阅读:
《C语言程序设计》说课稿07-13
c语言程序设计试题四08-06
ATM机C语言程序09-20
c语言程序设计第一章07-18
c语言程序设计试题集07-28
C语言程序设计课程教学设计08-27
C语言程序设计2教学大纲09-06
C语言程序设计考试题答案10-11
c语言程序设计课程教学大纲20110-31
A01_C语言程序设计课程说明07-11