2011-03-07 75 views
2

我试图创建一个顺序文件,但它似乎并没有工作。任何人都可以解释如何让它在MS Visual Studio 2010中工作吗?创建一个顺序文件

#include <iostream> 
#include <string> 
#include <fstream> 
#include <cstdlib> 
using namespace std; 

int main() 
{ 
    ofstream outClientFile("clients.dat", ios::out); 

    if (!outClientFile) 
    { 
     cerr << "File could not be opened" << endl; 
     exit(1); 
    } 

    cout << "Enter the Appointment Date, Time, Duration, Name," << endl 
     << "Description, Contact Name, and Contact Number.\n? "; 

    int appDate, appTime, appContactNum; 
    string appName, appDescription, appContactName; 
    double appDuration; 

    while (cin >> appDate >> appTime >> appDuration >> 
     appName >> appDescription >> appContactName >> appContactNum) 
    { 
     outClientFile << appDate << ' ' << appTime << ' ' << appDuration << ' ' << appName << ' ' << appDescription << ' ' << appContactName << ' ' << appContactNum << endl; 
     cout << "? "; 
    } 
} 

这里是我输入一行后的输出。

Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file 
Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file 
Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file 
Loaded 'C:\Windows\SysWOW64\msvcp100d.dll', Symbols loaded. 
Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded. 
The program '[452] CSC275 Assignment 3.exe: Native' has exited with code 0 (0x0). 
+0

你能举一个你正在使用的输入的例子吗? – 2011-03-07 02:00:06

+0

以下是我正在使用的输入:03062011 1030 2.5牙医清洁Joshua 5552492131 – Joshua 2011-03-07 02:01:54

+0

我可能已经完成了它的工作。我只是将我的int变量改为double。 – Joshua 2011-03-07 02:04:39

回答

1

不能使用int存储10位的电话号码,你可以存储将是“最大的”电话号码(在signed int2147483647或(在unsigned int4294967295。这些都不够大,无法存储我的家乡电话号码,区号为503541971Strings are probably best for storing phone numbers,因为他们扩大处理来自捷克共和国或美属萨摩亚等地的电话号码。

我也很喜欢用double来存储除数学,科学数据或物理模拟以外的任何东西。我可能会对此有点偏执,因为在这方面大多数使用double的应用程序大部分都会忽略它,但是double完全可以存储数据,直到你稍微超出边界为止,此时它们实际上存储的数据非常接近。

+0

好的。现在,当我读取文件时,我创建的日期打印为“5903ED4803062011”,这就是当我将日期作为字符串变量存储时。它为什么这样做,我该如何解决它? – Joshua 2011-03-07 02:54:47

+0

没关系我修复它。 – Joshua 2011-03-07 03:14:42

+0

@Joshua,谢谢。我很想知道你是如何解决问题的。 :) – sarnold 2011-03-07 07:09:18