c++定义学生类实现平均成绩计算和查询功能?

作者&投稿:匡雅 (若有异议请与网页底部的电邮联系)
C++ 定义学生类,用于存放学生的基本信息,平均成绩通过方法调用计~

兄弟咱写1格式规范且经严密测试完所需要功能且性化设计并且提供视化测试我考虑周吧懂问我
努力吧~~~
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

///控制台测试
static void Main(string[] args)
{
#region Student Text
AllStudent all = new AllStudent(3);
all.AddAllreslut();
all.RtAvg();
all.printStu();
all.sorting();
Console.WriteLine("(冒泡排序)排序绩:");
all.printStu();

#endregion
}
单类整体类

#region Student类
public class Students
{

#region 构造函数
public Students()
{
}

public Students(string name, string number, float Cres, float Elys, float maths)
{
_name = name;
_number = number;
_Cres = Cres;
_ely = Elys;
_math = maths;
_avg = (Cres + Elys + maths) / 3;
}

#endregion

#region 字段
private string _name;

public string Name
{
get { return _name; }
set { _name = value; }
}

private string _number;

public string Number
{
get { return _number; }
set { _number = value; }
}

private float _Cres;

public float Cres
{
get { return _Cres; }
set { _Cres = value; }
}

private float _ely;

public float Ely
{
get { return _ely; }
set { _ely = value; }
}

private float _math;

public float Math
{
get { return _math; }
set { _math = value; }
}

private float _avg;

public float Avg
{
get { return _avg; }
set { _avg = value; }
}

#endregion
}
#endregion

#region 全体类
public class AllStudent
{

#region 构造函数
public AllStudent(int cout)
{
_cout = cout;
_stuList = new List();
}
#endregion

#region 字段属性
private int _cout;

public int Cout
{
get { return _cout; }
set { _cout = value; }
}

private List _stuList;

public List StuList
{
get { return _stuList; }
set { _stuList = value; }
}
#endregion

#region 绩录入
public void AddAllreslut()
{
for (int i = 0; i < _cout; i++)
{
string[] strs = new string[5];
Console.WriteLine("请输入姓名:");
strs[0] = Console.ReadLine();
Console.WriteLine("请输入号:");
strs[1] = Console.ReadLine();
Console.WriteLine("请输入C++绩:");
strs[2] = Console.ReadLine();
if (!Isfloat(strs[2]))
{
Console.WriteLine("请输入确绩:");
strs[2] = Console.ReadLine();
}
else
{
if (float.Parse(strs[2]) > 100)
{
Console.WriteLine("请输入确绩:");
strs[2] = Console.ReadLine();
}
}
Console.WriteLine("请输入英语绩:");
strs[3] = Console.ReadLine();
if (!Isfloat(strs[3]))
{
Console.WriteLine("请输入确绩:");
strs[3] = Console.ReadLine();
}
else
{
if (float.Parse(strs[3]) > 100)
{
Console.WriteLine("请输入确绩:");
strs[3] = Console.ReadLine();
}
}
Console.WriteLine("请输入数绩:");
strs[4] = Console.ReadLine();
if (!Isfloat(strs[4]))
{
Console.WriteLine("请输入确绩:");
strs[4] = Console.ReadLine();
}
else
{
if (float.Parse(strs[4]) > 100)
{
Console.WriteLine("请输入确绩:");
strs[4] = Console.ReadLine();
}
}
Students student = new Students(strs[0], strs[1], float.Parse(strs[2]), float.Parse(strs[3]), float.Parse(strs[4]));
Console.WriteLine(strs[0] + "同平均绩:" + student.Avg);
Console.WriteLine();
_stuList.Add(student);
}
}
#endregion

#region 按号查询平均绩
public void RtAvg()
{
Console.WriteLine("请输入要查询平均绩号:");
string number = Console.ReadLine();
float avg = RtAvg(number);
if (avg != 0)
{
Console.WriteLine(number + "平均绩:" + avg);
Console.ReadKey();
}
else
{
Console.WriteLine("没该号绩!");
Console.ReadKey();
}
}

public float RtAvg(string number)
{
for (int i = 0; i < _stuList.Count; i++)
{
if (_stuList[i].Number.Trim() == number.Trim())
{
return _stuList[i].Avg;
}
}
return 0;
}
#endregion

#region 按平均排序
public void sorting()
{
List list = new List();
for (int i = 0; i < _stuList.Count; i++)
{
Students stus = new Students();
for (int j = 0; j < _stuList.Count - i - 1; j++)
{
if (_stuList[j].Avg > _stuList[j + 1].Avg)
{
stus = _stuList[j];
_stuList[j] = _stuList[j + 1];
_stuList[j + 1] = stus;
}
else
{
stus = _stuList[j + 1];
}
}
if (i == _stuList.Count - 1)
{
stus = _stuList[0];
}
list.Add(stus);
}
_stuList = list;
}
#endregion

#region 输所绩
public void printStu()
{
Console.WriteLine("所信息:");
for (int i = 0; i < _stuList.Count; i++)
{
Console.WriteLine(_stuList[i].Name + "同基本信息:");
Console.WriteLine("号:" + _stuList[i].Number + " C++绩:" + _stuList[i].Cres + " 英语绩:" + _stuList[i].Ely + " 数绩:" + _stuList[i].Math+" 平均绩:"+_stuList[i].Avg);
Console.WriteLine();
}
Console.ReadKey();
}
#endregion

#region 验证浮点数
public static bool Isfloat(string Input)
{
if (Input == null)
{
return false;
}
else
{
string pattern = "^(\\d*\\.)?\\d+$";
if (Regex.Match(Input, pattern, RegexOptions.Compiled).Success)
{
return true;
}
else
{
return false;
}
}
}
#endregion
}

