c++不知道哪里错了??
错误:equipment\equipment.cpp(214):errorC2601:'file':localfunctiondefinitionsareillegale...
错误:equipment\equipment.cpp(214) : error C2601: 'file' : local function definitions are illegal
equipment\equipment.cpp(225) : error C2601: 'main' : local function definitions are illegal
源文件: void Equipment::sort()
{
int x;
int i(0);
int j(0);
int t1;
int t2;
cout<<"请输入您所需的排序模式序号(1.设备价格,2设备号)";
switch(x)
{
case 1:{
for(;i<10-1;i++)
for(;j<10-i-1;j++) //升序冒泡法,,,可添加设备了咋办捏~~~
{
if(equipment[j].price<equipment[j+1].price)
{
t1=equipment[j].price;
equipment[j].price=equipment[j+1].price;
equipment[j+1].price=t1;
}
}
break;
}
case 2:{
for(;i<10-1;i++)
for(;j<10-i-1;j++) //升序冒泡法,,,可添加设备了咋办捏~~~
{
if(equipment[j].num<equipment[j+1].num)
{
t2=equipment[j].num;
equipment[j].num=equipment[j+1].num;
equipment[j+1].num=t2;
}
}
break;
}
default:cout<<"输入有误!!!"<<endl;
}
void Equipment::file()
{
ofstream outfile("equipment.txt");
for(int i=0;i<10;i++)
{
outfile<<equipment[i].amount<<setw(5)<<equipment[i].price<<setw(5)
<<equipment[i].num<<setw(5)<<equipment[i].lyr<<setw(5)
<<equipment[i].sbmc<<setw(5)<<equipment[i].ssbm<<setw(5)<<equipment[i].gmsj<<endl;
}
outfile.close();
}
void main()
{
cout<<"\n\n";
cout<<"\t ☆☆☆欢迎进入设备管理系统☆☆☆ "<<endl;
cout<<"\t 工程管理3班 12组设计 "<<endl;
loop:
cout<<"\t*********************************************************"<<endl;
cout<<"\t*********************************************************"<<endl;
cout<<"\t*** 1.添加设备信息 2.修改设备信息 3.删除设备信息 ***"<<endl;
cout<<"\t*** 4.查询设备信息 5.显示设备信息 6. 退出系统 ***"<<endl;
cout<<"\t*********************************************************"<<endl;
cout<<"\t*********************************************************"<<endl;
cout<<"请输入菜单序号:";
int choose;
cin>>choose;
file();
switch(choose)
{
case 1: add();
goto loop; //省去break;
case 2: replace();;
goto loop;
case 3:cancel();
goto loop;
case 4:style();
goto loop;
case 5:Display;
goto loop;
case 6:cout<<" 欢迎再次使用本系统 bye-bye~ "<<endl;
exit(0);
default:cout<<" 输入有误!!!"<<endl;
goto loop;
}
}
急急急急急!!!! 展开
equipment\equipment.cpp(225) : error C2601: 'main' : local function definitions are illegal
源文件: void Equipment::sort()
{
int x;
int i(0);
int j(0);
int t1;
int t2;
cout<<"请输入您所需的排序模式序号(1.设备价格,2设备号)";
switch(x)
{
case 1:{
for(;i<10-1;i++)
for(;j<10-i-1;j++) //升序冒泡法,,,可添加设备了咋办捏~~~
{
if(equipment[j].price<equipment[j+1].price)
{
t1=equipment[j].price;
equipment[j].price=equipment[j+1].price;
equipment[j+1].price=t1;
}
}
break;
}
case 2:{
for(;i<10-1;i++)
for(;j<10-i-1;j++) //升序冒泡法,,,可添加设备了咋办捏~~~
{
if(equipment[j].num<equipment[j+1].num)
{
t2=equipment[j].num;
equipment[j].num=equipment[j+1].num;
equipment[j+1].num=t2;
}
}
break;
}
default:cout<<"输入有误!!!"<<endl;
}
void Equipment::file()
{
ofstream outfile("equipment.txt");
for(int i=0;i<10;i++)
{
outfile<<equipment[i].amount<<setw(5)<<equipment[i].price<<setw(5)
<<equipment[i].num<<setw(5)<<equipment[i].lyr<<setw(5)
<<equipment[i].sbmc<<setw(5)<<equipment[i].ssbm<<setw(5)<<equipment[i].gmsj<<endl;
}
outfile.close();
}
void main()
{
cout<<"\n\n";
cout<<"\t ☆☆☆欢迎进入设备管理系统☆☆☆ "<<endl;
cout<<"\t 工程管理3班 12组设计 "<<endl;
loop:
cout<<"\t*********************************************************"<<endl;
cout<<"\t*********************************************************"<<endl;
cout<<"\t*** 1.添加设备信息 2.修改设备信息 3.删除设备信息 ***"<<endl;
cout<<"\t*** 4.查询设备信息 5.显示设备信息 6. 退出系统 ***"<<endl;
cout<<"\t*********************************************************"<<endl;
cout<<"\t*********************************************************"<<endl;
cout<<"请输入菜单序号:";
int choose;
cin>>choose;
file();
switch(choose)
{
case 1: add();
goto loop; //省去break;
case 2: replace();;
goto loop;
case 3:cancel();
goto loop;
case 4:style();
goto loop;
case 5:Display;
goto loop;
case 6:cout<<" 欢迎再次使用本系统 bye-bye~ "<<endl;
exit(0);
default:cout<<" 输入有误!!!"<<endl;
goto loop;
}
}
急急急急急!!!! 展开
3个回答
展开全部
void Equipment::sort() {
int x;
int i(0);
int j(0);
int t1,t2; // ***** t1、t2的类型应与equipment一致,请修改。 ******
cout<<"请输入您所需的排序模式序号(1.设备价格,2设备号)";
cin >> x;
switch(x) {
case 1:
for(;i < 10 - 1;i++) {
for(;j < 10 - i - 1;j++) { //升序冒泡法,,,可添加设备了咋办捏~~~
if(equipment[j].price < equipment[j + 1].price) {
t1 = equipment[j];
equipment[j] = equipment[j + 1];
equipment[j + 1] = t1;
}
}
}
break;
case 2:
for(;i < 10 - 1;i++) {
for(;j < 10 - i - 1;j++) { //升序冒泡法,,,可添加设备了咋办捏~~~
if(equipment[j].num < equipment[j + 1].num) {
t2 = equipment[j];
equipment[j] = equipment[j + 1];
equipment[j + 1] = t2;
}
}
}
break;
default:cout<<"输入有误!!!"<<endl;
}
}
void Equipment::file() {
ofstream outfile("equipment.txt");
for(int i = 0;i < 10;i++) {
outfile << equipment[i].amount<<setw(5)<<equipment[i].price<<setw(5)
<<equipment[i].num<<setw(5)<<equipment[i].lyr<<setw(5)
<<equipment[i].sbmc<<setw(5)<<equipment[i].ssbm<<setw(5)<<equipment[i].gmsj<<endl;
}
outfile.close();
}
void main() {
cout<<"\n\n";
cout<<"\t ☆☆☆欢迎进入设备管理系统☆☆☆ "<<endl;
cout<<"\t 工程管理3班 12组设计 "<<endl;
cout<<"\t*********************************************************"<<endl;
while(1) {
cout<<"\t*********************************************************"<<endl;
cout<<"\t*** 1.添加设备信息 2.修改设备信息 3.删除设备信息 ***"<<endl;
cout<<"\t*** 4.查询设备信息 5.显示设备信息 6. 退出系统 ***"<<endl;
cout<<"\t*********************************************************"<<endl;
cout<<"\t*********************************************************"<<endl;
cout<<"请输入菜单序号:";
int choose;
cin >> choose;
//file();
switch(choose) {
case 1: add(); break; // 不用或少用无条件转移命令
case 2: replace(); break;
case 3: cancel(); break;
case 4: style(); break;
case 5: Display(); break;
case 6:cout<<" 欢迎再次使用本系统 bye-bye~ "<<endl;
return 0;
default:cout<<" 输入有误!!!"<<endl;
break;
}
}
}
更多追问追答
追问
还是不对...
追答
需要修改临时变量t1和t2的类型,改了没有。
展开全部
file(); 这个函数是Equipment类的函数吧 不是静态成员函数都要先创建一个类对象才能通过该对象的.运算符来调用相应的成员函数。如果是静态的则要在file函数前加上相应的域限定符Equipment::。这样编译器才能找到你的函数啊!
追问
不懂,,,麻烦你直说这代码怎么改吧~~谢谢
追答
你先创建一个Equipment类的对象,再调用其成员函数file() 比如:Equipment equip; equip.file();
你直接在main函数中调用找不到的file() 当然编译器会报错 还有,你main函数是无返回值的,你就不要retun 0了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>using namespace std;int main(){ cout<<"1.加法"<<endl; cout<<"2.减法"<<endl; cout<<"3.乘法"<<endl; cout<<"4.除法"<<endl; int num,a,b; char c;//字符是char类型 do{//掉大括号了 cout<<"请输入计算法则"<<endl; cin>>num; cout<<"请输入两个数字"<<endl; switch(num) { case 1: { cin>>a>>b;//去掉endl cin没这种用法 cout<<a<<"+"<<b<<"="<<a+b<<endl;break; } case 2: {cin>>a>>b; cout<<a<<"-"<<b<<"="<<a-b<<endl;break; } case 3: {cin>>a>>b; cout<<a<<"*"<<b<<"="<<a*b<<endl;break; } case 4: {cin>>a>>b; cout<<a<<"/"<<b<<"="<<a/b<<endl; } } cout<<"是否继续计算,如果继续,输入y,否则,结束"<<endl; cin>>c;//接收字符 }while (c=='y'||c=='Y');//掉了分号,判断条件是两个等号 return 0;}程序帮你改好了,若有疑问请追问,满意请采纳~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询