社区
新手乐园
帖子详情
求解决问题
st_laohu
2012-03-23 08:52:05
如何从用户输入的10个学生的(学号,姓名,成绩)获取他们成绩之和呢?????
...全文
127
16
打赏
收藏
求解决问题
如何从用户输入的10个学生的(学号,姓名,成绩)获取他们成绩之和呢?????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
每输入一个成绩就累加起来不就可以了么?
基于Netty解决粘包拆包的问题
1,基于Netty演示粘包拆包现象 2,基于Netty分析如何解决粘包拆包的问题策略 3,演示采用Netty提供的各类解码器
解决问题
4,源码解读解码器的工作原理
如何使用算法
解决问题
文章目录如何使用算法
解决问题
算法
解决问题
思路调度的问题投资问题(组合优化的问题) 如何使用算法
解决问题
计算复杂问题关于是不是难解的边界问题,可以从上图我们可以知道算法大概包含三个主要内容,以及一些概念。下面说一下,如何使用算法
求
解的流程。 算法
解决问题
思路 这里举一个例子: 调度的问题 从这问题中,通过直觉感觉到耗时少的放到前面可以达到最优,这样是一种贪心的策略 然后,我们可以找到规律,...
C语言解决小球自由落体
求
高度问题
C语言解决小球自由落体
求
高度问题
计算机解决实际问题的例子,一个利用计算机解决实际数学问题的例子.doc
利用信息技术发展学生数学应用意识的一个案例一、问题的提出我校有一个横放的圆柱形大油罐,底面直径为1.8米,可装柴油12吨。学校每次以吨为单位购买柴油。为了防止供货商缺斤少两,方便学校收货验货,想要将圆柱的底面积用水平线12等分,并标上刻度。学校总务处找到我,请
求
帮助解决。二、问题分析如图所示,已知圆半径AD=0.9,设弓形BDC的面积为圆面积的,
求
线段DE的长。设DE=x,则AE=0.9-x,∠B...
c语言去尾法和进一法的例子,用“进一法”和“去尾法”
解决问题
教学案例
教学背景及设计说明:谈到
求
近似值,学生往往会不约而同地想到用“四舍五入法”,但在生活中有时会遇见一些实际问题是用“四舍五入法”行不通的。而是要根据实际情况用到“进一法”和“去尾法”,这就要
求
学生要学会根据实际情况具体问题具体分析。用“进一法”和“去尾法”
解决问题
是在学生学习了
求
积的近似值、小数除法和计算器的简单应用的基础上来展开的,学生在上课之前已经学习了用“四舍五入”的方法
求
商的近似值,在本节课...
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章