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

📄 职工工资可运行.cpp

📁 职工工资管理系统可以运行
💻 CPP
字号:
#include"windows.h" 
#include"iostream.h" 
#include"conio.h" 
#include"iomanip.h" 
#include"stdio.h" 
#include"string.h" 
#include"stdlib.h" 
#include"fstream.h" 

class student //学生类 
{ 
char name[20]; 
char sex[5]; 
int number; 
int score[3]; 
int total; 
int average; 
public: 
student(); 
void add(); 
void output(); 
void find(); 
void modify(); 
void deleted(); 
void sort(); 
void grade(); 
void save(); 
void load (); 
student & operator=(student & T); 
friend istream & operator >> (istream & scin, student &s1); 
friend ostream & operator << (ostream & scout, student &s2); 
}; 
student stu[100]; 
int n=0; 
void student::add() //添加函数 
{ 
system("cls"); 
char flag='Y'; 
while(toupper(flag)=='Y') 
{ 
system("cls"); 
cin>>stu[n]; 
n++; 
cout<<" 要继续添加吗(y/n)"; 
cin>>flag; 
if(toupper(flag)!='Y') 
{ 
if(toupper(flag)=='N') 
{ 
break; 
} 
else 
{ 
cout<<"错误,请重输:"; 
cin>>flag; 
} 
} 
} 
} 
void student::output() //输出函数 
{ 
system("cls"); 
if(n!=0) 
{ 
cout<<" ---------------------------------------------------------------------------\n"; 

cout<<" number name sex math C++ English total average\n"; 

cout<<" --------------------------------------------------------------------------- \n"; 
for(int t=0;t<n;t++) 
{ 
cout<<stu[t]; 
} 
} 

getch(); 
} 
void student::find() //查找函数 
{ 

system("cls"); 
int f3=0; 
char n1[20]; 
student temp; 
cout<<" 输入你要查找的人的姓名: "; 
cin>>n1; 
for(int j=0;j<n;j++) 
{ 
if(strcmp(stu[j].name,n1)==0) 
{ 
temp=stu[j]; 
f3=1; 
} 
} 
if(f3==0) 
cout<<"对不起,没有你要查找的学生成绩"<<endl; 

else 
{ 

cout<<" ---------------------------------------------------------------------------\n"; 
cout<<" number name sex math C++ English total average\n"; 
cout<<" --------------------------------------------------------------------------- \n"; 
cout<<" "<<temp.number<<" "<<temp.name<<" "<<temp.sex<<" "<<temp.score[0] 
<<" "<<temp.score[1]<<" "<<temp.score[2]<<" "<<temp.total<<" "<<temp.average<<endl; 
} 

getch(); 
} 
void student::modify() //修改函数 
{ 
int f4=0; 
system("cls"); 
int t; 
char n2[50]; 
cout<<" 输入你要修改的人的姓名:"; 
cin>>n2; 
for(int j=0;j<n;j++) 
{ 
if(strcmp(stu[j].name,n2)==0) 
{ 
t=j; 
f4=1; 
} 
} 
if(f4==0) 
cout<<"对不起,没有你要修改的学生成绩"<<endl; 

else 
{ 
cout<< "请输入学号: "; 
cin>>stu[t].number; 
cout<< " 姓名: "; 
cin>>stu[t].name; 
cout<< " 性别 : "; 
cin>>stu[t].sex; 
cout<< " 数学成绩: "; 
cin>>stu[t].score[0]; 
cout<< " C++成绩: "; 
cin>>stu[t].score[1]; 
cout<< " 英语成绩: "; 
cin>>stu[t].score[2]; 
stu[t].total=stu[t].score[0]+stu[t].score[1]+stu[t].score[2]; 
stu[t].average=stu[t].total/3; 
cout<<" 修改成功 !"<<endl; 
} 
getch(); 
} 
void student::deleted() //删除函数 
{ 
system("cls"); 
char n3[20]; 
bool f5=0; 
char c; 
do{ 
cout<<"请输入您要删除的学生姓名:"; 
cin>>n3; 
for(int i=0;i<n;i++) 
{ 
if(strcmp(n3,stu[i].name)==0) 
{ 
f5=1; 
n--; 
do{ 
stu[i]=stu[i+1]; 
i++; 
}while(i<=n); 
} 
} 
if(f5==0) 
cout<<"您要求删除的对象本来就不存在!"; 
cout<<"要继续删除吗?(y/n)"<<endl; 
cin>>c; 
if(toupper(c)!='Y'&&toupper(c)!='N') 
{ 
cout<<"指令错误!请重新输入!"<<endl; 
cin>>c; 
} 
}while(toupper(c)=='Y'); 

getch(); 
} 
void student::sort() //排序函数 
{ 
system("cls"); 
int i,j,k; 
student s3; 
for( i=0;i<(n-1);i++) 
{ 
k=i; 
for(j=i+1;j<n;j++) 
if(stu[j].average>stu[i].average)k=j; 
if(k!=i) 
{ 
s3=stu[i]; 
stu[i]=stu[k]; 
stu[k]=s3; 
} 
} 
cout<<"\n\n排序成功!\n\n"; 

} 
void student::grade() //合格及优秀学生名单 
{ 
system("cls"); 
int i,j; 
int f1=0,f2=0; 
cout<<"挂科学生名单:"<<endl; 
cout<<" ---------------------------------------------------------------------------\n"; 

cout<<" number name sex math C++ English total average\n"; 

cout<<" --------------------------------------------------------------------------- \n"; 
for(i=0;i<n;i++) 
{ 
if(stu[i].score[0]<60||stu[i].score[1]<60||stu[i].score[2]<60) 
{ 
f1=1; 
cout<<stu[i]; 
} 
} 
if(f1==0) cout<<"没有挂科的学生"<<"\n"<<endl; 
cout<<"\n\n\n"<<endl; 
cout<<"000000000000000000000000000000000000000\n\n\n\n"<<endl; 

cout<<"优秀学生名单:"<<endl; 
cout<<" ---------------------------------------------------------------------------\n"; 

cout<<" number name sex math C++ English total average\n"; 

cout<<" --------------------------------------------------------------------------- \n"; 
for(j=0;j<n;j++) 
{ 
if(stu[j].score[0]>=85&&stu[j].score[1]>=85&&stu[j].score[2]>=85) 
{ 
f2=1; 
cout<<stu[j]; 
} 
} 
if(f2==0) cout<<"没有优秀的学生"<<endl; 
getch(); 
} 
void student::save() //保存函数 
{ 
system("cls"); 
char filename1[20]; 
cout<<"请输入文件名: "; 
cin>>filename1; 
ofstream fout(filename1,ios::app); 
if(!fout)cout<<"文件不能打开!"<<endl; 
else 
{ 
for(int i=0;i<n;i++) 
fout<<' '<<stu[i].name<<' '<<stu[i].sex<<' '<<stu[i].number<<' ' 
<<stu[i].score[0]<<' '<<stu[i].score[1]<<' '<<stu[i].score[2]<<' '<<stu[i].total<<' '<<stu[i].average<<' '; 
cout<<"保存成功!"<<endl; 
} 
fout.close(); 
getch(); 
} 

