资源简介
c++设计的学分管理系统,用于大一大二同学进行的简单课程设计。
代码片段和文件信息
#include
#include
#include
#include
#define N 3
#define M 10
struct stud
{ char num[8]name[10];
int s[4]; //学分
int ave;
}st[M];
int kk1;
void output();
void save();
void read();
void input();
void jisuan();
//--------------------------
void output()
{ int ij;
cout<<“学号\t姓名\t“;
for(i=0;icout<<“学分“<cout<
for(i=0;icout<<“********“;
cout<<“\n“;
for(i=0;i{
cout< cout<<“\t“< for(j=0;j cout<<“\t“<
cout<<“\n“;
}
for(i=0;icout<<“********“;
cout<<“\n“;
}
//--------------------------
void save()
{
int i;
ofstream outfile(“abc.dat“);
if(! outfile)
{ cout<<“cannot open file \n“;
exit(0);
}
outfile.write((char*)&ksizeof(k));
outfile.write((char*)&k1sizeof(k1));
for(i=0;i outfile.write((char*)&st[i]sizeof(st[i]));
outfile.close();
}
//--------------------------
void read()
{
int i;
ifstream infile(“abc.dat“);
if(! infile)
{ cout<<“cannot open file \n“;
exit(0);
}
infile.read((char*)&ksizeof(k));
infile.read((char*)&k1sizeof(k1));
for(i=0;iinfile.read((char*)&st[i]sizeof(st[i]));
infile.close();
}
//--------------------------
void input()
{ int ij;
cout<<“请输入学生总数:“;
cin>>k;
cout<<“每个学生几种学分:“;
cin>>k1;
cout<<“输入学生的学号、姓名、“<for(i=0;i {
cin>>st[i].num;
cin>>st[i].name;
for(j=0;j cin>>st[i].s[j];
}
output();
save();
}
//--------------------------
void jisuan()
{ int ijsum;
read();
for(i=0;i {
sum=0;
for(j=0;j sum+=st[i].s[j];
st[i].ave=sum/k1;
}
output();
save();
}
//--------------------------
void sort()
{ int ijm;
struct stud t;
read();
for(i=0;i { m=i;
for(j=i+1;j if(st[j].ave>st[m].ave)m=j;
if(m!=i)
{t=st[m];st[m]=st[i];st[i]=t;}
}
output();save();
}
//------------------------------
void insert()
{ int jsum;
char ch;
read();
cout<<“你想要插入记录(Y/N)?“;
cin>>ch;
while(ch==‘Y‘||ch==‘y‘)
{
cout<<“输入学生的学号、姓名、“< cin>>st[k].num;
cin>>st[k].name;
sum=0;
for(j=0;j { cin>>st[k].s[j];
sum+=st[k].s[j];
}
st[k].ave=sum/4;
k++;
cout<<“继续插入记录?“;
cin>>ch;
}
output();
save();
}
//-------------------------------------
void search()
{ int s1s2ijs3wn=1;
read();
cout<<“请输入要查询第几钟学分:“;
cin>>s3;
cout<<“请输入要查询分数的范围:“;
cout<<“下限:“;
cin>>s1;
cout<<“上限:“;
cin>>s2;
for(i=0;i if(st[i].s[s3-1]>=s1&&st[i].s[s3-1]<=s2)
{ cout<<“学号\t姓名\t“;
for(w=0;w cout<<“学分\t“< cout<<“平均学分\n“;
for(w=0;w cout<<“********“;
cout<<“\n“;
cout< cout<<“\t“< for(j=0;j cout<<“\t“< cout<<“\t“< cout<<“\n“;
}
}
//---------------------
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 88 2009-12-21 22:50 学分管理系统\abc.dat
文件 88 2010-01-06 10:05 学分管理系统\Debug\abc.dat
文件 50176 2009-12-28 11:59 学分管理系统\Debug\vc60.idb
文件 61440 2009-12-28 11:59 学分管理系统\Debug\vc60.pdb
文件 229465 2009-12-28 11:59 学分管理系统\Debug\学分管理.exe
文件 293916 2009-12-28 11:59 学分管理系统\Debug\学分管理.ilk
文件 26165 2009-12-28 11:59 学分管理系统\Debug\学分管理.obj
文件 289188 2009-12-28 11:59 学分管理系统\Debug\学分管理.pch
文件 566272 2009-12-28 11:59 学分管理系统\Debug\学分管理.pdb
文件 4002 2009-12-21 22:53 学分管理系统\学分管理.cpp
文件 3427 2009-12-28 11:59 学分管理系统\学分管理.dsp
文件 524 2009-12-28 11:59 学分管理系统\学分管理.dsw
文件 41984 2009-12-28 11:59 学分管理系统\学分管理.ncb
文件 48640 2009-12-28 11:59 学分管理系统\学分管理.opt
文件 756 2009-12-28 11:59 学分管理系统\学分管理.plg
目录 0 2010-01-06 10:03 学分管理系统\Debug
目录 0 2010-01-12 22:16 学分管理系统
----------- --------- ---------- ----- ----
1616131 17
- 上一篇:c语言实现中缀表达式转后缀并求值
- 下一篇:维特比译码+卷积码编码程序C/C++实现
评论
共有 条评论