2013-03-05 63 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