@心海 2021-06-22 13:33 采纳率: 100%
浏览 74
已采纳

帮我看看这个错哪了,怎么解决啊?

#include <stdafx.h>
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <iomanip>
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
#include<wchar.h>
using namespace std;
string intto_String(int n)
{
    int m = n;
    char s[100];
    char ss[100];
    int i=0,j=0;
    if (n < 0)// 澶勭悊璐熸暟
    {
        m = 0 - m;
        j = 1;
        ss[0] = '-';
    }
    while (m>0)
    {
        s[i++] = m % 10 + '0';
        m /= 10;
    }
    s[i] = '\0';
    i = i - 1;
    while (i >= 0)
    {
        ss[j++] = s[i--];
    }
    ss[j] = '\0';
    return ss;
}

class Financing
{
   public:
      string year;
      string month;
      string income;
      string expense;
      string surplus;

      void addFinance(Financing finInfo);

      void deleteFinance(int delectNum);

      void updateIncome(int delectNum,string money);
      void updateExpense(int delectNum,string money);

};

vector<Financing> vecFinance;

void Financing::addFinance(Financing finInfo)
{
   vecFinance.push_back(finInfo);
}

void Financing::deleteFinance(int delectNum)
{
   vecFinance.erase(vecFinance.begin()+delectNum-1);
}


void Financing::updateIncome(int delectNum,string money)
{
   //鑾峰彇鏁版嵁
   //Financing finance = vecFinance[delectNum-1];
   vecFinance[delectNum-1].income = money;

   int num = atoi(money.c_str())-atoi(vecFinance[delectNum-1].expense.c_str());
   std::string s = intto_String(num);
   vecFinance[delectNum-1].surplus=s;

}

void Financing::updateExpense(int delectNum,string money)
{
   vecFinance[delectNum-1].expense = money;

   int num = atoi(vecFinance[delectNum-1].income.c_str())-atoi(money.c_str());
   std::string s = intto_String(num);
   vecFinance[delectNum-1].surplus=s;
}

//鍒濆鍖栨暟鎹?
void initData()
{
   //璇诲彇鏂囦欢
   ifstream infile;
   infile.open("FinancingInfo.txt");
   string financingData;
   Financing finance;
   int i=1;
   //寰幆璇诲彇鍏ㄩ儴鏁版嵁
   while (infile >> financingData)
   {
            if(i >= 6) i=1;
            if(i == 1) finance.year = financingData;
            if(i == 2) finance.month = financingData;
            if(i == 3) finance.income = financingData;
            if(i == 4) finance.expense = financingData;
            if(i == 5)
            {
               finance.surplus= financingData;
               vecFinance.push_back(finance);
            }
            i++;
   }
   infile.close();
}


void saveFile()
{
   // 浠ュ啓妯″紡鎵撳紑鏂囦欢
   ofstream outfile;
   outfile.open("FinancingInfo.txt");
   string lineData;

   //閬嶅巻鏌ヨ
   vector<Financing>::iterator it;
   for(it = vecFinance.begin() ; it != vecFinance.end() ; it++)
   {
      lineData = (*it).year+" "+(*it).month+" "+(*it).income+" "+(*it).expense+" "+(*it).surplus;
      outfile<<lineData<<endl;
      //cout<<(*it).year<<" "<<(*it).month<<" "<<(*it).income<<" "<<(*it).expense<<" "<<(*it).surplus<<endl;
   }
   outfile.close();
}

//鎸夌収骞存湀浠介檷搴忔帓鍒?
void des_Order()
{
   int length = vecFinance.size();
   for(int i=0;i<length;i++)
   {
      Financing it = vecFinance.at(i);
      for(int j=i+1;j<length;j++)
      {
         Financing itj = vecFinance.at(j);

         if(atoi(it.year.c_str())<atoi(itj.year.c_str())){
               Financing temp = vecFinance.at(i);
               vecFinance.at(i) = vecFinance.at(j);
               vecFinance.at(j) = temp;
         }

         if(atoi(it.year.c_str())==atoi(itj.year.c_str()))
         {
            if(atoi(it.month.c_str())<atoi(itj.month.c_str())){
               Financing temp = vecFinance.at(i);
               vecFinance.at(i) = vecFinance.at(j);
               vecFinance.at(j) = temp;
            }
         }
      }
   }
}

