学了C++一周多,帮女票写了他们统计学老师布置的作业:
题目:已知计算机成绩数据文件jsj.txt,分别统计90——100,80——90,70——80,60——70,60以下的人数,请编程。
ps:测试成功
//
// main.cpp
// Rand2
//
// Created by kfengc27 on 14/11/27.
// Copyright (c) 2014年 Kevin Feng. All rights reserved.
//
#include <iostream>
#include <fstream>
#include <cstdlib>
#define MAX 10000
void sta_num(int[],int,int);
int main(int argc, const char * argv[])
{
using namespace std;
ifstream fin("jsj.txt");
if(!fin.is_open()){
cout<<"could not open the file "<<endl;
cout<<"program terminting \n";
exit(EXIT_FAILURE); //退出程序
}
int B[MAX],i=0;
while (fin>>B[i]) {
i++;
}
sta_num(&B[MAX], 90, 100);
sta_num(&B[MAX], 80, 90);
sta_num(&B[MAX], 70, 80);
sta_num(&B[MAX], 60, 70);
sta_num(&B[MAX], 0, 60);
return 0;
}
void sta_num(int A[],int begin,int end)
{
using std::cout;
using std::endl;
int i,j;
j=0;
for (i=0; i<MAX; i++) {
if (A[i]<=end&&A[i]>begin) {
j++;
}
i++;
}
cout<<"区域"<<begin<<"-"<<end<<"的总数是:"<<j<<endl;
}