#endregion

如果你没弄明白这个就要好好看看书了。

不懂类的话干吗非要用类呢?可以用结构体啊。

将数据成员private的目的就是保护数据不被调用,不能随便改写。

2019年10月19日
CSP非专业级别第一轮能力认证结束,
全国31个省市共计106,344人参加!
参赛的小伙伴们,考试结束了,分数评估了吗?
趁着现在记忆仍在,赶紧对着答案来看看吧!
童程童美NOI教研部门第一时间为广大学员整理了
2019CSP-J 试题解析,以供参考。
----------
2019CCF非专业级别软件能力认证第一轮
(CSP-J)入门级C++语言试题A卷
(B卷与A卷仅顺序不同)
认证时间:2019年10月19日
考生注意事项:
1、试题纸共有9页,答题纸共有1页,满分100分。请在答题纸上作答,写在试题纸上的一律无效
2、不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)
1.中国的国家顶级域名是()
A. .cn B. .ch C. .chn D. .China
答案:A
试题分析:常识,详情见普及组课程105课时。
2.二进制数11 1011 1001 0111和01 0110 1110 1011进行逻辑与运算的结果
是()
A.01 0010 1000 1011 B.01 0010 1001 0011
C.0l 0010 1000 0001 D.01 0010 1000 0011
答案:D
试题分析:逻辑与,当且仅当2个数对应位都为1的,答案才为1,详情见普及组课程63课时。
3.一个32位整型变量占用()个字节。
A. 32 B.128 C. 4 D.8
答案:C
试题分析:1Byte(字节) = 8 bit(位) 32/8=4 详情见普及组课程103课时。
4.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c
大于0)
s=a
for(b= 1: b< c: b++)s=s-1
则与上述程序段功能等价的赋值语句是()
A.s=a-c; B.s=a-b; C.s=s-c; D.s=b-c;
答案:A
试题分析:s初始化为a; for循环执行c次,每次s减1,共减c,所以s=a-c
考察for循环的应用,详情见普及组课程16课时。
5.设有100个已排好序的数据元素,采用折半查找时,最大比较次数为()
A.7 B.10 C.6 D.8
答案:A
试题分析:折半查找,首先将待查记录所在范围缩小一半,然后再缩小一半,即对100个元素进行折半查找,第一次比较范围缩小到50,第二次缩小到25,第三次缩小到17,第四次缩小到7,第五次缩小到4,第六次缩小到2,最多七次就可以查找到所要元素。详情见普及组课程第106课时。
6.链表不具有的特点是()
A.插入删除不需要移动元素 B.不必事先估计存储空间
C.所需空间与线性表长度成正比 D.可随机访问任一元素
答案:D
试题分析:链表没有下标,不可随机访问详情见普及组第108课时。
7.把8个同样的球放在5个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的分法?()提示:如果8个球都放在一个袋子里,无论是哪个袋子,都只算同一种分法。
A.22 B.24 C.18 D.20
答案:C
试题分析:把整数8拆分成5个数字之和,允许有0,我们可以按照非零数字个数进行枚举,1个:1种,2个:4种,3个:5种,4个:5种,5个:3种,累加起来一共18种。详情见普及组课 程109课时。
8.一棵二叉树如右图所示,若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为1,若某结点的下标为i,则其左孩子位于下标2i处、右孩子位于下标2i+1处),则该数组的最大下标至少为()
A.6 B.10 C.15 D.12
答案:C
试题分析:根据题目描述直接计算就可以了,((1*2+1)*2+1)*2+1=15
详情见普及 组课程99课时。
9.100以内最大的素数是()。
A.89 B.97 C.91 D.93
答案:B
试题分析:97最大且为素数,详情见普及组课程123课时。
10.319和377的最大公约数是()。
A.27 B.33 C.29 D.31
答案:C
试题分析:使用辗转相除法计算(319,377)=(319,58)=(58,29) = 29
详 情见普及组课程第121课时。
11.新学期开学了,小胖想减肥,健身教练给小胖制定了两个训练方案。方案一:
每次连续跑3公里可以消耗300千卡(耗时半小时):方案二:每次连续跑5公里可以消耗600千卡(耗时1小时)。小胖每周周一到周四能抽出半小时跑步,周五到周日能抽出一小时跑步。另外,教练建议小胖每周最多跑21公里,否则会损伤膝盖。请问如果小胖想严格执行教练的训练方案,并且不想损伤膝盖,每周最多通过跑步消耗多少千卡?()
A.3000 B.2500 C.2400 D.2520
答案:C
试题分析:设方案1,2各i,j天,由题意,3*i+5*j<=21,i+j<=7,i<=3.求300*i+600*j的最大值。枚举所有情况当i=2,j=3时,最大值2400。
12.一副纸牌除掉大小王有52张牌,四种花色,每种花色13张。假设从这52张
牌中随机抽取13张纸牌,则至少()张牌的花色一致
A.4 B.2 C.3 D.5
答案:A
试题分析:抽屉原理,13张牌最坏情况就是4种花色分别为3,3,3,4张,也就是至少4张一样花色。
13.一些数字可以颠倒过来看,例如0、1、8颠倒过来还是本身,6颠倒过来是9,9颠倒过来看还是6,其他数字颠倒过来都不构成数字。类似的,一些多位数也可以颠倒过来看,比如106颠倒过来是901。假设某个城市的车牌只由5位数字组成,每一位都可以取0到9。请问这个城市最多有多少个车牌倒过来恰好还是原来的车牌?()
A.60 B.125 C.75 D.100
答案:C
试题分析:考察乘法原理,第1,2位有5种选法(0,1,6,8,9),第三位有三种0,1,8,第4,5位由前两位决定,所以答案位5*5*3=75。
14.假设一棵二叉树的后序遍历序列为 DGJHEBIFCA,中序遍历序列为 DBGEHJACIF,则其前序遍历序列为( )。
A. ABCDEFGHIJ B. ABDEGHJCFI
C. ABDEGJHCFI D. ABDEGHJFIC
答案:B
试题分析:考察二叉树的遍历,后序遍历决定根是A,中序遍历中看A的左边DBGEH是左子树,右边CIF是右子树,依次类推可画出完整的树,再求先序遍历,详情见普及组课程100课时。
15.以下哪个奖项是计算机科学领域的最高奖?()
A.图灵奖 B.鲁班奖 C.诺贝尔奖D.普利策奖
答案:A
试题分析:考察常识问题,并且是一道原题。详情见普及组课程102课时。
二、阅读程序(程序输入不超过数组或字符串定义的范围:判断题正确填√,错误填×:除特殊说明外,判断题1.5分,选择题3分,共计40分)
1.
#include <cstdio>
#include <cstring>
using namespace std;
char st[100];
int main() {
scanf("%s", st);
int n = strlen(st);
for (int i = 1; i <= n; ++i) {
if (n % i == 0) {
char c = st[i - 1];
if (c >= 'a')
st[i - 1] = c - 'a' + 'A';
}
}
printf("%s", st);
return 0;
}
判断题
1)输入的字符串只能由小写字母或大写字母组成。()
答案:×
试题分析:题目没说,可以输入包含其他字符的字符串。
2)若将第8行的“i=1”改为“i=0”,程序运行时会发生错误()
答案:√
试题分析:不能对0取余操作,错误。
3)若将第8行的“i<=n”改为“i*i<=n”,程序运行结果不会改变()
答案:×
试题分析:求约数不是判断质数,i*i<=n只能取到n的前半部分约数。
4)若输入的字符串全部由大写字母组成,那么输出的字符串就跟输入的字符串一样。()
答案:√
试题分析:按题意说明即可判断。
选择题
5)若输入的字符串长度为18,那么输入的字符串跟输出的字符串相比至多有()个字符不同。
A.18 B.6 C.10 D.1
答案:B
试题分析:约数个数定理求约数个数。18的约数是:1,2,3,6,9,18。所以最多判定6次。
6)若输入的字符串长度为(),那么输入的字符串跟输出的字符申相比,至多有36个字符不同。
A.36 B.100000 C.1 D.128
答案:B
试题分析:和上题同理。枚举4个选项。36有9个约数,1有1个约数,128有8个约数。选B。100000有36个约数。
2.
#include<cstdio>
using namespace std;
int n, m;
int a[100], b[100];
int main() {
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; ++i)
a[i] = b[i] = 0;
for (int i = 1; i <= m; ++i) {
int x, y;
scanf("%d%d", &x, &y);
if (a[x] < y && b[y] < x) {
if (a[x] > 0)
b[a[x]] = 0;
if (b[y] > 0)
a[b[y]] = 0;
a[x] = y;
b[y] = x;
}
}
int ans = 0;
for (int i = 1; i <= n; ++i) {
if (a[i] == 0)
++ans;
if (b[i] == 0)
++ans;
}
printf("%d", ans);
return 0;
}
假设输入的n和m都是正整数,x和y都是在[1,n]的范围内的整数,完成下面的判断题和单选题
判断题
1)当m>0时,输出的值一定小于2n。()
答案:√
试题分析:按照题意,a数组和b数组赋值为0,a[x] < y && b[y] < x成立,累计计算求和,最终结果肯定小于2n。
2)执行完第27行的“++ans”时,ans一定是偶数。()
答案:×
试题分析:不一定,可以举例求出ans不是偶数的情况。
3) a[i]和b[i]不可能同时大于0。()
答案:×
试题分析:举例即可找到反例。
4)若程序执行到第13行时,x总是小于y,那么第15行不会被执行。()
答案:×
试题分析:同样举例可以实现。
选择题
5)若m个x两两不同,且m个y两两不同,则输出的值为()
A. 2n-2m B.2n+2 C.2n-2 D.2n
答案:A
试题分析:根据题意,m次循环中会有2m个位置的值会变化,ans=2n-2m。
6)若m个x两两不同,且m个y都相等,则输出的值为()
A.2n-2 B.2n C.2m D.2n-2m
答案:A
试题分析:如果m个x各不相同,循环里面的if都不会执行。对数组a,b赋值,只修改了2个位置。也可举例
3 3
3 3
2 3
1 3
答案是4。
3.
#include <iostream>
using namespace std;
const int maxn = 10000;
int n;
int a[maxn];
int b[maxn];
int f(int l, int r, int depth) {
if (l > r)
return 0;
int min = maxn, mink;
for (int i = l; i <= r; ++i) {
if (min > a[i]) {
min = a[i];
mink = i;
}
}
int lres = f(l, mink - 1, depth + 1);
int rres = f(mink + 1, r, depth + 1);
return lres + rres + depth * b[mink];
}
int main() {
cin >> n;
for (int i = 0; i < n; ++i)
cin >> a[i];
for (int i = 0; i < n; ++i)
cin >> b[i];
cout << f(0, n - 1, 1) << endl;
return 0;
}
分析:分治算法。左右两边找答案,然后求运算。
判断题
1)如果a数组有重复的数字,则程序运行时会发生错误。()
答案:×
试题分析:分析代码,有重复的数字不会导致程序运行出错。
2)如果b数组全为0,则输出为0.()
答案:√
试题分析:如果b数组是0,递归推出条件l>r返回0,根据return lres + rres + depth * b[mink];返回结果总是0。
选择题
3)当n=100时,最坏情况下,与第12行的比较运算执行的次数最接近的是()
A.5000 B.6000 C.6 D.100
答案:A
试题分析:最坏情况下a有序,总是求mink和min最小值,需要判断100+99+98+...+2+1 =5050,选A。
4)当n=100时,最好情况下,与第12行的比较运算执行的次数最接近的是()
A.100 B.6 C.5000 D.600
答案:D
试题分析:最好情况每次都二分,总次数为100,层数为 6<log2100<7,总次数约为[6*100,7*100],选D。
5)当n=10时,若b数组满足,对任意0≤i<n,都有b[i]=i+1,那么输出最大为()
A.386 B.383 C.384 D.385
答案:D
试题分析:n=10,深度最大是10,根据代码:1*b[0]+2*b[1]+...+10*b[9]=1*1+2*2+3*3+...+10*10=385。
6)(4分)当n=100时,若b数组满足,对任意0≤i<n,都有b[i]=1, 那么输出最小为()
A.582 B.580 C.579 D.581
答案:B
试题分析:b[i]=1,即求一个100节点的完全二叉树,节点深度之和最小为多少。画图后,计算为
1*1+2*2+4*3+8*4+16*5+32*6+37*7=580
三、完善程序(单选题,每小题3分,共计30分)
1.
#include <cstdio>
using namespace std;
int n;
const int max_size = 1 << 10;
int res[max_size][max_size];
void recursive(int x, int y, int n, int t) {
if (n == 0) {
res[x][y] = ①;
return;
}
int step = 1 << (n - 1);
recursive(②, n - 1, t);
recursive(x, y + step, n - 1, t);
recursive(x + step, y, n - 1, t);
recursive(③, n - 1, !t);
}
int main() {
scanf("%d", &n);
recursive(0, 0, ④);
int size = ⑤;
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++)
printf("%d", res[i][j]);
puts("");
}
return 0;
}
① 处应填( )
A.n%2 B.0 C.t D.1
答案:C
试题分析:(猜的话,变量t没有用过。)递归退出判断,参数t的赋值能发现是经常做取反操作。赋值和n没有必然联系,错误。选C。
② 处应填( )
A.x-step,y-step B.x,y-step
C.x-step,y D.x,y
答案:D
试题分析:四个方向,x,y是当前坐标。根据下面参数,参数分别是x,y;x,y+step;x+step,y;x+step,y+step。
③ 处应填( )
A. x-step,y-step B. x+step,y+step
C. x-step,y D. x,y-step
答案:B
④ 处应填( )
A.n-1,n%2 B.n,0 C.n,n%2 D.n-1,0
答案:B
试题分析:第一次调用recursive函数,n是矩阵规模,初始为n,t是取反次数,所以t初始为0或者1。
1)⑤ 处应填( )
A.i<<(n+1) B.1<<n C.n+1 D.1<<(n-1)
答案:B
试题分析:size是输出矩阵的边长,2^n,位运算是1<<n。
2. (计数排序)计数排序是一个广泛使用的排序方法。下面的程序使用双关键字计数排序,对 n 对 10000 以内的整数,从小达到排序。
例如有三对整数(3,4)、(2,4)、(3,3),那么排序之后应该是(2,4)、(3,3)、(3,4)。
输入第一行为 n,接下来 n 行,第 i 行有两个数 a[i] 和 b[i],分别表示第 i 对整数的第一关键字和第二关关键字。
从小到大排序后输出。
提示:应先对第二关键字排序,再对第一关键字排序。数组 ord[]存储第二关键字排序的结果,数组 res[]存储双关键字排序的结果。
试补全程序
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn = 10000000;
const int maxs = 10000;
int n;
unsigned a[maxn], b[maxn],res[maxn], ord[maxn];
unsigned cnt[maxs + 1];
int main() {
scanf("%d", &n);
for (int i = 0; i < n; ++i)
scanf("%d%d", &a[i], &b[i]);
memset(cnt, 0, sizeof(cnt));
for (int i = 0; i < maxs; ++i)
①; // 利用 cnt 数组统计数量
for (int i = 0; i < n; ++i)
cnt[i + 1] += cnt[i];
for (int i = 0; i < n; ++i)
②; // 记录初步排序结果
memset(cnt, 0, sizeof(cnt));
for (int i = 0; i < n; ++i)
③; // 利用 cnt 数组统计数量
for (int i = 0; i < maxs; ++i)
cnt[i + 1] += cnt[i];
for (int i = n - 1; i >= 0; --i)
④ // 记录最终排序结果
for (int i = 0; i < n; i++)
printf("%d %d", ⑤);
return 0;
}
1)①处应填()
A. ++cnt[1]
B. ++cnt[b[1]]
C, ++cnt[a[i]*maxs+b[i]]
D, ++cnt[a[i]]
答案:B
试题分析:提示:应先对第二关键字排序,再对第一关键字排序。排序的题做了很多,认真读题,不是特别难的事。先对第二关键字进行排序,选B。
2)②处应填()
A. ord[--cnt[a[i]]]=i
B, ord[--cnt[b[i]]]=a[i]
C. ord[--cnt[a[i]]]=b[i]
D. ord[--cnt[b[i]]]=i
答案:D
试题分析:cnt[b[i]]表示第i个数按第二关键字排的位。ord[i]表示第i个数在原位置。
3)③处应填()
A. ++cnt[b[i]]
B. ++cnt[a[i]*maxs+ b[i]]
C, ++cnt[a[il]
D. ++cnt[i]
答案:C
试题分析:对第一关键字进行计数。
4)④处应填()
A. res[--cnt[a[ord[i]]]]=ord[i]
B. res[--cnt[b[ord[i]]]]=ord[i]
C. res[--cnt[b[i]]]=ord[i]
D. res[--cnt[a[i]]]=ord[i]
答案:A
试题分析:对应填空②,此处res[i]记录第一关键字第i的数的原位置。
5) ⑤处应填()
A. a[i],b[i]
B. a[res[i]], b[res[i]]
C. a[ord[res[i]]], b[ord[res[i]]]
D. a[res[ord[i]]], b[res[ord[i]]]
答案:B
试题分析:res[i]记录第i个数的原位置。
CSP-J/S是CCF创办的CSP(软件能力认证)中面向非专业级的软件能力认证,也就是我们熟知的信息学奥赛,不仅含金量高,而且对孩子升学有很大的帮助。
童程童美信息学奥赛课程是由专业教研团队与北京知名学府联合研发,课程内容循序渐进,指导学员围绕每个考试阶段的重点知识进行学习;教研团队强大专业,授课老师经验充足,确保准确把握竞赛方向和特点,保证学员学习进度和质量,助力学员在考试中取得优异成绩!