void OperationFinance()
{

   des_Order();
         //閬嶅巻鏌ヨ
         vector<Financing>::iterator it;

         int sum=1;

         cout.fill(' ');       //璁剧疆濉厖鏂瑰紡涓?锛?
         //cout << setw(5) << endl;//鎺у埗杈撳嚭浣嶅涓?锛屽彸瀵归綈銆?

         cout.setf(ios::right); //璁剧疆瀵归綈鏂瑰紡涓簂eft
         cout.width(7); //璁剧疆瀹藉害涓?锛屼笉瓒崇敤绌烘牸濉厖
         cout<<setw(6)<<"琛屽簭"<<setw(6)<<"骞存暟"<<setw(6)<<"鏈堟暟"<<setw(6)<<"鏀跺叆"<<setw(6)<<"鏀嚭"<<setw(6)<<"鍓╀綑"<<endl;
         for(it = vecFinance.begin() ; it != vecFinance.end() ; it++)
         {
            cout<<setw(6)<<sum<<setw(6)<<(*it).year<<setw(6)<<(*it).month<<setw(6)<<(*it).income<<setw(6)<<(*it).expense<<setw(6)<<(*it).surplus<<endl;
            sum++;
         }
}

void statisticData()
{

   int length = vecFinance.size();

   int incomeSum=0;
   int expenseSum=0;

   int sum=1;
   if(length == 0) return;

   cout<<setw(6)<<"骞存暟"<<setw(6)<<"鏀跺叆"<<setw(6)<<"鏀嚭"<<setw(6)<<"鍓╀綑"<<endl;

   int year = atoi(vecFinance.at(0).year.c_str());
   for(int i=0;i<length;i++)
   {
      Financing it = vecFinance.at(i);

      if(year == atoi(it.year.c_str()))
      {
         incomeSum +=atoi(it.income.c_str());
         expenseSum +=atoi(it.expense.c_str());
      }

      if(year!=atoi(it.year.c_str()))
      {
         cout <<setw(6)<<year<<setw(6)<<incomeSum<<setw(6)<<expenseSum<<setw(6)<<incomeSum-expenseSum<<endl;
         year = atoi(vecFinance.at(i).year.c_str());
         incomeSum=atoi(it.income.c_str());
         expenseSum=atoi(it.expense.c_str());
      }
   }

   cout <<setw(6)<<year<<setw(6)<<incomeSum<<setw(6)<<expenseSum<<setw(6)<<incomeSum-expenseSum<<endl;

}

int _tmain(int argc, _TCHAR* argv[])
{
    initData();

    int flag = 1;


    do
    {
      cout<<"    娆㈣繋浣跨敤鈥滃搴处鍔♀€濈鐞嗙郴缁?<<endl<<endl;
      cout<<"        1銆佹煡鐪嬭处鐩俊鎭?<<endl;
      cout<<"        2銆佹坊鍔犺处鐩俊鎭?<<endl;
      cout<<"        3銆佸垹闄よ处鐩俊鎭?<<endl;
      cout<<"        4銆佷慨鏀硅处鐩俊鎭?<<endl;
      cout<<"        5銆佺患鍚堜俊鎭粺璁?<<endl;
      cout<<"        0銆侀€€鍑衡€滃搴处鍔♀€濈鐞嗙郴缁?<<endl<<endl;
      cout<<"璇疯緭鍏ユ偍鐨勬搷浣滐細";

      int operation_num;
      cin>>operation_num;

      switch(operation_num)
      {
      //鏌ョ湅鏁版嵁淇℃伅锛?
      case 1:
         {
            OperationFinance();

         }
         break;
      //娣诲姞淇℃伅
      case 2:
         {
            Financing data;
            cout<<"鎸夋暟鎹牸寮忚緭鍏ヤ俊鎭細";
            cin>>data.year>>data.month>>data.income>>data.expense;
            int num = atoi(data.income.c_str())-atoi(data.expense.c_str());
            std::string s = intto_String(num);
            data.surplus=s;
            data.addFinance(data);
         }
         break;
      //鍒犻櫎鏁版嵁
      case 3:
         {
            Financing data;
            int delectNum;
            cout<<"杈撳叆鍒犻櫎鏁版嵁鐨勫簭鍙凤細";
            cin>>delectNum;
            data.deleteFinance(delectNum);
         }
         break;
      case 4:
         {
            Financing data;
            int updateNum;
            int sign;
            string money;
            cout <<"杈撳叆淇敼鏁版嵁鐨勫簭鍙凤細";
            cin>>updateNum;
            cout<<"淇敼鏀跺叆/鏀嚭锛?/1)锛?;
            cin>>sign;
            cout<<"璇疯緭鍏ヤ慨鏀瑰悗鐨勬暟鎹細";
            cin>>money;
            if(sign == 0)
            {
               data.updateIncome(updateNum,money);
            }
            else if(sign == 1)
            {
               data.updateExpense(updateNum,money);
            }

         }
         break;
         case 5:
         {
            statisticData();

         }
         break;
      case 0:
         {
            flag = 0;
         }
         break;
      }

      //杩涜鏂囦欢鐨勪繚瀛樻搷浣?
      saveFile();

      system("pause");
      system("cls");
    }while(flag);


   return 0;
}

fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory

  • 写回答

2条回答 默认 最新

  • xthj2004 2021-06-22 13:57
    关注

    提示是找不到stdafx.h这个头文件,你看看是不是你打错了,或者头文件放错位置了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名