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

📄 招工考试.cpp

📁 树的遍历等数据结构程序代码实现
💻 CPP
字号:
#include<iostream>
#include<iomanip>
using namespace std;    

struct person
{
	double politues,chinese,mathematics,physics,chemistry,total;
	int step;        
	char name[20];      
};
void qksort(person s[], int l,int p)        
{
	int i,j;person x;
	i=l;j=p;x=s[i];
	while(i!=j)
	{
		while((s[j].total<=x.total) && (j>i))
			j--;
		if(i<j)
		{
			s[i]=s[j];i++;
			while((s[i].total>=x.total)&& (i<j))
				i++;
			if(i<j)
			{
				s[j]=s[i];j--;
			}
		}
	}
	s[i]=x;i++;j--;
	if(l<j)
		qksort(s,l,j);         
	if(i<p)
		qksort(s,i,p);         
}

void select(person s[],int N)    
{
	person *r;
	r=new person[N];int i=0;	
	for(int k=1;k<=4;k++)
		for(int j=0;j<N;j++)
			if(s[j].step==k)
			{				
				r[i]=s[j];
				i++;
			}
	for(i=0;i<N;i++)
		s[i]=r[i];
	delete []r;        
}
void main()   
{
	cout<<"----------------------------";
	cout<<"欢迎使用招工考试成绩处理系统";
	cout<<"----------------------------"<<endl;
	cout<<"                               制作人:计科0601 王刘旺"<<endl;            
	person *s;int N,n;     
	cout<<endl<<"首先请输入考生总人数:";
	cin>>N;        
	s=new person [N];      
	for(int i=0;i<N;i++)
	{
		cout<<endl<<"请输入第"<<i+1<<"个考生的考试资料:"<<endl;
		cout<<"请输入报考者的姓名:";
		cin>>s[i].name;
		cout<<"请依次输入报考者的政治,语文,数学,物理,化学成绩:"<<endl;
		cout<<"政治成绩为:";cin>>s[i].politues;
		cout<<"语文成绩为:";cin>>s[i].chinese;
	    cout<<"数学成绩为:";cin>>s[i].mathematics;
		cout<<"物理成绩为:";cin>>s[i].physics;
	    cout<<"化学成绩为:";cin>>s[i].chemistry; 
	     
		s[i].total=s[i].politues+s[i].chinese+s[i].mathematics+s[i].physics+s[i].chemistry;
		s[i].step=1;        
		if(s[i].politues<60)
			s[i].step=s[i].step+1;
		if(s[i].chinese<60)
			s[i].step=s[i].step+1;
		if(s[i].mathematics<60)
			s[i].step=s[i].step+1;
		if(s[i].physics<60)
			s[i].step=s[i].step+1;
		if(s[i].chemistry<60)
			s[i].step=s[i].step+1;
		if(s[i].step>4)
			s[i].step=4;          
	}
	qksort(s,0,N-1);
	select(s,N);
	cout<<endl<<"请输入要招工总人数:";
loop:        
	cin>>n;      
	if(n>N)
	{
		cout<<"报考人数少于招工人数! 请重新设定要招人数:";
		goto loop;
	}
	cout<<"录取通知如下:"<<endl;
	for(i=0;i<n;i++)
	{
		cout<<endl<<"===================================================================="<<endl;
		cout<<setw(25)<<" "<<"ADMISSON NOTICE"<<endl;
		cout<<setw(30)<<" "<<s[i].name<<endl;
		cout<<setw(20)<<" "<<"You have been admitted。"<<endl;
		cout<<setw(23)<<" "<<setw(15)<<"Your scores:"<<endl;
		cout<<setw(10)<<" "<<"Politues   "<<setw(25)<<" "<<s[i].politues<<endl;
		cout<<setw(10)<<" "<<"Chinese    "<<setw(25)<<" "<<s[i].chinese<<endl;
		cout<<setw(10)<<" "<<"Mathematics"<<setw(25)<<" "<<s[i].mathematics<<endl;
		cout<<setw(10)<<" "<<"Physics    "<<setw(25)<<" "<<s[i].physics<<endl;
		cout<<setw(10)<<" "<<"Chemistry  "<<setw(25)<<" "<<s[i].chemistry<<endl;
		cout<<setw(10)<<" "<<"Total      "<<setw(25)<<" "<<s[i].total<<endl;
		cout<<setw(31)<<" "<<"××× ××× COMPANY"<<endl;
		cout<<"===================================================================="<<endl;
	}
	cout<<endl;
	delete[]s;         
}

⌨️ 快捷键说明

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