廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3692 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
f81513
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] 用c++建置一個簡易的會員系統
剛學c++沒多久
老師派了一個作業
是要使用c++建置一個簡易的會員系統

我的程式碼
不知道為什麼新增會員無法新增到檔案裡
拿原本就存在二元檔裡面的帳號密碼登入也沒有辦法

已經困惑了好多天也修改了好久了
但是就是不知道哪裡出錯了
請高手幫忙看一下
萬分感謝


#include <iostream>
#include <fstream>
using namespace::std;
struct memberRecordFormat
{
char account;//帳號
char password;//密碼
char name;//姓名
char cellPhone;//手機
};
void check (char* id ,memberRecordFormat memberfile ,int &counter )//看是不是檔案裡就有的帳號
{
int i ;
for ( i = 1 ; i <= counter ; i++ )
{
while ( strcmp ( id , memberfile.account ) == 0 )//看這個帳號有沒有重複
{
cout << "此帳號已有人使用\n";
cout << "請輸入帳號: ";
cin >> id ;
cout << endl;
}
}
}
int main()
{
memberRecordFormat memberfile;//新建的資料(檔案裡的)

fstream inFile( "file.dat", ios::in | ios:: out | ios::binary );//開檔
while( !inFile )//看有沒有開成功
{
cout << "File could not be opened" << endl;
system("pause");
exit( 1 );
}

int counter = -1;

while(!inFile.eof())//讀檔案裡面的資料
{
counter++;
inFile.read( reinterpret_cast< char * > ( &memberfile ), sizeof( memberRecordFormat ) );//把資料存進檔案中
}
inFile.close();//關檔


int first;//選擇第一步
int second;//選擇第二步

char id;//帳號
char pass;//密碼
char nam;//名字
char cell;//手機

cout << "請輸入:\n1.會員登入\n2.加入會員\n";
cin >> first;//輸入選擇
cout << endl;

if( first < 1 || first > 2 )//如果沒有選1或2時
{
while(first < 1 || first &g ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容




獻花 x0 回到頂端 [樓 主] From:台灣教育部 | Posted:2010-12-09 21:31 |
totsi
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x53
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

我c++也是初學,不過建議可以先參考一下附圖。
輸入之資料
輸入之資料

讀回的寫出資料
讀回的寫出資料

所以不是沒寫出去,而是寫出去的值錯了。所以只要針對讀寫檔部分處理就好。

還有,結構取binary檔內的資料時,用的是data size。
但是你寫出的卻是NULL-terminate的資料,所以即使資料寫出去了,讀回來還是錯的。

所以建議用struct寫出去的,就用struct讀回來。
但要小心改版本時structure size會有機會不一致的問題。


恩...
獻花 x0 回到頂端 [1 樓] From:台灣中華電信 | Posted:2010-12-13 12:34 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.071803 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言