마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

제가 소스코드를 짰는데, stdio만 참조하게 하려면...

–6 추천
소스코드를 짰는데요 iostream이랑 fstream을 참조해서 fin.open으로 파일을 불러왔는데

이거를 stdio만 참조해서 fopen만 사용해서 구성하고싶은데.. 어떻게 바꿔야할까요??

 

#include <iostream>
#include <fstream>

using namespace std;
#define N 10
#define M 4
int main()
{
 ifstream fin;
 int i=0, j=0, k=1, a;

 int student_num; //안씀
 int TEst[N][M];
 int stu_sum[N][2] = {0}; //[N][0]은 합, [N][1]은 등수.
 double stu_ave[N] = {0}; //평균
 double temp = 0;
 int index = 0;
 int prev_value = 0;

 fin.open("data.txt"); //파일이름 다른거면 바꾸3
 if(fin.fail())
  return 0;

 while(fin >> student_num)
 {
  while(j != M)
  {
   fin>> TEst[i][j++];
  }
  j=0;
  i++;
 }

 for(i=0;i<N;i++)
 {
  for(j=0;j<M;j++)
  {
   stu_sum[i][0] += TEst[i][j];
  }
  stu_ave[i] = stu_sum[i][0]/M;

 }

 i = 0, j = 0;
 for(a=0;a<N;a++)
 {
  if(stu_sum[index][0] > stu_sum[a][0])
   index = a;
 }
 for(int b=0;b<10;b++)
 {
  index = a;
  while(i < N)
  {
   if(stu_sum[index][0] < stu_sum[i][0])
   {
    if(stu_sum[i][1] == 0)
    {
     index = i;
    }
   }
   i++;
  }
  if(stu_sum[index][0] == prev_value)
  {
   stu_sum[index][1] = j;
   k++;
  }
  else
  {
   j += k;
   stu_sum[index][1] =j;
   k=1;
  }

  prev_value = stu_sum[index][0];
  i=0;
  index = i;
 
 }

 cout << "학생     합   평균    등수"<<endl;
 for(int b=0;b<N;b++)
 {
  cout.width(4);
  cout << b+1;
 
  cout <<"    "<< stu_sum[b][0] <<"     "
   << stu_ave[b] << "     ";
  cout.width(3);
  cout <<stu_sum[b][1]<< endl;
 }

 fin.close();
 getchar();
 return 0;

}
익명사용자 님이 2013년 6월 11일 질문

1개의 답변

0 추천
여기서 숙제하지 맙시다
익명사용자 님이 2013년 6월 11일 답변
...