c++程序+统计成绩+以文件形式先存入学生成绩统计分析表信息

求用c++写一个统计学生成绩的程序,要求用动态存储分配思想完成数组的定义。_百度知道
求用c++写一个统计学生成绩的程序,要求用动态存储分配思想完成数组的定义。
要求有4个子函数(1)输入n个学生m门功课的成绩(2)每个学生的平均分;(3)每门功课的平均分;(4)找出最高分所对应的学生和功课。 谢谢大神
提问者采纳
#include&iostream&#include&string&using&std::using&std::using&std::using&std::class&performance{private: int&//number&of&your&subjects int&//number&of&student float**p; string&* string&*protected: int&StudentPos(const&string&str); int&SubjectPos(const&string&str);public: performance(); float&AverageStudent(const&string&nameOFstudent); float&AverageSubject(const&string&nameOFsubject); void&MaxScore(const&string&nameOFsubject); ~performance();};int&performance::StudentPos(const&string&&str){ for(int&i=0;i&i++) {
if(!pare(student[i]))
return&i+1;
} } return&INT_MAX;}int&performance::SubjectPos(const&string&str){ for(int&i=0;i&i++) {
if(!pare(subject[i]))
return&i+1;
} } return&INT_MAX;}performance::performance(){ cout&&&please&input&number&of&student:\n&; cin&& cout&&&please&input&number&of&your&subjects:\n&; cin&& if(numstudent&&numsubject) {
p=new&float*[numstudent];
student=new&string[numstudent];
subject=new&string[numsubject];
for(int&i=0;i&i++)
p[i]=new&float[numsubject];
cout&&&input&&&&numstudent&&&&name&of&student:\n&;
for(int&i=0;i&i++)
cin&&student[i];
cout&&&input&&&&numsubject&&&&name&of&subject:\n&;
for(int&i=0;i&i++)
cin&&subject[i];
for(int&i=0;i&i++)
cout&&&输入&&&student[i]&&&的分数:\n&;
for(int&j=0;j&j++)
cout&&&输入&&&subject[j]&&&的分数:&;
cin&&p[i][j];
} }}float&performance::AverageStudent(const&string&&str){ int&n=StudentPos(str); float&sum=0; if(numstudent&&numsubject&&n&INT_MAX) {
for(int&i=0;i&i++)
sum+=p[n-1][i];
return&sum/ } return&}float&performance::AverageSubject(const&string&str){ int&n=SubjectPos(str); float&sum=0; if(numsubject&&numstudent&&n&INT_MAX) {
for(int&i=0;i&i++)
sum+=p[i][n-1];
return&sum/ } return&}void&performance::MaxScore(const&string&str){ int&n=SubjectPos(str); if(numstudent&&n&numsubject&&n&INT_MAX) {
int&index=0;
for(int&i=1;i&i++)
if(p[index][n-1]&p[i][n-1])
cout&&subject[index]&&&的最高分为&&&p[index][n-1]&&&:\n&;
for(int&i=0;i&i++)
if(p[i][n-1]==p[index][n-1])
cout&&student[i]&&&&&;
cout&&&\n&; }}performance::~performance(){ for(int&i=0;i&i++) {
delete[]&p[i]; } if(p) {
delete[]p; } if(student) {
delete[] } if(subject) {
delete[] }}void&main(){ performance& cout&&&张的平均分:&&&perform.AverageStudent(&张&)&&&\n&; cout&&&物理的平均分:&&&perform.AverageSubject(&物理&)&&&\n&; perform.MaxScore(&数学&);}测试数据:张 王 李 赵数学 语文 英语 物理 化学 生物120 111 121 80 78 90&131 144 117 79 88 91134 109 134 67 79 88134 109 134 67 79 88
报错啊36和48
提问者评价
虽然看不懂 还是相当感谢哈
其他类似问题
为您推荐:
动态存储的相关知识
其他2条回答
作业代写。有意向请加头像中的号。
没找到。。。
----------------------------柒5⑨646柒0З
你是要骗你爸妈是么?
。。。一个工商专业只因手贱啊
。。。一个工商专业只因手贱啊
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁谁会用c++编写统计学生成绩的程序,帮我写几个程序,分别实现以下几个功能,求高手解决_百度知道
谁会用c++编写统计学生成绩的程序,帮我写几个程序,分别实现以下几个功能,求高手解决
⑴ 统计一门课程的及格率、平均成绩;⑵ 统计这门课程各成绩段:0~59;60~69、70~79、80~89、90~100的人数,及其占总人数的比例;并将上述所有统计信息存储在文本文件“SCOREC.TXT”中。
⑶ 统计并显示最高分、最低分的学生的基本信息;⑷ 显示所有不及格的学生的学号、姓名、成绩;⑸ 修改指定学号的学生的基本信息;⑹ 查询并显示指定学号的学生的基本信息。
提问者采纳
百度文库上挺多的,自己改改就行了!好好学!
提问者评价
太给力了,你的回答完美解决了我的问题!
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁编写一个C++程序,定义学生类。用对象数组初始化,将其写入文本文件,并显示。_百度知道
编写一个C++程序,定义学生类。用对象数组初始化,将其写入文本文件,并显示。
编写一个程序,首先定义一个学生类,包括学号、姓名、成绩等数据成员。在main函数中利用对象数组初始化学生信息,然后将其写入到文本文件中,最后显示出来。用C++编写。重点是这个对象数组的读写,本人完全不会,求高手指点。
提问者采纳
///////////////////////////////////////////
C-Free 4.1//
veket的小号/////////////////////////////////////////#include &iostream&#include &fstream&#include &string&class Student{public: Student(int i, string n, int s); int GetID(){} string GetName(){} int GetScore(){}private:};Student::Student(int i, string n, int s):id(i),name(n),score(s){ }int main(){ Student a[3] = {Student(1001, &Jack&, 95), Student(1002, &Tom&, 80), Student(1003, &Mike&, 93)}; for(i=0;i&3;i++) {
cout && &学号\t& && a[i].GetID()
&& &\t姓名\t& && a[i].GetName()
&& &\t成绩\t& && a[i].GetScore()
&& } f.open(&C:\\student.txt&, ios::out); for(i=0;i&3;i++) {
f && &学号\t& && a[i].GetID()
&& &\t姓名\t& && a[i].GetName()
&& &\t成绩\t& && a[i].GetScore()
&& } f.close(); return 0;}
Student::Student(int i, string n, int s):id(i),name(n),score(s){}这个是什么意思啊?主要是不明白这个部分:id(i),name(n),score(s)
初始化列表
讲组合类的时候会讲到
提问者评价
原来是这样,感谢!
来自团队:
其他类似问题
为您推荐:
其他1条回答
VS2010编译运行。程序主要重载流操作符。
#include &iostream&
#include &fstream&
#include &string&
class student
string number,
friend ofstream & operator && (ofstream & outfile, student & stu);
friend ifstream & operator && (ifstream & infile, student & stu);
friend ostream & operator && (ostream & out, student & stu);
ofstream & operator && (ofstream & outfile, student & stu)
outfile && stu.number && ' ' && stu.name && ' '
&& stu.grade &&
ifstream & operator && (ifstream & infile, student & stu)
infile && stu.number && stu.name && stu.
对象数组的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
C++课程设计报告-学生成绩统计系统
下载积分:2000
内容提示:C++课程设计报告-学生成绩统计系统
文档格式:DOC|
浏览次数:14|
上传日期: 13:01:35|
文档星级:
该用户还上传了这些文档
C++课程设计报告-学生成绩统计系统
官方公共微信用C++编写一个程序:统计学生的成绩信息_百度知道
用C++编写一个程序:统计学生的成绩信息
要求:1 能按总分排序2 能分别统计数学 英语 计算机成绩的不及格人数3 能按学号查找学生,并显示该学生的信息注:排序由自定义函数实现用结构体数组作函数参数
#include &iostream&#include &string&#define max 20typedef struct _Student{ float math, com, eng, //对应为数学,计算机,英语,总分}Svoid search(Student data[]){ //找人并显示 cout&&&\n输入学生学号: &; cin&& for (int i=0; i& i++){
if (id == data[i].id){
cout&&endl
: &&&data[i].name&&endl
: &&&data[i].id&&endl
: &&&data[i].math&&endl
: &&&data[i].eng&&endl
&&&计算机: &&&data[i].com&&endl
: &&&data[i].total&&endl&&
} } cout&&endl
&&&没有找到学号为: &&&id&&& 的学生&&&}void copyStudent(Student* a, Student* b){//把B复制给A a-&name = b-& a-&id = b-& a-&math = b-& a-&eng = b-& a-&com = b-& a-&total = b-&}void sort(Student data[]){//排序 for(int i=0; i&max-1; i++){
for (int j=0; j&max-1; j++){
if (data[j].total & data[j+1].total){
copyStudent(&temp, &data[j]);
copyStudent(&data[j],&data[j+1]);
copyStudent(&data[j+1],&temp);
} }}void statistics(Student data[]){//统计 int fMath=0, fEng=0, fCom=0; for (int i=0; i& i++){
if (data[i].math & 60.f)
if (data[i].eng & 60.f)
if (data[i].com & 60.f)
fCom++; } cout&&endl
&&&数学不及格
: &&&fMath&&endl
&&&英语不及格
: &&&fEng&&endl
&&&计算机不及格: &&&fCom&&endl&&}void input(Student data[]){//输入数据 int i=0; do{
cout&&endl
&&&输入姓名: &;
cin&&data[i].
cout&&&输入学号: &;
cin&&data[i].
cout&&&输入数学课成绩: &;
cin&&data[i].
cout&&&输入英语课成绩: &;
cin&&data[i].
cout&&&输入计算机课成绩: &;
cin&&data[i].
data[i].total = (data[i].math + data[i].eng + data[i].com)/3.f;
cout&&&继续? (y/n): &;
cin&&c; }while (i&max && ( c== 'y' || c== 'Y'));}void displayAll(Student data[]){//显示全部 for (int i=0; i& i++){
if (data[i].total != -1){
cout&&endl
&&&#&&&i+1&&endl
:&&&data[i].name&&endl
:&&&data[i].id&&endl
:&&&data[i].math&&endl
:&&&data[i].eng&&endl
&&&计算机:&&&data[i].com&&endl
:&&&data[i].name&&endl&&
} }}void init(Student data[]){ for (int i=0; i& i++){
data[i].name = & &;
data[i].id = & &;
data[i].math = 100.f;
data[i].eng = 100.f;
data[i].com = 100.f;
data[i].total = -1.f; }}int main(){ Student data[max]; init(data); input(data); sort(data); displayAll(data); statistics(data); return 0;}
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 成绩统计表 的文章

 

随机推荐