社区
新手乐园
帖子详情
求解决问题
st_laohu
2012-03-23 08:52:05
如何从用户输入的10个学生的(学号,姓名,成绩)获取他们成绩之和呢?????
...全文
132
16
打赏
收藏
求解决问题
如何从用户输入的10个学生的(学号,姓名,成绩)获取他们成绩之和呢?????
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
InfoStation信息站
2012-03-24
打赏
举报
回复
//下面是我以前写过的作业,程序正确,基本上可以满足你说的功能,类和结构体都实现了,自己拿去改改,别太懒了哦,有用的话就采纳
#include <iostream>
#include <iomanip>
using namespace std;
struct student
{
int no;
char name[10];
double math;
double english;
double politics;
double total;
}stu[5];
void input(struct student*stu_array,int n);
void sum(struct student*stu_array,int n);
void output(struct student*stu_array,int n);
void input(struct student*stu_array,int n)
{
for(int i=0;i<5;i++)
{
cout<<"请输入学生"<<i+1<<"学号"<<endl;
cin>>stu_array[i].no;
cout<<"请输入学生"<<i+1<<"姓名"<<endl;
cin>>stu_array[i].name;
cout<<"请输入学生"<<i+1<<"数学成绩"<<endl;
cin>>stu_array[i].math;
cout<<"请输入学生"<<i+1<<"英语成绩"<<endl;
cin>>stu_array[i].english;
cout<<"请输入学生"<<i+1<<"政治成绩"<<endl;
cin>>stu_array[i].politics;
}
}
void sum(struct student*stu_array,int n)
{
for(int i=0;i<5;i++)
{stu_array[i].total=stu_array[i].math+stu_array[i].english+stu_array[i].politics; }
for(int i=0;i<4;i++)
{
student temp;
for(int j=i+1;j<5;j++)
if(stu_array[i].total<stu_array[j].total)
{
temp=stu_array[i];
stu_array[i]=stu_array[j];
stu_array[j]=temp;
}
}
}
void output(struct student*stu_array,int n)
{
int i;
for( i=0;i<5;i++)
{cout<<"学号"<<setw(5)<<" 姓名"<<setw(5)<<" 数学"<<setw(5)<<" 英语"<<setw(5)<<" 政治 "<<setw(5)<<" 总成绩 "<<endl;
cout<<stu_array[i].no<<setw(8)<<stu_array[i].name<<setw(8)<<stu_array[i].math<<setw(8)<<stu_array[i].english<<setw(8);
cout<<stu_array[i].politics<<setw(8)<<stu_array[i].total<<endl;
}
}
int main()
{
input(stu,5);
sum(stu,5);
output(stu,5);
system("PAUSE");
return EXIT_SUCCESS;
}
——————————————————————————————————————————————
#include <iostream>
#include <iomanip>
using namespace std;
class student
{
public:
void input();
friend void sum(student*,int n);
void output();
private:
int no;
char name[10];
double math;
double english;
double politics;
double total;
};
void student::input()
{
cout<<"请输入学生学号"<<endl;
cin>>no;
cout<<"请输入学生姓名"<<endl;
cin>>name;
cout<<"请输入学生数学成绩"<<endl;
cin>>math;
cout<<"请输入学生英语成绩"<<endl;
cin>>english;
cout<<"请输入学生政治成绩"<<endl;
cin>>politics;
}
void sum(student*stu_array,int n)
{
for(int i=0;i<5;i++)
{stu_array[i].total=stu_array[i].math+stu_array[i].english+stu_array[i].politics; }
for(int i=0;i<4;i++)
{
student temp;
for(int j=i+1;j<5;j++)
if(stu_array[i].total<stu_array[j].total)
{
temp=stu_array[i];
stu_array[i]=stu_array[j];
stu_array[j]=temp;
}
}
}
void student::output()
{
cout<<"学号"<<setw(5)<<" 姓名"<<setw(5)<<" 数学"<<setw(5)<<" 英语"<<setw(5)<<" 政治 "<<setw(5)<<" 总成绩 "<<endl;
cout<<no<<setw(8)<<name<<setw(8)<<math<<setw(8)<<english<<setw(8);
cout<<politics<<setw(8)<<total<<endl;
}
int main()
{
student s[5];
for(int i=0;i<5;i++)
{ cout<<"please input information of students:"<<endl;
s[i].input();
cout<<endl;
}
sum(s,5);
for(int i=0;i<5;i++)
{
cout<<"print information of students:"<<endl;
s[i].output();
}
system("PAUSE");
return EXIT_SUCCESS;
}
InfoStation信息站
2012-03-24
打赏
举报
回复
//下面是我以前写过的作业,程序正确,基本上可以满足你说的功能,类和结构体都实现了,自己拿去改改,别太懒了哦,有用的话就采纳
#include <iostream>
#include <iomanip>
using namespace std;
struct student
{
int no;
char name[10];
double math;
double english;
double politics;
double total;
}stu[5];
void input(struct student*stu_array,int n);
void sum(struct student*stu_array,int n);
void output(struct student*stu_array,int n);
void input(struct student*stu_array,int n)
{
for(int i=0;i<5;i++)
{
cout<<"请输入学生"<<i+1<<"学号"<<endl;
cin>>stu_array[i].no;
cout<<"请输入学生"<<i+1<<"姓名"<<endl;
cin>>stu_array[i].name;
cout<<"请输入学生"<<i+1<<"数学成绩"<<endl;
cin>>stu_array[i].math;
cout<<"请输入学生"<<i+1<<"英语成绩"<<endl;
cin>>stu_array[i].english;
cout<<"请输入学生"<<i+1<<"政治成绩"<<endl;
cin>>stu_array[i].politics;
}
}
void sum(struct student*stu_array,int n)
{
for(int i=0;i<5;i++)
{stu_array[i].total=stu_array[i].math+stu_array[i].english+stu_array[i].politics; }
for(int i=0;i<4;i++)
{
student temp;
for(int j=i+1;j<5;j++)
if(stu_array[i].total<stu_array[j].total)
{
temp=stu_array[i];
stu_array[i]=stu_array[j];
stu_array[j]=temp;
}
}
}
void output(struct student*stu_array,int n)
{
int i;
for( i=0;i<5;i++)
{cout<<"学号"<<setw(5)<<" 姓名"<<setw(5)<<" 数学"<<setw(5)<<" 英语"<<setw(5)<<" 政治 "<<setw(5)<<" 总成绩 "<<endl;
cout<<stu_array[i].no<<setw(8)<<stu_array[i].name<<setw(8)<<stu_array[i].math<<setw(8)<<stu_array[i].english<<setw(8);
cout<<stu_array[i].politics<<setw(8)<<stu_array[i].total<<endl;
}
}
int main()
{
input(stu,5);
sum(stu,5);
output(stu,5);
system("PAUSE");
return EXIT_SUCCESS;
}
——————————————————————————————————————————————
#include <iostream>
#include <iomanip>
using namespace std;
class student
{
public:
void input();
friend void sum(student*,int n);
void output();
private:
int no;
char name[10];
double math;
double english;
double politics;
double total;
};
void student::input()
{
cout<<"请输入学生学号"<<endl;
cin>>no;
cout<<"请输入学生姓名"<<endl;
cin>>name;
cout<<"请输入学生数学成绩"<<endl;
cin>>math;
cout<<"请输入学生英语成绩"<<endl;
cin>>english;
cout<<"请输入学生政治成绩"<<endl;
cin>>politics;
}
void sum(student*stu_array,int n)
{
for(int i=0;i<5;i++)
{stu_array[i].total=stu_array[i].math+stu_array[i].english+stu_array[i].politics; }
for(int i=0;i<4;i++)
{
student temp;
for(int j=i+1;j<5;j++)
if(stu_array[i].total<stu_array[j].total)
{
temp=stu_array[i];
stu_array[i]=stu_array[j];
stu_array[j]=temp;
}
}
}
void student::output()
{
cout<<"学号"<<setw(5)<<" 姓名"<<setw(5)<<" 数学"<<setw(5)<<" 英语"<<setw(5)<<" 政治 "<<setw(5)<<" 总成绩 "<<endl;
cout<<no<<setw(8)<<name<<setw(8)<<math<<setw(8)<<english<<setw(8);
cout<<politics<<setw(8)<<total<<endl;
}
int main()
{
student s[5];
for(int i=0;i<5;i++)
{ cout<<"please input information of students:"<<endl;
s[i].input();
cout<<endl;
}
sum(s,5);
for(int i=0;i<5;i++)
{
cout<<"print information of students:"<<endl;
s[i].output();
}
system("PAUSE");
return EXIT_SUCCESS;
}
st_laohu
2012-03-24
打赏
举报
回复
那要求英语的总分呢~[Quote=引用 12 楼 zhangshuaizaxia 的回复:]
讲下思路啦
你把每科的成绩求和如:sum=arr_[0].english+arr_[1].english……arr_[i].english,然后average=sum/i,就可以了啦
[/Quote]
ziyue007
2012-03-24
打赏
举报
回复
帮顶,不难的,机构体就成
InfoStation信息站
2012-03-24
打赏
举报
回复
这是函数原型说明,没必要写参数,写参数其实也没用,但是类型申明不能省,所以必须写students*
st_laohu
2012-03-24
打赏
举报
回复
friend void sum(
student*,
int n);
为什么*号后面没参数呢?
[Quote=引用 10 楼 zhangshuaizaxia 的回复:]
//下面是我以前写过的作业,程序正确,基本上可以满足你说的功能,类和结构体都实现了,自己拿去改改,别太懒了哦,有用的话就采纳
#include <iostream>
#include <iomanip>
using namespace std;
struct student
{
int no;
char name[10];
double math;
do……
[/Quote]
InfoStation信息站
2012-03-24
打赏
举报
回复
讲下思路啦
你把每科的成绩求和如:sum=arr_[0].english+arr_[1].english……arr_[i].english,然后average=sum/i,就可以了啦
st_laohu
2012-03-24
打赏
举报
回复
那怎么求他们每科总分的平均分?
[Quote=引用 10 楼 zhangshuaizaxia 的回复:]
//下面是我以前写过的作业,程序正确,基本上可以满足你说的功能,类和结构体都实现了,自己拿去改改,别太懒了哦,有用的话就采纳
#include <iostream>
#include <iomanip>
using namespace std;
struct student
{
int no;
char name[10];
double math;
do……
[/Quote]
shn521
2012-03-23
打赏
举报
回复
如果只存信息,那类和结构体都行
st_laohu
2012-03-23
打赏
举报
回复
还要查询每个学生的信息啊~
[Quote=引用 6 楼 shn521 的回复:]
你的学号,姓名需要记录吗?
如果不需要,那你直接把成绩存到一个int数组里,然后求和就可以了啊
[/Quote]
shn521
2012-03-23
打赏
举报
回复
你的学号,姓名需要记录吗?
如果不需要,那你直接把成绩存到一个int数组里,然后求和就可以了啊
st_laohu
2012-03-23
打赏
举报
回复
是否一定要用结构体数组??
[Quote=引用 2 楼 shn521 的回复:]
定义个结构体数组
[/Quote]
st_laohu
2012-03-23
打赏
举报
回复
我用了类来做了=。=
[Quote=引用 2 楼 shn521 的回复:]
定义个结构体数组
[/Quote]
st_laohu
2012-03-23
打赏
举报
回复
每次输的是(学号,姓名 ,成绩)啊 ~
[Quote=引用 1 楼 w170532934 的回复:]
每输入一个成绩就累加起来不就可以了么?
[/Quote]
shn521
2012-03-23
打赏
举报
回复
定义个结构体数组
W170532934
2012-03-23
打赏
举报
回复
每输入一个成绩就累加起来不就可以了么?
结构之法算法之道blog最新博文集锦第6期CHM文件
结构之法算法之道blog最新博文集锦第6期CHM文件,1月13日制作,请君享受。
如何使用算法
解决问题
文章目录如何使用算法
解决问题
算法
解决问题
思路调度的问题投资问题(组合优化的问题) 如何使用算法
解决问题
计算复杂问题关于是不是难解的边界问题,可以从上图我们可以知道算法大概包含三个主要内容,以及一些概念。下面说一下,如何使用算法
求
解的流程。 算法
解决问题
思路 这里举一个例子: 调度的问题 从这问题中,通过直觉感觉到耗时少的放到前面可以达到最优,这样是一种贪心的策略 然后,我们可以找到规律,...
C语言解决小球自由落体
求
高度问题
C语言解决小球自由落体
求
高度问题
韩信点兵python编程_韩信点兵——编制计算机程序
解决问题
韩信点兵——编制计算机程序
解决问题
揭阳第三中学林湧辉教学目标:知识目标:1、理解计算机程序的概念,体验程序的作用,初步树立利用计算机程序
解决问题
的基本思想。能力目标:1、知道程序是解决现实世界某类相关问题的有效方法之一,逐步形成程序设计的意识和能力;2、培养学生严谨的逻辑思维能力和用算法思想思考问题的能力。情感目标:1、认识高级语言(VB)编程环境,能运行简单的程序,揭开程序设计的神秘感和畏难心理...
问题解决力
问题解决力 ([日]大前研一 斋藤显一) 从麦肯锡的新员工培训中总结出来的问题解决法(1) 从麦肯锡的新员工培训中总结出来的问题解决法 身为一名经营顾问,30年来,我的工作就是协助企业,向他们提供帮助。我以这些工作经验为基础制定的学习计划,叫做《经营管理者养成计划——
解决问题
必须的技巧课程》,这里面集中了所有问题解决法(PSA=problem solving approach)的秘诀
新手乐园
33,321
社区成员
41,774
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章