您的位置:首页 > 编程语言 > C语言/C++

C++ 学生成绩系统代码

2007-06-22 12:58 134 查看
#include<fstream>
#include<dos.h>
#include<iostream>
#include<cstdio>
#include<string>
#include<cstdlib>
using namespace std;
//**************************************************************************************************************************
class Sound
{public:
void sound()
{
system("a.mp3");
}
};
//**************************************************************************************************************************
class Person:public Sound
{
public:
Person()
{

}
//***********************************************************************************************************************************
struct student //定义结构体
{
int m_num;
char m_name[100];
int m_shuxue;
int m_waiyu;
int m_yuwen;
}ziliao[100];

//***************************************************************************************************************************************************
void input() //输入函数
{ int i;
int m_nm;
struct student x;
cout<<"输入你要输入的学生总数。"<<endl;
cin>>i;
m_nm=i;
fstream of;
of.open("d://课程设计.txt",ios::out|ios::app);
cout<<"请输入学号、姓名、数学分数、外语分数、语文分数"<<endl;
for(i=0;i<m_nm;i++)
{
cin>>x.m_num>>x.m_name>>x.m_shuxue>>x.m_waiyu>>x.m_yuwen;
of.write((char *)(&x),sizeof(struct student));
}
of.close();
system("cls");//调用DOS命令
print();
choose();
cin.get();
}

//*********************************************************************************************************************************************************
void output() //输出函数
{ ifstream ifs("d://课程设计.txt",ios::in);
cout<<"你所输入的全部的学生资料。"<<endl;
struct student temps;
ifs.read((char *)&temps,sizeof(struct student));
while( !ifs.eof())
{ cout<<temps.m_num<<" "<<temps.m_name<<" "<<temps.m_shuxue<<" "<<temps.m_waiyu<<" "<<temps.m_yuwen<<endl;
ifs.read((char *)&temps,sizeof(struct student));
}
ifs.close();
cin.get();
cout<<"按任意键结束"<<endl;
cin.get();
system("cls");//调用DOS命令
print();
choose();
}
//*************************************************************************************************************************************************************
void del() //删除函数
{
int i;
char wan[1]="";
fstream ifs,ofs;
ifs.open("d://课程设计.txt",ios::in);
cout<<"请输入你要删除的学号。"<<endl;
int c=0;
struct student del[100];
cin>>c;
int sum=0;
ifs.read((char *)&(del[0]),sizeof(struct student)); //读第一条记录
while( !ifs.eof()) //是否文件尾
{ ++sum; //记录数量
ifs.read((char *)&(del[sum]),sizeof(struct student));

}
ifs.close(); //关闭文件,记录已经全部读到del[]数组中
for (i=0;i<sum;i++) //查找是否有要删除的记录
{
if (del[i].m_num==c )
break; //找到跳出循环
}
if (i==sum) //没有找到
cout<<"没有你要删除的资料。"<<endl;
else
if (i<(sum-1)) //找到并且不是最后一条,将后面的记录上移
{
for (;i<sum-1;i++)
del[i]=del[i+1];
sum=sum-1; //记录数量减1
cout<<"资料删除成功"<<endl;
}
else //找到且是最后一条记录,不用上移了
{
sum=sum-1; //记录数量减1
cout<<"资料删除成功"<<endl;
}

ofs.open("d://课程设计.txt",ios::trunc|ios::out); //以截断和写的方式打开
for (i=0;i<sum;i++)
ofs.write((char *)(&(del[i])),sizeof(struct student)); //重新写入文件
ofs.close();
cin.get();

cout<<"按回车键返回主菜单。"<<endl;
cin.get();
system("cls");//调用DOS命令
print();
choose();
}
//*******************************************************************************************************************************************************
void choose() //选择函数
{
int T;
cout<<" 输入你要选择的数字"<<endl;
cin>>T;
system("cls");//调用DOS命令
switch(T)
{
case 1:
input();break;
case 2:output();break;
case 3:alter();break;
case 4:del();break;
case 5:go();break;
default:cout<<" 你输入的数字不正确,请听歌一首。哈哈。";shengyin();
system("cls");//调用DOS命令
print();
}
}
//**************************************************************************************************************************************************
void alter() //修改函数
{ fstream ifs;
ifs.open("d://课程设计.txt",ios::out | ios::in);
cout<<"请输入你要修改的学号。"<<endl;
int c;
struct student temps;
cin>>c;
ifs.seekg((c-1)*sizeof(struct student));
ifs.read((char *)&temps,sizeof(struct student));
cout<<"你要修改的资料是:"<<endl;
cout<<temps.m_num<<" "<<temps.m_name<<" "<<temps.m_shuxue<<" "<<temps.m_waiyu<<" "<<temps.m_yuwen<<endl;
cout<<"输入你要修改的学号、姓名、数学、外语、语文分数"<<endl;
cin>> temps.m_num>> temps.m_name>> temps.m_shuxue>> temps.m_waiyu>> temps.m_yuwen;
ifs.seekg((c-1)*sizeof(struct student));
ifs.write((char *)(&temps),sizeof(struct student));
ifs.close();
cin.get();
system("cls");//调用DOS命令
print();
choose();
}
//********************************************************************************************************************************************************
void print()
{
cout<<" ************************************************"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * 1.添加资料 *"<<endl;
cout<<" * 2.输出资料 *"<<endl;
cout<<" * 3.修改资料 *"<<endl;
cout<<" * 4.删除资料 *"<<endl;
cout<<" * 5.退出系统 *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" ***********************************************"<<endl;
}
//***********************************************************************************************************************************************************
void go()
{
cout<<" ******************************************************************"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * 面向对象课程设计圆满成功 *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * 指导教师:薛曼玲 车进辉 *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * 制作人:王守野 *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" *******************************************************************"<<endl;
cout<<"请按回车键退出."<<endl;
cin.get();
}
//******************************************************************************************************************************************************************
void shengyin()
{
sound();
}
//******************************************************************************************************************************************************************
private:

int num;
char name[100];
int shuxue;
int waiyu;
int yuwen;
int m_num;
char m_name[100];
int m_shuxue;
int m_waiyu;
int m_yuwen;
};
//**********************************************************************************************************************************************************
void main() //主函数
{ Person p1;
p1.print();
p1.choose();
cin.get();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: