number太小了!
给分吧!!!!!
给分吧!!!!!
解决方案 »
- 网页中编辑框的输入焦点
- 内存增加问题
- 请问有谁知道“windows优化大师”的界面是怎么做的啊???
- 为什么我创建的IpAddressCtrl是只读的?
- 谁帮我把这段300行的代码注释一遍,我这100分全给他,不够可再加。好急啊!!
- 那里有关于图形编程的好的网站,可以有源代码下载
- 请问CListCtrl可以实现网格吗?
- 怎样让一个托盘程序的图标闪阿闪的
- 我仅有180分,一个关于SQL SERVER2000数据库查询的问题,
- 如何使SHBrowseForFolder只能选择本地目录,不能选择网络路径
- 如果在析构函数中抛出异常,对象就不会被正常撤消,就会产生内存泄漏,怎么办?
- 大家对做解释程序有什么想法?
char str[8];
Node *next;
};class Table
{
private: Node *table;
public:
Table(){table=0;}; //构造函数
int TableSize(); //得到链表的长度
void DispRecord(); //显示记录
void InsertRecord(char str[8]); //插入记录
void DeleteRecord(HWND,int number); //删除记录
char *SeekRecord(HWND,int number); //查询结果
void SaveFile(HWND); //保存文件
void ReadFile(HWND); //读取文件
};int Table::TableSize()
{
Node *cp=table;
int i=0;
while(cp!=0)
{
i++;
cp=cp->next;
}
return i;
}void Table::DispRecord()
{
/* Node *cp=table;
if(cp==0)
{
MessageBox(hwnd,
cout<<"No record"<<endl;
}
while(cp!=0)
{
cout<<cp->str<<endl;
cp=cp->next;
}
return;
*/
}void Table::InsertRecord(char str[8])
{
Node *np,*cp;
np=new Node;
int size;
size=TableSize();
//cout<<size<<endl;
strcpy(np->str,str);
np->next=0;
if(table==0)
table=np;
else
{
cp=table;
while(cp->next!=0)
{
cp=cp->next;
}
cp->next=np;
}
}
void Table::DeleteRecord(HWND hwnd,int number)
{
int i=0;
Node *cp,*np=0;
np=cp=table;
if(cp==0)
{
MessageBox(hwnd,"没有记录可以删除","错误",MB_OK);
return;
}
while(cp!=0)
{
i++;
if(i==number)
break;
else
{
np=cp;
cp=cp->next;
}
}
if(np==0)
{
//np=table;
table=table->next;
//delete np;
}
else
np->next=cp->next;
}char * Table::SeekRecord(HWND hwnd,int number)
{
int i=0,tablesize;
Node *cp;
tablesize=TableSize();
if(number>tablesize||number<0)
{
MessageBox(hwnd,"你输入的序号不对","错误",MB_OK); exit(0);
}
cp=table;
//MessageBox(hwnd,"Seekreocrd","ok",MB_OK);
while(cp!=0)
{
i++;
if(i==number)
break;
cp=cp->next;
}
return cp->str ;
}void Table::SaveFile(HWND hwnd)
{
FILE *fp;
Node *cp;
int i=0;
fp=fopen("pealcard.dat","wb+");
if(fp==0)
{
MessageBox(hwnd,"不能打开文件","错误",MB_OK); }
cp=table;
while(cp!=0)
{
fwrite(cp->str,sizeof(cp->str),1,fp);
cp=cp->next;
}
fclose(fp);}void Table::ReadFile(HWND hwnd)
{
FILE *fp;
char str[8]; fp=fopen("d:\\card.dat","rb+");
if(fp==0)
{
MessageBox(hwnd,"不能打开文件","错误",MB_OK);
exit(0);
}
while(!feof(fp))
{
if(fread(str,sizeof(str),1,fp)!=0) {
InsertRecord(str);
}
} fclose(fp);
}
when you seek record: strcpy(mystr, cp->str);
then return mystr.
try!