qq_39240275 2017-06-20 05:07 采纳率: 0%
浏览 1215

c++成绩记录簿的课程设计,急需大神相助

用c++制作一个成绩记录簿的课程设计,但是许多功能实现不了,磁盘文件不会调用,求大神帮忙
#include
#include
#include
#include
#define N 1000
using namespace std;
class Student//定义一个学生类
{
public:
Student(long n=100000,string na="无",string se="男",float c=0):num(n),name(na),sex(se),cpp(c){};
long num;
string name;
string sex;
float cpp;
};
void display()
{
int i;
Student stud[N];
system("color 4C");
fstream iofile("学生信息.dat",ios::in|ios::out|ios::binary);
if(!iofile)
{cerr<<"open error!"<<endl;
abort();
}
for(i=0;i<5;i++)
iofile.write((char *)&stud[i],sizeof(stud[i]));

    for(i=0;i<5;i++)
    {

iofile.read((char *)&stud[i],sizeof(stud[i]));
cout<<stud[i].num<<" "<<stud[i].name<<" "<<stud[i].sex<<" "<<stud[i].cpp<<" "<<endl;
}
iofile.close();
}

void search_by_num()
{system("color 3D");
Student stud[5];
int i;
long n;
ifstream infile("学生信息.dat",ios::in);
if(!infile)
{cerr<<"open error!"< exit(1);
}
cout cin>>n;
cout<<"该学生信息如下:"< for(i=0;i {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].cpp;
}
for(i=0;i {
if(stud[i].num==n)
{cout cout cout cout cout cout }
}
infile.close();
}
void search_by_name()
{ system("color 3E");
Student stud[5];
int i;
string namel;
ifstream infile("学生信息.dat",ios::in);
if(!infile)
{cerr exit(1);
}
cout cin>>namel;
cout<<"该学生信息如下:"< for(i=0;i {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].cpp;
}
for(i=0;i {if(stud[i].name==namel)
{cout cout cout cout cout cout }
}
infile.close();
}
void add()
{ system("color 3B");
Student studx;
ofstream outfilel("增加信息.dat");
if(!outfilel)
{cerr exit(1);
}
cout cout cin>>studx.num;
cout<<"姓名:";
cin>>studx.name;
cout<<"性别:";
cin>>studx.sex;
cout<<"c++:";
cin>>studx.cpp;
outfilel<<" "< outfilel.close();
}
void save_to_information()
{system("color 3A");
Student studx;
ifstream infile("增加信息.dat");
if(!infile)
{cerr exit(1);
}
ofstream outfile("学生信息.dat",ios::app);
if(!outfile)
{cerr exit(1);
}
infile>>studx.num>>studx.name>>studx.sex>>studx.cpp;
outfile<<" "< infile.close();
outfile.close();
cout void change_by_num()
{system("color 3D");
Student stud[5];
int i;
long numl;
long nu;
string se;
float cp;
ifstream infile("学生信息.dat",ios::in);
if(!infile)
{cerr exit(1);
}
cout cin>>numl;
for(i=0;i {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].cpp;
}
infile.close();
ofstream outfile("学生信息 .dat",ios::out);
if(!outfile){cerr<<"open file error!";exit(1);
}
cout<<"请输入修改数据:"< cout cin>>nu;
cout<<"性别:";
cin>>se;
cout<<"C++:";
cin>>cp;
for(i=0;i {if(stud[i].num=numl&&stud[i].num!=100000)
{stud[i].num=nu;stud[i].sex=se;stud[i].cpp=cp;}
if(stud[i].num!=10000)outfile }
cout outfile.close();//如果学号不等于100000,才保存文件;
}
void change_by_name()
{Student stud[5];
int i;
string namel;
long nu;
string na;
string se;
float cp;
ifstream infile("学生信息.dat",ios::in);
if(!infile)
{cerr exit(1);
}
cout cin>>namel;
for(i=0;i {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].cpp ;}
infile.close();
ofstream outfile("学生信息dat",ios::out);
if(!outfile){cerr<<"open file error!";exit(1);}
cout<<"请输入修改数据:"< cout cin>>nu;
cout<<"性别:";
cin>>se;
cout<<"C++:";
cin>>cp;
for(i=0;i {if(stud[i].name==namel&&stud[i].num!=100000){stud[i].num=nu;stud[i].sex=se;stud[i].cpp=cp;}
if(stud[i].num!=100000)outfile }
cout outfile.close();
}
void display_by_select_cpp()
{Student stud[5];
float average=0;
float total=0;
int i;
int j=0;
int k=0;
int m=0;
int n=0;
int p=0;
fstream infile("学生信息.dat",ios::in);
if(!infile)
{
cerr exit(1);
}
for(i=0;i {
infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].cpp ;
total=total+stud[i].cpp;}
infile.close();
cout<<"-------90分以上的学生--------"< {cout for(i=0;i {if(stud[i].cpp=90)
{if(stud[i].num==100000)break;
cout< cout j++;
}
}
cout cout cout cout for(i=0;i {
if(stud[i].cpp=80)
{if(stud[i].num==100000)break;
cout< cout j++;k++;}}
cout cout cout cout for(i=0;i {
if(stud[i].cpp=70)
{if(stud[i].num==100000)break;
cout< cout j++;m++;
}
}
cout cout cout cout for(i=0;i {
if(stud[i].cpp=60)
if(stud[i].num==100000)break;
cout< cout j++;n++;}}
cout cout cout cout for(i=0;i {if(stud[i].cpp=0)
{if(stud[i].num==100000)break;
cout<<setiosflags(ios::left);
cout<<setw(10)<<stud[i].name<<setw(8)<<stud[i].num<<setw(8)<<stud[i].sex<<setw(8)<<stud[i].cpp<<endl;
j++;p++;}}
average=total/j;
cout<<endl<<endl<<endl;
cout<<"总计:"<<p<<"人,学生总人数"<<j<<"人,班级C++平均分"<<average<<endl<<endl;
cout<<"-------------------"<<endl;
}

void Main_desk()
{cout<<endl<<endl<<endl;
cout<<"***********************************"<<endl;
cout<<" * 欢迎使用学生成绩记录簿*"<<endl;
cout<<"* "<<endl;
cout<<"
"<<endl;
cout<<"
"<<endl;
cout<<"
1.显示所有 "<<endl;
cout<<"
2.查询信息 "<<endl;
cout<<"
3.增加记录 "<<endl;
cout<<"
4.修改数据 "<<endl;
cout<<"
5.成绩分段 "<<endl;
cout<<"
6.退出 "<<endl;
cout<<"
********************************"<<endl;
cout<<"* 请输入功能导向码 *"<<endl;
}

void Search_desk()
{cout<<"*************************"< cout cout cout cout }
void Change_desk()
{cout cout cout cout cout }
void Add_desk()
{cout cout cout cout }
void Del_desk()
{
}
void del_by_num()
{
}
void del_by_name()
{
}
int key()
{int n;
cin>>n;
return n;
}
int main()
{system("color 3B");
while(1)
{Main_desk();
switch(key())
{
case 1:system("cls");display();break;
case 2:system("cls");while(1)
{Search_desk();
switch(key())
{case 1:search_by_num();break;
case 2:search_by_name();break;
case 3:system("cls");main();break;
}
}
break;
case 3:system("cls");while(1)
{Add_desk();
switch(key())
{case 1:add();save_to_information();break;
case 2:system("cls");main();break;
}
}
break;
case 4:system("cls");while(1)
{Change_desk();
switch(key())
{case 1:change_by_num();break;
case 2:change_by_name();break;
case 3:system("cls");main();break;
}
}
break;
case 5:system("cls");
while(1)
{Del_desk();
switch(key())
{case 1:del_by_num();break;
case 2:del_by_name();break;
case 3:system("cls");main();break;
}
}break;
case 6:exit(1);break;
}
}
return 0;}

  • 写回答

1条回答

  • dabocaiqq 2018-09-01 15:50
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试