| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 709 人关注过本帖
标题:求助 ¤c++函数改错
取消只看楼主 加入收藏
如果快乐↑
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-6-25
收藏
 问题点数:0 回复次数:2 
求助 ¤c++函数改错

#include <iostream>
#include <string>
#include <iomanip>
#define N 3
#define M 5
using namespace std;


struct stu
{string name;
float score[M];
int mingci;
float ave;

}student[N];

float ave[M];
string kemu[M];

void getin() //主录入函数
{
float sum=0;
int i=0,j;
while (i<N)
{cout<<"###################################"<<endl;

cout<< "输入学生的姓名:";
cin>>student[i].name;

cout<<"输入学生的五科成绩:";
for(j=0;j<M;j++)
cin>>student[i].score[j];
i++;
}
}


void getinkm() //录入科目名
{

kemu[0]="电路";
kemu[1]="高数";
kemu[2]="c++";
kemu[3]="线代";
kemu[4]="英语";

}

void serch()//找出最高的分数所对应的学生和课程并输出
{
int j=0,i,k,max;
getinkm();
cout<<endl<<endl<<"各科目最高分:\n";

do
{ for(i=0;i<N-1;i++)
{
max=i;
for(k=i+1;k<N;k++)
if(student[max].score[j]<=student[k].score[j])
max=k;

cout<<setw(8)<<kemu[j]<<setw(8)<<student[max].name<<':'<<student[max].score[j]<<endl;

++j;
}
}while(j<M);
}


int main()
{
getin() ;

serch();
}

**************************************************************
结果如下
###################################
输入学生的姓名:yy
输入学生的五科成绩:99 88 77 66 55
###################################
输入学生的姓名:pp
输入学生的五科成绩:99 98 65 88 55
###################################
输入学生的姓名:uu
输入学生的五科成绩:55 88 77 98 23


各科目最高分:
电路 pp:99
高数 pp:98
c++ uu:77
线代 uu:98
英语 pp:55
uu:0
Press any key to continue
************************************************************
问题
serch();函数运行结果不对,达不到我预定的结果
输出后还多出最后一个结果 uu:0

当最高分成绩相同时也不能全部把他们的名字输出(我选者了输出后面的名字)

有时输出的个别结果甚至根本不是最高分

小弟做了 3天了也没找出毛病
遗憾啊!!

希望高手指点一下,只修改serch();函数,小弟万分感谢!!!!

再谢!!!
再谢!!!!

搜索更多相关主题的帖子: 函数 改错 
2007-09-11 09:59
如果快乐↑
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-6-25
收藏
得分:0 
kemu[M]定义的时候为什么不直接初始化
是因为这个程序只是我找出来出错的部分
老师要我们用结构体编一个大点的程序
整个程序不是这个样子的
我把错的函数抠出来咯





谢谢你 帮助哦!!!

for(int i=0;i<无穷大;i++){我问牛鬼蛇神:我这样快乐好???答曰:你不快乐吗??}
2007-09-11 13:12
如果快乐↑
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-6-25
收藏
得分:0 
谢谢你拉

搞定咯

for(int i=0;i<无穷大;i++){我问牛鬼蛇神:我这样快乐好???答曰:你不快乐吗??}
2007-09-11 14:51
快速回复:求助 ¤c++函数改错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016809 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved