太巧了,我们上上个星期做了个C++实践,就是这个题目。哈哈,你太走运了。
这个程序挺难写的,我的程序代码如下:
#include<iostreamh>
#include<fstreamh>
#include<string>
struct corse
{
char course[10];
int score;
};
class Stu
{
int Class;
int id;
char name[10];
corse p[10];
public:
void getdate(int a,int b,char c[10],char d[10][10],int e[10])
{ int i; Class=a; id=b; strcpy(name,c);
for(i=0;i<10;i++)
{ strcpy(p[i]course,d[i]);
p[i]score=e[i];}
}
void sortdate();
void output_failor(char a[10]);
void output_first5(char a[10]);
void output_average(char a[10]);
void output_gradelist_ofoneclass(char a[10],int c);
void output()
{int k;
cout<<Class<<'\t'<<id<<'\t'<<name<<'\t';
for(k=0;k<10;k++)
{ if(p[k]score==0)continue;
cout<<p[k]course;
cout<<"-"<<p[k]score<<'\t';
}
cout<<endl;
}
void copy(Stu obj)
{ int i;
Class=objClass;
id=objid;
strcpy(name,objname);
for(i=0;i<10;i++)
{strcpy(p[i]course,objp[i]course);
p[i]score=objp[i]score;
}
}
}stu[50];
void Stu::output_failor(char a[10])
{ int j(0) ,i;
for(i=0;i<50;i++)
for(j=0;j<10;j++)
{
if ((strcmp(stu[i]p[j]course,a)==0)&&(stu[i]p[j]score<60))
stu[i]output();
}
}
void Stu::output_first5(char a[10])
{
int i=0, j=0 ,k,l,r(0);
for(i=0;i<49;i++)
for(j=0;j<10;j++)
for(k=i+1;k<50;k++)
for(l=0;l<10;l++)
{ if ((strcmp(stu[i]p[j]course,stu[k]p[l]course)==0)&&(strcmp(stu[i]p[j]course,a)==0)&&(stu[i]p[j]score<stu[k]p[l]score))
{
Stu m=stu[i];
stu[i]copy(stu[k]);
stu[k]copy(m);
}
}
for(i=0;i<50;i++)
{
for(j=0;j<10;j++)
if(strcmp(stu[i]p[j]course,a)==0)
{
cout<<stu[i]Class<<'\t'<<stu[i]id<<'\t'<<stu[i]name<<'\t'<<stu[i]p[j]course<<'\t'<<stu[i]p[j]score<<'\n';
}
if(r>4) break;
}
}
void Stu::output_gradelist_ofoneclass(char a[10],int c)
{
int i=0, j=0 ,k,l;static r(0);
for(i=0;i<49;i++)
for(j=0;j<10;j++)
for(k=i+1;k<50;k++)
for(l=0;l<10;l++)
{ if (strcmp(stu[i]p[j]course,stu[k]p[l]course)==0&&strcmp(stu[i]p[j]course,a)==0)
if((stu[i]Class==stu[k]Class==c)&&(stu[i]id>stu[k]id))
{
Stu m=stu[i];
stu[i]copy(stu[k]);
stu[k]copy(m);
}
}
for(i=0;i<50;i++)
for(j=0;j<10;j++)
if((strcmp(stu[i]p[j]course,a)==0)&&(stu[i]Class==c))
stu[i]output();
}
void Stu:: output_average(char a[10])
{
int k,i=0, j=0 , g,b,c[5]={1,2,3,4,5}, r[5]={0,0,0,0,0},sum[5]={0,0,0,0,0};
double m[5];
for (k=0;k<5;k++)
for(i=0;i<50;i++)
for(j=0;j<10;j++)
{ if ((strcmp(stu[i]p[j]course,a)==0 )&&( stu[i]Class==c[k]))
{ sum[k]+=stu[i]p[j]score;
r[k]++;
}
}
for(g=0;g<4;g++)
for(b=g+1;b<5;b++)
{
if(sum[g]<sum[b])
{ i=sum[g]; j=c[g];c[g]=c[b];c[b]=j;k=r[g];r[g]=r[b];r[b]=k;
sum[g]=sum[b];
sum[b]=i;
}
if(sum[g]!=0) m[g]=(double)sum[g]/r[g];
else m[g]=0;
}
if (sum[4]=0) m[4]=0;
else m[4]=(double)sum[4]/r[4];
for(g=0;g<4;g++)
for(b=g+1;b<5;b++)
{
if(m[g]<m[b]){j=m[g];m[g]=m[b];m[b]=j;k=c[g];c[g]=c[b];c[b]=k;}
}
for(g=0;g<5;g++) if(m[g]!=0)
cout<<c[g]<<"班的平均分为:"<<m[g]<<endl;
}
void main()
{
char a[10],b[10],c[10],d[10],e[10],mark,h[10][10];
int j,f,l[10]={0,0,0,0,0,0,0,0,0,0},g,x,z;static int y=0;
cout<<" 教 学 管 理 系 统 "<<endl;
cout<<" 1添加学生信息; "<<endl;
cout<<" 2查询某门课程的不及格名单; "<<endl;
cout<<" 3查询某门课程的全年级的前五名;"<<endl;
cout<<" 4查询每个班某门课程的平均成绩;"<<endl;
cout<<" 5查询某班某门课程的成绩单 "<<endl;
loop: cout<<" 请输入您的选择(1-5):";cout<<endl;
cin>>x;
switch(x)
{
case 1: cout<<"请输入学生信息: (输入-1时结束输入)"<<endl;
cout<<"班级\t学号\t姓名\t选修课1\t成绩1\t选修课2\t成绩2\t"<<endl;
for(y;y<50;y++)
{
cin>>f;
if(f==-1)goto loop;
cin>>g;
cin>>e;
for(j=0;j<10;j++)
{
cin>>h[j];
cin>>l[j];
mark=cinget();
if(mark=='\n') break;
}
stu[y]getdate(f,g,e,h,l);
}goto loop;break;
case 2:
cout<<"输入您想要哪门课程的不及格名单:"<<endl;
cin>>a;
cout<<"班级\t学号\t姓名\t选修课\t成绩\t"<<endl;
stu[0]output_failor(a);goto loop;break;
case 3:
cout<<"请输入您想要哪门课程的全年级的前五名"<<endl;
cin>>b;
stu[0]output_first5(b);
goto loop;break;
case 4:cout<<"输入您想要哪门课程的每班平均成绩:"<<endl;
cin>>c;
stu[0]output_average(c);
goto loop;
break;
case 5: cout<<"输入您想要哪门课程、哪个班级的成绩单:";
cin>>d>>z;
stu[0]output_gradelist_ofoneclass(d,z);
goto loop;break;
default:cout<<"输入错误,请重新输入"<<endl;
goto loop;
}
}
源程序,是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件。通常由高级语言编写。源程序可以是以书籍或者磁带或者其他载体的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机可执行的程序。将人类可读的程序代码文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,由各种编译器来完成。一般用高级语言编写的程序称为“源程序”。
源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。
源代码主要有如下两种作用:1、生成目标代码,即计算机可以识别的代码。
2、对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分不会在生成的程序中直接显示,也不参与编译。但是注释代码对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。
教务管理信息系统的源程序属于应用软件。
教学管理系统是学校信息化的重要组成部分,是学校教学运行的重要基石,由此得知教务管理系统程序属于应用软件。
教务管理系统(又称教学管理信息服务平台,简称教务系统)是大学教学管理信息化的一个综合平台。
向源代码管理中添加项目的方式取决于项目所属的解决方案是否处于源代码管理下。如果解决方案处于源代码管理下,则签入解决方案时会自动向源代码管理中添加项目。有关签入解决方案的详细信息,请参阅
如果该项目所属的解决方案未处于源代码管理下,则可将该解决方案添加到源代码管理中,这样会自动添加解决方案的项目。有关将解决方案添加到源代码管理中的详细信息,请参阅
如果不想将解决方案添加到源代码管理中,则可使用
“将选定内容添加到源代码管理中”
命令手动添加项目。
数据库对象不直接受源代码管理提供程序的保护,但是可以创建数据库对象脚本并将脚本保存在源代码管理中。
以上就是关于求教学管理系统源程序(C\C++)全部的内容,包括:求教学管理系统源程序(C\C++)、什么叫源程序、源程序是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)