void student::load() //读取函数 
{ 
system("cls"); 
char filename2[20]; 
cout<<"请输入你要读出的文件名: "; 
cin>>filename2; 
ifstream fin(filename2,ios::in); 
if(!fin)cout<<"文件打不开 !"<<endl; 
else 
{ 
for(int i=0;;i++,n=i-1) 
{ 
if(fin.eof())break; 
fin>>stu[i].name>>stu[i].sex>>stu[i].number 
>>stu[i].score[0]>>stu[i].score[1]>>stu[i].score[2]>>stu[i].total>>stu[i].average; 
} 
cout<<"文件已读取成功!"<<endl; 
} 
fin.close(); 
getch(); 

} 

student & student::operator=(student & T) //重载= 
{ 
strcpy(name,T.name); 
strcpy(sex,T.sex); 
number=T.number; 
for(int i=0;i<3;i++)score[i]=T.score[i]; 
total=T.total; 
average=T.average; 
return ( * this ); 
} 
ostream & operator << (ostream & scout, student &s2) //重载<< 
{ 
cout<<setw(6)<<s2.number<<setw(10)<<s2.name<<setw(8)<<s2.sex<<setw(8)<<s2.score[0] 
<<setw(8)<<s2.score[1]<<setw(10)<<s2.score[2]<<setw(10)<<s2.total<<setw(8)<<s2.average<<endl; 
return scout; 
} 
istream & operator >> (istream & scin,student &s1) //重载>> 
{ 
cout<< " \t学号:"; 
scin>>s1.number; 
cout<< " \t姓名:"; 
scin>>s1.name; 
cout<< " \t性别 :"; 
scin>>s1.sex; 
cout<< " \t数学成绩:"; 
scin>>s1.score[0]; 
cout<< " \tC++成绩:"; 
scin>>s1.score[1]; 
cout<< " \t英语成绩:"; 
scin>>s1.score[2]; 
s1.total=s1.score[0]+s1.score[1]+s1.score[2]; 
s1.average=s1.total/3; 
return scin; 
} 

