Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 直到文件结束,文件才会重复自身_C++ - Fatal编程技术网

C++ 直到文件结束,文件才会重复自身

C++ 直到文件结束,文件才会重复自身,c++,C++,我的代码中的所有东西都可以工作,从文件中获取输入、计算平均值和输出。它只是不能一次完成所有的工作。如果我按enter键,它将执行下一行,依此类推,直到文件结束。我该怎么做才能让所有的线路同时完成呢 代码: /***************************************************/ /*作者:山姆·拉曼纳*/ /*课程:CSC 135 Lisa Frye*/ /*作业:课程4年级平均分*/ /*截止日期:2011年10月10日*/ /*文件名:program4.cp

我的代码中的所有东西都可以工作,从文件中获取输入、计算平均值和输出。它只是不能一次完成所有的工作。如果我按enter键,它将执行下一行,依此类推,直到文件结束。我该怎么做才能让所有的线路同时完成呢

代码:

/***************************************************/
/*作者:山姆·拉曼纳*/
/*课程:CSC 135 Lisa Frye*/
/*作业:课程4年级平均分*/
/*截止日期:2011年10月10日*/
/*文件名:program4.cpp*/
/*目的:编写一个程序来处理*/
/*学生们在学习他们的成绩。会的*/
/*同时阅读10个测试分数和*/
/*计算他们的平均数*/
/***************************************************/
#包括//基本输入/输出
#包括//操纵器
#包括//字符串内容
#包括
使用名称空间std;
无效指令()//打印指令字符串studname()的函数声明;
无效输入(ifstream&infle、float&test1、float&test2、float&test3、float&test4、float&test5、float&test6、float&test7、float&test8、float&test9、float&test10、string&studentname)//输入的函数声明
浮动平均值(浮动测试1、浮动测试2、浮动测试3、浮动测试4、浮动测试5、浮动测试6、浮动测试7、浮动测试8、浮动测试9、浮动测试10)//用于计算平均值的函数声明
无效输出(字符串studentname,浮点平均值)//输出的函数声明
int main()
{
float test1=0;//测试分数的变量(test1-test10)
浮动测试2=0;
浮动测试3=0;
浮动测试4=0;
浮动测试5=0;
浮动测试6=0;
浮动测试7=0;
浮动测试8=0;
浮动测试9=0;
浮动测试10=0;
string studentname=“a”//定义用于存储学生姓名的变量
float average=0;//定义用于存储平均值的变量
指令();//打印指令的函数调用
如果河流填充(“等级数据”);
输入(infle、test1、test2、test3、test4、test5、test6、test7、test8、test9、test10、studentname);//分数函数调用
而(!infle.eof())
{
average=aver(test1、test2、test3、test4、test5、test6、test7、test8、test9、test10);//函数调用average
输出(studentname,average);//输出的函数调用
忽略(1);
输入(infle、test1、test2、test3、test4、test5、test6、test7、test8、test9、test10、studentname);//获取新输入
}//结束eof
返回0;
}
/***************************************************/
/*姓名:指示*/
/*说明:向用户打印说明*/
/*参数:不适用*/
/*返回值:不适用*/
/***************************************************/
无效指令()
{
cout test2>>test3>>test4>>test5>>test6>>test7>>test8>>test9>>test10;
填充。忽略(10,“\n”);
返回;
}
/***************************************************/
/*姓名:aver*/
/*描述:计算平均值*/
/*参数:不适用*/
/*返回值:aver*/
/***************************************************/
浮点平均值(浮点测试1、浮点测试2、浮点测试3、浮点测试4、浮点测试5、浮点测试6、浮点测试7、浮点测试8、浮点测试9、浮点测试10)
{
浮动平均值=0;
aver=test1+test2+test3+test4+test5+test6+test7+test8+test9+test10;
平均值=平均值/10;
返回平均值;
}
/***************************************************/
/*名称:输出*/
/*描述:计算平均值*/
/*参数:不适用*/
/*返回值:aver*/
/***************************************************/
void输出(string studentname,float average)//输出的函数声明
{ 
不能移除

cin.ignore(1);
在main中的while循环中,它将阻止程序执行,直到您输入一个char

哦,在你开始一个新的问题之前,为什么它在一行上打印所有的内容,这是因为你输入到cin的enter过去用于推进行,但现在你应该在输出中添加一个
endl

cout << blah << bleh << endl;

cout在您的
main
函数中,您正在使用

cin.ignore(1);
它从
cin
中提取/等待输入字符并将其丢弃。有关详细信息,请参阅本参考资料


删除/注释此语句将解决您的问题。

太好了,现在请考虑清理函数参数,如果评分员不喜欢这些声明,请怀疑。
cin.ignore(1);