在java中编写程序,定义一个学生类
import java.util.List;\/ 编写一个Java应用程序,该程序包括3个类:定义一个学生类,Student有姓名,学号,选学的课程列表 定义一个课程类:课程名称,课程分数 (1)初始化一个学生,选择了三门课程,并添加到学生的属性中 (2)实现统计学生的总分功能 1.正确编写2个类(5分)2.统计学生的总分功能...

如何在c++定义一个学生类以实现平均成绩的计算和查询功能?
1.定义学生类,包括学号、姓名、性别、多门课程的成绩;假设有n个学生,由键盘输入学生信息;2定义类成员函数,计算每个学生的平均成绩;4.同时输出所有学生信息;5.通过输入学生学号或姓名... 1. 定义学生类,包括学号、姓名、性别、多门课程的成绩;假设有n个学生,由键盘输入学生信息;2定义类成员函数,计算每个学生的平均...

java编写程序 实现定义学生信息类,包括学生的姓名、学号
1 学生类 class Student{ private String name;private String number;private int score;\/\/get\/set省 public Student(){ } public Student(String name, String number, int score){ this.name=name;this.number=number;this.score=score;} } ...

定义一个学生类,其中有3个数据成员有学号、姓名、年龄,以及若干成员...
intm_nID;\/\/学生学号 \/\/功能函数 public:\/\/学生信息 void SetStudentInf(LPSTR szName, byte byAge, int nID);\/\/获取学生信息 void GetStudentInf(LPSTR &szName, byte &byAge, int &nID);};\/\/\/ \/\/实现类方法 CStudent::CStudent(){ m_szName = NULL;m_byAge = 0;m_nID = 0;...

创建一个学生类student,用C++编程实现
GetId() const {return this->id;}void SetId(int id) {this->id = id;}const char * GetName() const {return this->name;}void SetName(const char * name) {if (this->name) {delete this->name;}int len = strnlen_s(name, 20);this->name = new char[len + 1]...

定义一个表示学生的类student,包括属性:学号,姓名,性别,年龄;_百度知...
1、新建一个272.php,如图所示:2、输入php网页的结构(<?php?>),如图所示:3、声明PHP与浏览器交互的文件类型和编码,如图所示:4、使用class关键字,定义一个Student类,代码如图所示:5、给Student类添加成员变量和成员方法,代码如图所示:6、给Student类,创建一个对象,代码:$s1=newStudent()。

编写一个C#应用程序,定义学生类Student及其派生类Undergraduate和Gradua...
\/\/声明为虚函数,下面的派生类就可以重载了 { Console.WriteLine("I am a student!");} public override string ToString()\/\/对Object基类方法ToString的重载 { return string.Format("Name : {0} Num : {1}", Name, Num);} } class Undergraduate : Student { public double Score { get...

用C++定义一个学生类,成员包括:学生姓名、学号、学习成绩(10门课程...
i<10;i++){ cin>>this->SScore[i];} } void Student::print(){ cout<<"学生信息:姓名:"<<SName<<"\\t学号:"<<SNo<<"\\t各科成绩";for(int i=0;i<10;i++){ cout<<SScore[i]<<"\\t";} cout<<endl;} int main(){ Student s;s.init();s.print();return 0;} ...

用java定义一个学生类和一个课程类,要求能实现一个学生能选择多门课程...
System.out.println("以下是可供学生选择的课程列表");System.out.println("课程名称");for (int i = 0; i < courses.length; i++)System.out.println(courses[i].getName());System.out.println("===");Student student = new Student("张三");student.addCourse(courses[0]);student.a...

定义一个学生类,有3个数据成员有学号、姓名、年龄,以及若干成员函数...
{ string name;string num;int age;public:Stu(string iname, string inum, int iage){ SetAll(iname, inum, iage);} ~Stu() { display(); } void SetAll(string iname, string inum, int iage){ name=iname;num=inum;age=iage;} void SetName(string iName) { name=iname; }...

珠海市18445457464: C++ 定义学生类,用于存放学生的基本信息,平均成绩通过方法调用计 -
郜党复方: 兄弟咱写1格式规范且经严密测试完所需要功能且性化设计并且提供视化测试我考虑周吧懂问我 努力吧~~~ using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions;///控制台测试 static void ...

珠海市18445457464: 用C++定义一个学生类 -
郜党复方: #include<iostream> #include<string> using namespace std; class student { public:student(string n,int num,int a);void display();~student(); private:int numble;string name;int age; }; student::student(string n,int num,int a) {name = n;numble = ...

珠海市18445457464: 求c++学生成绩管理,求平均值,显示学生所有信息
郜党复方: 给个简单例子: #include <iostream> #include <string> using namespace std; struct student{ string name; string number; float math; float english; float computer; float average; }; int main(int argc, char* argv[]) { student A; A.name="李明"; A....

珠海市18445457464: C++编写程序声明类Student -
郜党复方: #include<string> #include<iostream> using namespace std; class Student { private:string name;string number;float grade; public:void setValue(string n,string num,float g){name=n;number=num;grade=g;}string getName(){return name; ...

珠海市18445457464: 用c++输出2个学生2门课成绩,计算每个学生的平均分和总分 -
郜党复方: #include <iostream.h> struct Stu {char Name[20];float grade1;float grade2;float avarge; };void main() {Stu stu[2]={{"zhangsan",65,75},{"lisi",80,90}}; for(int i=0;i<2;i++){cout<<"第"<<i+1<<"个学生:"<<endl;stu[i].avarge = (...

珠海市18445457464: 用c++设计程序:输入五个同学的成绩,计算其平均成绩. -
郜党复方: #include <iostream> using namespace std;int main() { int count = 1; int sum = 0; int in; while (count <= 5) { cin >> in; sum += in; } cout << sum/count << endl; return 0; }

珠海市18445457464: 用c++输出2个学生2门课成绩,计算每个学生的平均分和总分 -
郜党复方: #include struct Stu { char Name[20]; float grade1; float grade2; float avarge;};void main(){ Stu stu[2]= { {"zhangsan"...

珠海市18445457464: C++编写程序:10个学生3们课程.要求:输入学生成绩后统计出每个学生的平均分,并由高到低排列.计算出每门课的平均成绩和每门课不及格的人数.不给代码就给个最简单的方案
郜党复方: 你直接用个结构存放学生的3门成绩 或者用二维数组: struct SSSS { int ss1; int ss2 int ss3; }; 然后来个结构体数组: SSSS s[ 10 ]; 然后就可以判断和排序了! 或者: int s[ 10 ][ 3 ]; 这种来,不过这样的话排序就麻烦一点!

珠海市18445457464: c++编程 创建一个学生类 统计80分以上、 不及格的人数, 并且求成绩平 -
郜党复方: #include <list> using namespace std; class 学生管理类 { public: unsigned int _80分以上人数() { return 0; } unsigned int 不及格人数() { return 0; } double 平均成绩() { return 0; } private: list<float> 分数列表; }; int main(int argc, char* argv[]) ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网