student::student() //构造函数 
{ 
strcpy(name," "); 
strcpy(sex," "); 
number=0; 
for(int i=0;i<3;i++)score[i]=0; 
total=0; 
average=0; 
} 
void menu() //菜单函数 
{ 
system("cls"); 
cout<<"\n\n\n&&&&&&&&&&&&&&&&&&&&&&&&&& 欢迎进入学生成绩管理系统 &&&&&&&&&&&&&&&&&&&&&&&&&&&"<<endl; 
cout<<"\n\n\n\t\t★ 〖1〗 添加数据 ★"<<endl; 
cout<<"\t\t★ 〖2〗 输出数据 ★"<<endl; 
cout<<"\t\t★ 〖3〗 查找数据 ★"<<endl; 
cout<<"\t\t★ 〖4〗 修改数据 ★"<<endl; 
cout<<"\t\t★ 〖5〗 删除数据 ★"<<endl; 
cout<<"\t\t★ 〖6〗 数据排序 ★"<<endl; 
cout<<"\t\t★ 〖7〗 挂科情况 ★"<<endl; 
cout<<"\t\t★ 〖8〗 保存数据 ★"<<endl; 
cout<<"\t\t★ 〖9〗 读出数据 ★"<<endl; 
cout<<"\t\t★ 〖0〗 退出系统 ★"<<endl; 
cout<<"\n\n\t\t请选择(0~~9):"; 
} 

Ks_Word(char *s) //密码 
{ 
char ch; 
char s1[80]; 
int j,len,i=-1; 
memset(s1,'\0',80); //将s1中的前80个字节设置为\0 
len=strlen(s); 
do 
{ 
ch=getch(); 
if(ch!='\r') 
{ 
printf("*"); 
i++; 
s1[i]=ch; 
} 
}while(ch!='\r'); 
j=strlen(s1); 
if((j!=len)||(memicmp(s1,s,j))) return (0); //比较s1和s的前j个字节,忽略大小写差异 
else return (1); 
} 

void Ks_Pass() /*****PASSWORD*****/ 
{ 
int k1,g; 
for(g=0;g<=3;g++) 
{ 

printf("\n You have %d chances! \n",3-g); 
printf("Please input password:"); 
k1=Ks_Word("kangzunqiang"); 
if(k1==0) 
{ 

printf("\n\t\tError!!!\n"); 

} 
if(k1==1) 
{ 
printf("\n\n\t\tIt's right!\n"); break; 
} 
while(g==2&&k1==0) 
{ 
printf("\n\t Sorry! You can't run this program!\n"); 

exit(0); 
} 
} 
getch(); 

} 
void main() 
{ 
int choose; 
student s; 
Ks_Pass(); 

do{ 
menu(); 
cin>>choose; 
switch(choose) 
{ 
case 1: s.add(); break; 
case 2: s.output(); break; 
case 3: s.find(); break; 
case 4: s.modify(); break; 
case 5: s.deleted(); break; 
case 6: s.sort(); break; 
case 7: s.grade(); break; 
case 8: s.save(); break; 
case 9: s.load(); break; 
default : break; 
} 
}while(choose!=0); 
}

⌨️ 快捷键说明

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