注册 登录
编程论坛 C++教室

我一程序出现错误 麻烦高手给看下

情非得已 发布于 2011-05-24 11:08, 487 次点击
fatal error C1083: Cannot open include file: 'function.h': No such file or directory
9 回复
#2
情非得已2011-05-24 11:09
百度上说   看看有没有#include "function.h"  这个错误提示你包含了一个不存在的文件
 我不是太理解啥意思
#3
Pirelo2011-05-24 11:14
就是你当前编译的文件中,调用了function.h文件中的function
#4
lianjiecuowu2011-05-24 13:04
function.h是你自己的编写的头文件?还是系统自动提供的啊,如果是自己定义便携的头文件,那就相当于调用一样,怕是你以为是系统自行提供的,当然会提示错误啦
#5
情非得已2011-05-24 20:47
function.h  不是系统自带的吗
#6
lucky5635912011-05-25 08:07
没有这个头文件,应该是#include <function.h>
#7
永会2011-05-25 10:14
应该自己写头文件
#8
情非得已2011-05-25 21:48
我把程序发上来大家帮忙看下吧  
#include<iostream.h>
#include<windows.h>
#include"function.h"
int main()
{
    int n;
    do
    {
    desktop();
    cin>>n;
    system("cls");
    if(n==1)
        {
            input();
            
        }
        else if(n==2)
        {
            sort();
        }
        else if(n==3)
        {   
            search();
        }
        else if(n==4)
        {   
            reput();
        }
        }
    while(n!=0);
    return 0;
 }

Function.h

#include<iostream.h>
#include<windows.h>
struct product
{
    int code;
    char name[10];
    float amount;
    float sales;
    float stock;
}pro[5];
//……产品输入……
void input()
{
    for(int i=0;i<5;i++)
    {
        cout<<"请输入第"<<i+1<<"种产品代码:";
       cin>>pro[i].code;
        cout<<"请输入第"<<i+1<<"种产品名称:";
        cin>>pro[i].name;
        cout<<"请输入第"<<i+1<<"种产品数量:";
        cin>>pro[i].amount;
        cout<<"请输入第"<<i+1<<"种产品销售量:";
        cin>>pro[i].sales;
        pro[i].stock=pro[i].amount-pro[i].sales;
         system("cls");
    }
}

//……产品库存量升序排列
void sort()
{
    product temp;
    for(int i=0;i<5-1;i++)
        for(int j=i+1;j<=5-1;j++)
            if(pro[i].stock>pro[j].stock)
            {
                temp=pro[i];
                pro[i]=pro[j];
                pro[j]=temp;
            }
            for(int j=0;j<=5-1;j++)
            {
                cout<<"库存量排第"<<j+1<<"种产品的库存是"<<pro[j].stock<<endl;
                cout<<"代码是"<<pro[j].code<<endl;
                cout<<"名称是"<<pro[j].name<<endl;
                cout<<"数量是"<<pro[j].amount<<endl;
                cout<<"销售量是"<<pro[j].sales<<endl<<endl;
            }
            system("pause");
            system("cls");
}
//……产品代码查找……
void search()
{
        int code[5]={1,2,3,4,5};
        bool flag=0;
        int b;
        cout<<"请输入要查询的代码为:";
        cin>>b;
        for(int i=0;i<5;++i)
            if(b==pro[i].code)
            {
                flag=1;
                cout<<"产品代码:"<<pro[i].code<<" "
                    <<"名称:"<<pro[i].name<<" "
                    <<"数量:"<<pro[i].amount<<" "
                    <<"销售量:"<<pro[i].sales<<endl;
            }
        if(flag==0)
            cout<<"此代码不存在!"<<endl;
        system("pause");
        system("cls");
 }  
//……修改已输入产品信息
void reput()
{
    int code;
    cout<<"已输入产品代码分别是:"<<endl;
    for(int k=0;k<=5-1;k++)
        cout<<pro[k].code<<endl;
    cout<<"您要修改的产品代码是多少?"<<endl;
    cin>>code;
    for(int i=0;i<=4;i++)
    {
        if (pro[i].code==code)    break;
    }
    if(i==5)
        cout<<"没有您要修改的产品"<<endl;
    else
    {
        cout<<"请输入您要修改的产品的代码"<<endl;
        cin>>pro[i].code;
        cout<<"请输入您要修改的产品的名字"<<endl;
        cin>>pro[i].name;
        cout<<"请输入您要修改的产品的数量"<<endl;
        cin>>pro[i].amount;
        cout<<"请输入您要修改的产品的销售量"<<endl;
        cin>>pro[i].sales;
        pro[i].stock=pro[i].amount-pro[i].sales;
    }
    system("pause");
       system("cls");
}
//++++++++++++++desktop+++++++++++++++
void desktop()
{
    cout<<endl;
    cout<<"********************欢迎进入产品管理系统********************"<<endl
        <<" ***                 请选择您要的服务                     ***"<<endl
        <<" ***                 1.输入产品信息                       ***"<<endl
        <<" ***                 2.查看产品信息                       ***"<<endl
        <<" ***                 3.查找产品信息                       ***"<<endl
        <<" ***                 4.修改产品信息                       ***"<<endl
        <<"***                 0.退出系统                           ***"<<endl
        <<"***********************************************************"<<endl;
    cout<<endl;
    cout<<"请输入相应的代码:";
}
#9
linw12252011-05-25 22:06
是照书本上抄的吧?
书上见过,我也不太懂,但是我觉得如果用头文件定义的那种形式的话,应该是 #include"function.h" 与那个主函数main 应该是两个不同的代码执行文件。
把那个#include"function.h"去掉,把下面的那段代码整合到main函数的那段代码里面应该就可以了。
纯属个人见解。
#10
format1232011-05-26 07:45
程序代码:
#include<iostream.h>
#include<windows.h>
#include "Function.h"




