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();
}
#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();
}
相关文章推荐
- C++实现学生信息及成绩处理系统(面向对象的程序设计思想)
- 学生成绩管理系统的代码
- c++链表实现学生成绩管理系统(简易版)
- java编写学生成绩管理系统代码
- C语言编写的学生成绩管理系统代码…
- 一个学生成绩管理系统的代码
- c++学生成绩管理系统 文件操作
- 基于链表的学生成绩管理系统——C++二进制文件读写string对象时出现的错误
- 简易版学生成绩管理系统(c++)
- c++实现简单的学生成绩管理系统
- 用C++写的学生成绩管理系统(比较简单的没有使用链表,只是用到了类和对象)
- 基于C++、链表以及泛型编程的学生成绩管理系统
- c++学生成绩管理系统
- 班级学生成绩管理系统C++
- 我至今写的最长的代码!!(学生成绩管理系统)
- C++--学生成绩管理系统
- c/c++学生成绩管理系统
- 学生成绩管理系统c++
- 【C++】单链表实现学生成绩表系统
- 学生成绩管理系统(c++)控制台应用程序