编程论坛's Archiver

ccshou 发表于 2007-11-18 13:11

文件输入输出的 作业问题求教

题目是写一段有数个方程的代码,要求能够逐个读取data.txt文档的信息,加以计算之后将结果输出到average.txt文档,并且用setw( )将结果格式化并加上heading.<font color="#e6e6dd"> <br></font><p>data.txt的文档格式:<br>10001111    Fiong  Charles  68  67  49  78  89<br>10003333    Wong Benny  88 90  91  93  99<font color="#e6e6dd"> <a href="http://www.6park.com/" target="_blank" ><br></a></font></p><p>我写了一段代码,可是不知道为什么average文件里面的数据都是0和空格(如:0  0000000)<br>#include<iostream><br>#include<fstream><br>char name1,name2;<br>long POF;<br>int no;<br>double mark1,mark2,mark3,mark4,mark5,average;<br>void read(int no,char name1,char name2,double mark1,double mark2,double mark3,double mark4,double mark5);<br>double cal(double mark1,double mark2,double mark3,double mark4,double mark5,double average);<br>long pof(double average,long POF);<br>void out(int no,char name1,char name2,double mark1,double mark2,double mark3,double mark4,double mark5,double average,long POF);<br>using namespace std;<br>int main ()<br>{<br>    read(no,name1,name2,mark1,mark2,mark3,mark4,mark5);<br>    cal(mark1,mark2,mark3,mark4,mark5,average);<br>    pof(average,POF);<br>    out(no,name1,name2,mark1,mark2,mark3,mark4,mark5,average,POF);</fstream></iostream></p>return 0;<br>}<br>void read(int no,char name1,char name2,double mark1,double mark2,double mark3,double mark4,double mark5)<br>{<br>    ifstream inStream;<br>    inStream.open("data.txt");<br>    inStream&gt;&gt;no&gt;&gt;name1&gt;&gt;name2&gt;&gt;mark1&gt;&gt;mark2&gt;&gt;mark3&gt;&gt;mark4&gt;&gt;mark5;<br>    inStream.close();<br>}<br>double cal(double mark1,double mark2,double mark3,double mark4,double mark5,double average)<br>{<br>    cout.setf(ios::fixed);<br>    cout.setf(ios::showpoint);<br>    cout.precision(2);<br>    average=(mark1+mark2+mark3+mark4+mark5)/5;<br>    return (average);<br>}<br>long pof(double average,long POF)<br>{<br>    if (average&gt;=50)<br>    POF='Pass';<br>    else if (average&lt;50)<br>
POF='Fail'; <br>    return (POF);<br>}<br>void out(int no,char name1,char name2,double mark1,double mark2,double mark3,double mark4,double mark5,double average,long POF)<br>{<br>    ofstream outStream;<br>    outStream.open("average.txt");<br>    outStream&lt;&lt;no&lt;&lt;name1&lt;&lt;name2&lt;&lt;mark1&lt;&lt;mark2&lt;&lt;mark3&lt;&lt;mark4&lt;&lt;mark5&lt;&lt;average&lt;&lt;POF&lt;&lt;endl;<br>    outStream.close();<br>}<br><br>
[align=right][color=#000066][此贴子已经被作者于2007-11-18 13:26:44编辑过][/color][/align]


页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.