//……产品输入……
void input()
{
    for(int i=0;i<5;i++)
    {
        cout<<"请输入第"<<i+1<<"种产品代码:";
       cin>>pro[i].code;
        cout<<"请输入第"<<i+1<<"种产品名称:";
        cin>>pro[i].name;
        cout<<"请输入第"<<i+1<<"种产品数量:";
        cin>>pro[i].amount;
        cout<<"请输入第"<<i+1<<"种产品销售量:";
        cin>>pro[i].sales;
        pro[i].stock=pro[i].amount-pro[i].sales;
         system("cls");
    }
}

//……产品库存量升序排列
void sort()
{
    product temp;
    for(int i=0;i<5-1;i++)
        for(int j=i+1;j<=5-1;j++)
            if(pro[i].stock>pro[j].stock)
            {
                temp=pro[i];
                pro[i]=pro[j];
                pro[j]=temp;
            }
            for(int j=0;j<=5-1;j++)
            {
                cout<<"库存量排第"<<j+1<<"种产品的库存是"<<pro[j].stock<<endl;
                cout<<"代码是"<<pro[j].code<<endl;
                cout<<"名称是"<<pro[j].name<<endl;
                cout<<"数量是"<<pro[j].amount<<endl;
                cout<<"销售量是"<<pro[j].sales<<endl<<endl;
            }
            system("pause");
            system("cls");
}
//……产品代码查找……
void search()
{
        int code[5]={1,2,3,4,5};
        bool flag=0;
        int b;
        cout<<"请输入要查询的代码为:";
        cin>>b;
        for(int i=0;i<5;++i)
            if(b==pro[i].code)
            {
                flag=1;
                cout<<"产品代码:"<<pro[i].code<<" "
                    <<"名称:"<<pro[i].name<<" "
                    <<"数量:"<<pro[i].amount<<" "
                    <<"销售量:"<<pro[i].sales<<endl;
            }
        if(flag==0)
            cout<<"此代码不存在!"<<endl;
        system("pause");
        system("cls");
}
//……修改已输入产品信息
void reput()
{
    int code;
    cout<<"已输入产品代码分别是:"<<endl;
    for(int k=0;k<=5-1;k++)
        cout<<pro[k].code<<endl;
    cout<<"您要修改的产品代码是多少?"<<endl;
    cin>>code;
    for(int i=0;i<=4;i++)
    {
        if (pro[i].code==code)    break;
    }
    if(i==5)
        cout<<"没有您要修改的产品"<<endl;
    else
    {
        cout<<"请输入您要修改的产品的代码"<<endl;
        cin>>pro[i].code;
        cout<<"请输入您要修改的产品的名字"<<endl;
        cin>>pro[i].name;
        cout<<"请输入您要修改的产品的数量"<<endl;
        cin>>pro[i].amount;
        cout<<"请输入您要修改的产品的销售量"<<endl;
        cin>>pro[i].sales;
        pro[i].stock=pro[i].amount-pro[i].sales;
    }
    system("pause");
       system("cls");
}
//++++++++++++++desktop+++++++++++++++
void desktop()
{
    cout<<endl;
    cout<<"********************欢迎进入产品管理系统********************"<<endl
        <<" ***                 请选择您要的服务                     ***"<<endl
        <<" ***                 1.输入产品信息                       ***"<<endl
        <<" ***                 2.查看产品信息                       ***"<<endl
        <<" ***                 3.查找产品信息                       ***"<<endl
        <<" ***                 4.修改产品信息                       ***"<<endl
        <<"***                 0.退出系统                           ***"<<endl
        <<"***********************************************************"<<endl;
    cout<<endl;
    cout<<"请输入相应的代码:";
}
int main()
{
    int n;
    do
    {
        desktop();
        cin>>n;
        system("cls");
        if(n==1)
        {
            input();
           
        }
        else if(n==2)
        {
            sort();
        }
        else if(n==3)
        {   
            search();
        }
        else if(n==4)
        {   
            reput();
        }
    }
    while(n!=0);
    return 0;
}




//function.h



#include<iostream.h>
#include<windows.h>
struct product
{
    int code;
    char name[10];
    float amount;
    float sales;
    float stock;
}pro[5];
函数使用的时候要先声明,然后看你的错误应该是没有找到function.h所致的,将你的程序源文件和function.h这个头文件放在相同目录下就可以了
1