2013-03-05 34 views
0

我是visual studio的初学者,在命令行设置中只有C和C++代码。 目前,我正在开发一个模块(软件开发),它需要我提供费用跟踪器 - 帮助用户跟踪他/她日常开支的程序。因此,在每个单独的一天结束时,或者在用户使用完成该程序后,我们必须执行数据存储以将所有信息存储在一个地方,我们将在下次使用期间将其导出。初学者 - 通过XML或文本文件存储数据

我的约束包括不使用任何关系数据库(虽然我不知道它是什么:()数据存储必须使用XML或文本文件来完成在此之后,我有一个关于数据存储几个问题:。

1)如果数据存储成功,我们每次启动程序时都导出它吗?每次用户关闭程序后,我们都会覆盖现有的数据文件,然后相应地进行存储?

2)我听说过一些人使用文本文件可能更容易。在互联网和图书馆搜索只为我提供有关XML而不是文本的信息。任何人都可以帮助我吗?像教程链接和东西?

非常感谢!

+0

XML只是一个带格式规则的文本文件。但为什么不使用电子表格? Excel和其他人可以使用其中的表单。看起来比从零开始编写大量功能要容易得多。 – 2013-03-05 07:14:24

+0

嗨,我认为我的模块限制我们只是文本或XML文件。不过,你有没有关于如何将Excel集成到Visual Studio C++的链接?我们实际上对通过excel生成图表感兴趣 – user2114036 2013-03-05 08:08:22

+0

将输出写入XML:http://blogs.msdn.com/b/brian_jones/archive/2005/06/27/433152.aspx Excel然后可以读取您创建的那些文件并生成图形。然而,Excel有一个很好的机制来生成表单/图表,并且是一种非常容易的工具,可以用来完成费用表单等工作。 – 2013-03-05 08:21:13

回答

0

文件的写入/处理工作类似于C++中的每个其他缓冲区。

您可以使用fstream标题启用文件处理。每次程序运行时,您都可以创建一个文件,写入并覆盖写入,甚至可以在程序第一次运行时创建一个文件,然后在程序运行后再追加。

我只做过文本文件,从来没有尝试XML,但我猜他们是相似的。

http://www.cplusplus.com/doc/tutorial/files/应该给你你需要知道的一切。

+0

嗨,我已经学会了简单的创建/写入/关闭文件。例如,我知道如何写几行字符串和东西。但是,在我的项目中,我可能必须存储用户刚刚购买的项目的名称,价格,日期等信息。然后,随着用户继续使用该程序,这些信息将会增加。所以,当我开始运行程序时,我必须在所有这些信息中阅读?(我希望能够清楚:() – user2114036 2013-03-05 07:23:33

+0

所有这些信息都可以作为字符串存储,具体取决于你想如何做,每个字段可以是行分隔,空格等等,唯一会改变的就是你写的解析器以后读取数据 一旦信息存储在文件中,你不应该需要读取信息,这取决于你的程序试图做什么,例如,如果你的程序想要做的是存储信息存档/后代,你不需要在写完数据之后再读取数据,但是要说你是从你想要的文件中图表数据,这是否可以回答你的问题? – 2013-03-06 05:33:14

0

您对XML和纯文本的选择取决于您要存储的数据类型。 你只能在互联网上找到XML库的原因是XML比纯文本复杂得多。如果您不知道XML是什么,或者您存储的数据不是很复杂,那么我会建议使用纯文本。

例如,跟踪费用,您可以存储一个文件是这样的:

sandwich 5.00 
coffee 2.30 
soft drink 1.50 
... 

这很容易读/写行这样向/从一个文件中的C++。

+0

嗨,其实它稍微复杂一些。例如,我可以有几个用户,这些用户有自己的个人开支,对于开支本身,我们有不同的类别,如娱乐,食品,衣服等,每个类别都有他们自己的个人包含姓名,价格,日期,付款方式等个人物品,并且在每种付款方式下都会有相应的付款账号。是的,它稍微复杂一些,所以我可以知道如何存储数据?就像我想按他们的类别类型存储它们一样?谢谢! – user2114036 2013-03-05 07:33:36

+0

您可以向数据添加更多列。以上我有一个专栏描述(三明治,咖啡等)和一列的价格。您可以添加其他列,如类别或日期。然后,您可以在程序开始时阅读所有内容,并且当用户想要查看某个类别下的所有费用时,只需查看列表并向他们显示属于该类别的每个项目。 – TianyuZhu 2013-03-05 14:10:49