2014秋C++第13週プロジェクト6参考-体験ファイル操作
4471 ワード
カリキュラムのホームページhttp://blog.csdn.net/sxhelijian/article/details/39152703、カリキュラムリソースは雲学堂の「賀先生教室」で同期して展示され、使用するアカウントはカリキュラムのホームページに表示してください.
【項目6-体験ファイル操作】データダウンロードリンク(1-予備)添付の「ファイル操作初体験」を読み、理解する(必要に応じてこれらのプログラムを実行する).(2-ウォーミングアップ)キーボードから数人の学生の英語の成績を読み込み、プログラミングして今回の試験の平均成績を求め、優秀人数と不合格人数を統計して出力する.
(3-実戦)ファイルenglish.dat(クラウド学堂とQQ群でダウンロードし、このファイルはソースプログラムと同じフォルダにある)に学生の成績データがすでにあるので、(2)のプログラムを改編し、プログラミングして今回の試験の平均成績を求め、優秀人数と不合格人数を統計して出力してください.
(4-実戦)プログラミングは今回の試験の最高成績と、最高成績を取った学生の学号(学号を設けることは対応する配列要素の下標)を求める.
(5-実戦)文書salary.txtから労働者の給与(500人を超えない)を読み込み、すべて20%増やし(良いこと)ソートし、ソート後の結果をファイルordered_に保存するsalary.txtで.(salary.txtは雲学堂とQQ群でダウンロードします.)
【項目6-体験ファイル操作】データダウンロードリンク(1-予備)添付の「ファイル操作初体験」を読み、理解する(必要に応じてこれらのプログラムを実行する).(2-ウォーミングアップ)キーボードから数人の学生の英語の成績を読み込み、プログラミングして今回の試験の平均成績を求め、優秀人数と不合格人数を統計して出力する.
#include <fstream> //
#include<iostream>
#include<cstdlib>
using namespace std;
int main( )
{
int i,s;
int a=0, b=0;// 、 、
double sum=0,ave; //s: ,ave:
// (ios::in)
for(i=0; i<10; i++)
{
cin>>s;
sum+=s;
if(s>=90)
a++;
else if(s<60)
b++;
}
//
ave=sum/10;
cout<<" :"<<ave<<endl;
cout<<" :"<<a<<endl;
cout<<" :"<<b<<endl;
return 0;
}
(3-実戦)ファイルenglish.dat(クラウド学堂とQQ群でダウンロードし、このファイルはソースプログラムと同じフォルダにある)に学生の成績データがすでにあるので、(2)のプログラムを改編し、プログラミングして今回の試験の平均成績を求め、優秀人数と不合格人数を統計して出力してください.
#include <fstream> //
#include<iostream>
#include<cstdlib>
using namespace std;
int main( )
{
int s; //
int a=0, b=0,count=0;// 、 、
double sum=0,ave; //sum: ,ave:
// (ios::in)
ifstream infile("english.dat",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
while(infile>>s) // ……
{
count++;
sum+=s;
if(s>=90)
a++;
else if(s<60)
b++;
}
infile.close(); //
//
ave=sum/count;
cout<<" :"<<count<<endl;
cout<<" :"<<ave<<endl;
cout<<" :"<<a<<endl;
cout<<" :"<<b<<endl;
return 0;
}
(4-実戦)プログラミングは今回の試験の最高成績と、最高成績を取った学生の学号(学号を設けることは対応する配列要素の下標)を求める.
#include <fstream> //
#include<iostream>
#include<cstdlib>
using namespace std;
int main( )
{
int s[10000],max=-1; //
int i,count=0;// 、 、
// (ios::in)
ifstream infile("english.dat",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
while(infile>>s[count]) // ……
{
if(s[count]>max)
max=s[count];
count++;
}
infile.close(); //
//
cout<<" :"<<count<<endl;
cout<<" :"<<max<<endl;
cout<<" :";
for(i=0; i<count; i++)
if(s[i]==max)
cout<<i<<" ";
cout<<endl;
return 0;
}
(5-実戦)文書salary.txtから労働者の給与(500人を超えない)を読み込み、すべて20%増やし(良いこと)ソートし、ソート後の結果をファイルordered_に保存するsalary.txtで.(salary.txtは雲学堂とQQ群でダウンロードします.)
#include <fstream>
#include<iostream>
#include<cstdlib>
using namespace std;
int main( )
{
float a[500],t;
int i=0,j,n;
ifstream infile("salary.txt",ios::in); //
if(!infile) //
{
cerr<<"open error!"<<endl;
exit(1);
}
while(infile>>a[i]) i++; //
infile.close();
n=i; //n
for(i=0; i<n; i++)
a[i]*=1.2; //
// , ,
for(j=0; j<n-1; j++)
for(i=0; i<n-j-1; i++)
if (a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
//
ofstream outfile("ordered_salary.txt",ios::out);
if(!outfile) // , 。
{
cerr<<"open error!"<<endl;
exit(1);
}
for(i=0; i<n; i++)
{
outfile<<a[i]<<endl;
if(i%5==0&&i!=0) cout<<endl;
cout<<a[i]<<"\t";
}
outfile.close(); // 。 ,
return 0;
}
=================== CSDN =================
|== IT ( ) ==|
|== C++ ( ) ==|
|== ——《 —— IT 》 ==|
===== IT , =====