首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

各位大神,小弟我用vs2010写的代码在VC6.0编译报错

2012-09-01 
求助各位大神,我用vs2010写的代码在VC6.0编译报错我在VS2010写的代码编译没错,放到VC6.0里面就会报错,原因

求助各位大神,我用vs2010写的代码在VC6.0编译报错
我在VS2010写的代码编译没错,放到VC6.0里面就会报错,原因应该出在for(int i....)这句中,6.0貌似不能将i的定义写在循环中,但是我把它写在括号外面,出现了另外几个让我不知所措的错误?求大神帮我看看,我是新手,不是很懂,倒底是为什么啊?
[code=C/C++][/code]#include <iostream>
#include<fstream>
#include <stdio.h>
using namespace std;
struct contact//联系人结构定义
{
char name[20];
char phone[12];
};
contact people_creat[100],people_show[100];//定义2个对象数组
fstream file1,file2;//定义读写文件对象
void creat_list()//添加联系人
{
int count=0;
for(int i=0;;i++)
{
count+=1;
cout<<"输入第"<<i+1<<"个联系人姓名、手机号"<<endl;
cin>>people_creat[i].name>>people_creat[i].phone;
cout<<"继续添加请输入1否者输入0:";
int sign;//判断是否跳出循环
cin>>sign;
if(!sign)
break;
}
file1.open("c:\\address list.txt",ios::out|ios::app);//以out和app方式打开文件
if(!file1)//判错
{
cout<<"文件打开失败"<<endl;
return;
}
for(int i=0;i<count;i++)
{
file1.write((char*)&people_creat[i],sizeof(contact));//写入文件
}
file1.close();
}
void show_list()//查看通讯录
{
file2.open("c:\\address list.txt",ios::in);
if(!file2)
{
cout<<" ☆请先创建通讯录!!!!!!!!!!"<<endl;
return;
}
cout<<" "<<"姓名\t电话"<<endl;
  for(int i=0;i<100;i++)
{
file2.read((char*)&people_show[i],sizeof(contact));//读取文件
if(!file2.eof())//判断文件是否读取完毕
cout<<" "<<people_show[i].name<<"\t"<<people_show[i].phone<<endl;
}
file2.close();
}
void find_people()//查找联系人
{
char name[20];
char phone[12];
file2.open("c:\\address list.txt",ios::in);
if(!file2)
{
cout<<" ☆请先创建通讯录!!!!!!!!!!"<<endl;
return;
}
int choice;//选择名字或电话查找
cout<<"通过名字查找请输入1,通过电话查找请输入0:";
cin>>choice;
if(choice==1)
{
cout<<"输入查找人姓名:";
cin>>name;
}
else if(choice==0)
{
cout<<"请输入手机号:";
cin>>phone;
}
  for(int i=0;i<100;i++)
{
file2.read((char*)&people_show[i],sizeof(contact));
if(!file2.eof())
{
if(choice==1)
{
if(strcmp(people_show[i].name,name)==0)//判断名字字符串相等
{
cout<<"\n "<<people_show[i].name<<"\t"<<people_show[i].phone<<endl;
break;
}
}
else if(choice==0)
{
if(strcmp(people_show[i].phone,phone)==0)//判断电话字符串判相等
{
cout<<"\n "<<people_show[i].name<<"\t"<<people_show[i].phone<<endl;
break;
}
}
else//输入选择不为1或0时报错
{
cout<<"\n 输入错误,请重新选择!\n"<<endl;
break;
}
}
else
{
cout<<"\n 没有此人!\n"<<endl;
break;
}
}
file2.close();
}
void delete_list()//删除整个通讯录
{
  file2.open("c:\\address list.txt",ios::out|ios::trunc);//trunc方式打开文件,若文件存在则清空
  file2.close();
  cout<<"删除成功"<<endl;
}
void delete_people()//删除联系人
{
int key_mid=0;//查找与输入名字相同的联系人所在的对象数组下标保存至key_mid
int key_max=100;//读取文件确定最大对象数组下标保存至key_max
bool flag=0;//判断是否有用户所输入的名字
file2.open("c:\\address list.txt",ios::in);
if(!file2)
{
cout<<" ☆请先创建通讯录!!!!!!!!!!"<<endl;
return;
}
for(int i=0;i<100;i++)
{
file2.read((char*)&people_show[i],sizeof(contact));


if(!file2.eof())
key_max=i;
  }
file2.close();
file2.open("c:\\address list.txt",ios::in);
  cout<<"输入要删除人的姓名:";
  char name[20];
  cin>>name;
  for(int i=0;i<100;i++)
{
file2.read((char*)&people_show[i],sizeof(contact));
if(!file2.eof())
{
if(strcmp(people_show[i].name,name)==0)//字符串判相等
{
key_mid=i;
flag=1;//查找成功,则标志为1
cout<<"\n 删除成功!"<<endl;
break;
}
}
else
{
cout<<"\n 没有此人!"<<endl;
break;
}
}
file2.close();
if(flag)
{
file2.open("c:\\address list.txt",ios::out);
for(int j=0;j<key_max+1;j++)//通过重写文件跳过要删除的项来达到删除效果
{
if(j==key_mid)//跳过下标为key_mid的对象
continue;
file2.write((char*)&people_show[j],sizeof(contact));
}
file2.close();
}
}
int main()
{
int choice;//选择菜单
do{
cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n";
cout<<" ☆ ☆\n";
cout<<" ☆ 欢迎使用通讯录 ☆\n";
cout<<" ☆ ☆\n";
cout<<" ☆ 制作:王星云 ☆\n";
cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n";
cout<<"请选择功能<0-5>:\n\n";
cout<<" 1.添加联系人\n";
cout<<" 2.查看通讯录\n";
cout<<" 3.查找联系人\n";
cout<<" 4.删除联系人\n";
cout<<" 5.删除通讯录\n";
cout<<" 0.退出\n\n";
cout<<"\n选择:";
cin>>choice;
cout<<endl;
if(choice<5)//输入错误判断
{
switch(choice)
{
case 1:creat_list();system("pause");system("cls");
break;
case 2:show_list();system("pause");system("cls");
break;
case 3:find_people();system("pause");system("cls");
break;
case 4:delete_people();system("pause");system("cls");
break;
case 5:;delete_list();system("pause");system("cls");
break;
case 0:system("cls");cout<<"\n 感谢使用,欢迎提出宝贵意见\n\n\n";
}
}
}while(choice!=0);
return 0;
}

[解决办法]
珍惜生命,远离VC6这个垃圾货。
结贴吧,别浪费时间了。

热点排行