⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6.cpp

📁 这是一个班级管理系统!希望大家能用上 !只要改动点就行
💻 CPP
字号:
//校园公共资产信息类
#include<iostream.h>
#include<iomanip.h>
#include<string.h>
#include<fstream.h>
#include<stdio.h>
#include<stdlib.h>

class zichan
{
private:
	int shuliang;    //数量
	char name[10];
	float price;     //单价
	float zongjia;   //总价
public:
	zichan();
	~zichan();
	void luru();//资产信息录入函数
	void shuchu();
	char (*getname)();
	void change();//资产信息修改函数
	void read();//资产信息输出函数
	void setshuliang(int temp);
	int getshuliang();
	void write();
};


zichan::zichan()      //构造函数
{}
zichan::~zichan()     //析构函数
{}


int zichan::getshuliang()
{
	return shuliang;
}

char (*zichan::getname)()
{
	return name;
}

void zichan::setshuliang(int temp)
{
	shuliang=temp;
}

void zichan::luru()
{
	ifstream tfile("max.txt",ios::binary|ios::nocreate);
	tfile.close();
	ofstream ofile("max.txt");
	tfile.close();
	cout<<"请输入资产信息"<<endl;
	cout<<"资产数量"<<endl;
	cin>>shuliang;
	cout<<"资产名称:"<<endl;
	cin>>name;
	cout<<"单价:"<<endl;
	cin>>price;
	cout<<"总价:"<<endl;
	zongjia=shuliang*price;
	cout<<zongjia;
}

void zichan::shuchu()
{
    cout<<setw(8)<<setiosflags(ios::left)<<shuliang<<setw(10)<<setiosflags(ios::left)<<name<<setw(8) <<setiosflags(ios::left)<<price<<setw(8)<<setiosflags(ios::left)<<zongjia<<endl;
}

void zichan::change()
{
	cout<<"请输入要修改资产的信息:"<<endl;
	cout<<"数量是不是要改写(Y/N)"<<endl;
	char ch;
	cin>>ch;
	if(ch=='Y'||ch=='y')
	{
		cout<<"请输入新数量"<<endl;
		cin>>shuliang;
	}
	cout<<"单价是不是要改写(Y/N)"<<endl;
	cin>>ch;
	if(ch=='Y'||ch=='y')
	{
		cout<<"请输入新单价:"<<endl;
		cin>>price;
	}
	cout<<"你刚刚输入的资产信息如下:"<<endl;
	shuchu();
}


zichan information;        //zichan 类的全局变量
void menu()
{
	cout<<"               〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓"<<endl;
	cout<<"               〓〓〓〓‖校园公共资产管理系统‖  〓〓〓〓"<<endl;
	cout<<"               〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓"<<endl;
	cout<<" "<<endl;  
	cout<<" 0.退出系统 "<<endl;
	cout<<" "<<endl;
	cout<<" 1.资产信息录入 "<<endl;
	cout<<" "<<endl;
	cout<<" 2.资产信息修改 "<<endl;
	cout<<" "<<endl;
	cout<<" 3.资产信息删除 "<<endl;
	cout<<" "<<endl;
	cout<<" 4.资产信息输出 "<<endl;
	cout<<" "<<endl;
	cout<<" 请选择操作(0=======4) "<<endl;
	cout<<" "<<endl;
}

void read()
{
	ifstream afile("zichan.txt",ios::nocreate);
	afile.read((char*)&information,sizeof information);
}

void write()
{
	ofstream bfile("zichan.txt",ios::app);
	bfile.write((char*)&information,sizeof information);
}


void input(void)
{
	char ch;
	information.luru();
	write();
	cout<<"你还要输入下一位资产的信息吗(Y/N)!"<<endl;
	cin>>ch;
	if(ch=='Y'||ch=='y')
	input();
}

void change()
{
	char ch,p=0,l=0;
	cout<<"请输入你要修改的资产的名称:"<<endl;
	cin>>ch;
	ifstream efile("zichan.txt",ios::nocreate);
	while(efile.good())
	{
		efile.seekg(sizeof(information)*p);
		if(efile.read((char *) &information,sizeof information))
		{
			if(strcmp(ch,information.getname())==0)
			{
				information.shuchu();
				ch=0;
				information.change();
				ofstream ffile("zichan.txt",ios::nocreate|ios::in);
				ffile.seekp(sizeof(information)*p);
				ffile.write((char *) &information,sizeof information);
				ffile.close();
				l++;
				return;
			}
		}
	p++;
	}
	efile.close();
	if(l!=1)
		cout<<"没有你所要修改的资产信息!"<<endl;
}


void shanchu()             //删除函数
{
	int ch;
	cout<<"请输入要删除的资产的数量:"<<endl;
	cin>>ch;
	ifstream out("zichan.txt",ios::nocreate);
	ofstream in("zichan1.txt",ios::trunc);
	while(out)
	{
		if(out.read((char*)&information,sizeof information))
			if(ch!=information.getshuliang())
			{
				in.write((char*)&information,sizeof information);
			}
	}
	in.close();
	out.close();
	ofstream gfile("zichan.txt",ios::trunc);
	gfile.close();
	ifstream ifile("zichan1.txt",ios::nocreate);
	ofstream hfile("zichan.txt",ios::trunc);
	while(ifile)
	{
		if(ifile.read((char*)&information,sizeof information))
			hfile.write((char *)&information,sizeof information);
	}
	ifile.close();
	hfile.close();
}


void output()
{
	int i=0;
	ifstream cfile("zichan.txt",ios::nocreate);
	while(cfile)
	{
		if( cfile.read((char *)&information,sizeof information))
		{
			cout<<setw(1)<<"数量"<<setw(10)<<"名称"<<setw(7)<<"单价"<<setw(8)<<"总价"<<endl;
			information.shuchu();
			i++;
		}
	}
	if(i!=0)
		cout<<"一共有"<<i<<"个资产信息"<<endl;
	else
		cout<<"还没有输入资产信息"<<endl;
}

void select()//选择菜单函数
{
	int ch;
	do{
		cin>>ch;
		switch(ch)
		{
		case 0:
			exit(0);
			menu();
			break;
		case 1:
			input();
			menu();
			break;
		case 2:
			change();
			menu();
			break;   
		case 3:
			shanchu();
			menu();
			break;
		case 4:
			output();
			menu();
			break;
		default :
			menu();
			cout<<"输入无效≌请重新输入(0======== 4)"<<endl;
			break;
		}
	}while(1);
}

void main()
{
	menu();
	select();
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -