24小时热门版块排行榜    

查看: 791  |  回复: 3

joansky

金虫 (小有名气)

[交流] 【求助】C++ 作业题求助 已有3人参与

我不是计算机专业的,现在在修计算机系的一门课。现在要写一段程序,要求是打开并读取一个文件,文件有四行五列(有点像excel表格),第一列是人名,后四列是每个人的四次考试成绩。现在要求我们在输出文件中另加入两列,一列是每个人的总成绩,另一列式把这个数字成绩换成字母(A,B,C,D). 我现在的问题是我不知道该怎么对原问价进行修改,获取四次成绩,计算综合,再在输出文件中加入这两列。

输入文件:

王      25  25 23 25
李      15    8   6   0
张      24  21 19 23
赵      17  16 21 22

输出文件:

王        25.0        25.0        23.5        25.0         98.5        A
李        15.0         8.5         6.5         0.0         30.0        F
张        24.5        21.0        19.5        23.5         88.5        B+
赵        17.9 16.6        21.3        22.0         77.8        B-

希望能得到大侠的帮助,谢谢!!
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jason.masc

铜虫 (初入文坛)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1): 谢谢参与应助,欢迎常来程序语言版! 2011-02-20 18:48:25
直接把所有的数据按字符串读进来,然后用atof()函数转换成数字,接下来的事情就是计算后输出文件了
C++无所不能
2楼2011-02-18 08:37:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

joansky

金虫 (小有名气)

引用回帖:
Originally posted by jason.masc at 2011-02-18 00:37:31:
直接把所有的数据按字符串读进来,然后用atof()函数转换成数字,接下来的事情就是计算后输出文件了

下面的code编译好像没问题了,可运行的时候说“segmentation fault"。能不能麻烦帮我看看哪出问题了。

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;

int main(){
  ifstream fin;
  ofstream fout;
  string filename;
  string temp;

  cout << "Enter input file: ";
  cin >> filename;

  fin.open(filename.c_str());
    if(!fin){
      cerr << "Input file can not be opened!" << endl;
      exit (-1);
}
       
  fout.open ("output_file.txt";
  
  fout << "Name        Score1        Score2        Score3        Score4        Total        Grade"<< endl;
          
  int lineCount = 0;

  while (!fin.eof()){
      getline(fin,temp);
      ++lineCount;
      
     
      string buf;
      stringstream ss(temp);
      vector tokens;

      while (ss >> buf)
        tokens.push_back(buf);

      
      double score[4];
      double total;
      string grade;
      int Total;

          
      for (int i=0; i<4; i++){

        score = atof (tokens[i+1].c_str());

        total += score;

        }
      
      Total = int (total);

      if(Total>=95 && Total<=100){
          grade = "A";
      }
        else if(Total>=90 && Total<95){
             grade = "A-";
        }
          else if(Total>=85 && Total<90){
               grade = "B+";
          }
             else if(Total>=80 && Total<85){
               grade = "B";
          }
               else if(Total>=75 && Total<80){
               grade = "B-";
          }
                 else if(Total>=70 && Total<75){
               grade = "C+";
          }
                   else if(Total>=65 && Total<70){
               grade = "C";
          }  
                     else if(Total>=60 && Total<65){
               grade = "C-";
          }
                       else if(Total>=50 && Total<60){
               grade = "D";
          }
                         else if(Total>=0 && Total<50){
               grade = "F";
          }

  
       

       
        fout << tokens[0] << "\t" << score[0] << "\t" << score[1] << "\t" << score[2] << "\t" << score[3] << "\t" << total << "\t" << grade << endl;

}
          
          return 0;
}
3楼2011-02-19 01:20:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lucktroy

禁虫 (小有名气)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+3): 谢谢参与应助,欢迎常来程序语言版! 2011-02-20 18:48:42
本帖内容被屏蔽

4楼2011-02-19 10:38:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 joansky 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[文学芳草园] 梦想 +4 myrtle 2026-08-26 4/200 2026-08-31 08:43 by 逸域隐帆
[基金申请] 中青基了要发朋友圈吗? +6 349506619 2026-08-28 6/300 2026-08-31 08:43 by kingkocxr
[基金申请] 基金不中,共勉 +12 eulota 2026-08-26 12/600 2026-08-31 08:42 by ZJTJZ
[基金申请] 面上意见出来了 +10 黄鸟于飞Chao 2026-08-29 19/950 2026-08-31 08:01 by blueearth171
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +5 yuleib84 2026-08-26 6/300 2026-08-28 00:02 by yudaoqian88
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
信息提示
请填处理意见