大一 沈傲=_=
这个比较简单,直接把数据存放在内存里面了。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//结构体
typedef struct Works{
int id; //工号
char name[10]; //姓名
char sex[10]; //性别
int salary; //薪水
}works;
works w[100];
int count=0;
//输出函数
void print(){
printf("工号\t姓名\t性别\t薪水\n");
for(int k=0;k<count;k++){
printf("%d\t%s\t%s\t%d\n\n",w[k].id,w[k].name,w[k].sex,w[k].salary);
}
}
//录入职工信息函数
int input(){
int jishu;
int judemant=1;
jishu=count;
while(true){
printf("--请依次输入 工号 姓名 性别 薪水--(之间用空格分开)\n");
judemant=1;
scanf("%d %s %s %d",&w[count].id,&w[count].name,&w[count].sex,&w[count].salary);
count++;
printf("继续录入请输入:1,退出录入请输入:0 ,您的选择:");
scanf("%d",&judemant);
if(judemant==0){
break;
}
}
printf("\n-----------------------------------------------------------------------");
printf("\n录入职工信息成功! 一共录入了%d个职工的信息。\n",count-jishu);
printf("-----------------------------------------------------------------------\n\n");
return 0;
}
//对薪水排序函数
int sort(){
char swap[10];
int save;
if(count==0){
printf("\n--暂时还木有职工信息!\n\n");
}else{
for(int i=0;i<count;i++){
for(int j=i+1;j<count;j++){
if(w[i].salary<w[j].salary){
save=w[i].id;
w[i].id=w[j].id;
w[j].id=save;
save=w[i].salary;
w[i].salary=w[j].salary;
w[j].salary=save;
strcpy(swap,w[i].name);
strcpy(w[i].name,w[j].name);
strcpy(w[j].name,swap);
strcpy(swap,w[i].sex);
strcpy(w[i].sex,w[j].sex);
strcpy(w[j].sex,swap);
}
}
}
}
return 0;
}
//增加一个职工信息函数
int add(){
printf("开始增加一个新的职工!\n");
printf("--请依次输入 工号 姓名 性别 薪水--(之间用空格分开)\n");
scanf("%d %s %s %d",&w[count].id,&w[count].name,&w[count].sex,&w[count].salary);
count++;
printf("增加一个新职工成功!\n\n");
return 0;
}
//查询函数
int query(){
int choice;
int ids;
char names[10];
printf("按工号查询请输入0,按姓名查血请输入1,请选择:");
scanf("%d",&choice);
if(choice==0){ //按工号查找
int panduan=0;
printf("请输入您要查询的工号:");
scanf("%d",&ids);
for(int i=0;i<count;i++){
if(ids==w[i].id){
printf("\n%d\t%s\t%s\t%d\n\n",w[i].id,w[i].name,w[i].sex,w[i].salary);
panduan=1;
}
}
if(panduan==0){
printf("\n您要查的工号的职工不存在的说!\n\n");
}else{
printf("\n查询成功的说!\n\n");
}
}else if(choice==1){ //按姓名查找
int panduan=0;
printf("请输入您要查询的职工的姓名:");
scanf("%s",names);
for(int i=0;i<count;i++){
if(strcmp(names,w[i].name)==0){
printf("\n%d\t%s\t%s\t%d\n\n",w[i].id,w[i].name,w[i].sex,w[i].salary);
panduan=1;
}
}
if(panduan==0){
printf("\n您要查的姓名的职工不存在的说!\n\n");
}else{
printf("\n查询成功的说!\n\n");
}
}else{
printf("\n您的输入有误!\n\n");
}
return 0;
}
//求平均薪水函数
int average(){
float sum=0.0;
for(int i=0;i<count;i++){
sum+=float(w[i].salary);
}
printf("\n一共%d个职工,所有职工的平均工资为:%.2f\n\n",count,sum/count);
return 0;
}
//退出函数
int output(){
printf("\n退出成功!\n");
exit(0);
return 0;
}
//主函数
int main(){
int choice;
while(true){
printf("-----------------------------------------------------------------------\n");
printf("|********************企业职工工资管理系统*****************************|\n");
printf("|*************** 1、录入职工工资----------------------请输入1: |\n");
printf("|*************** 2、对职工工资排序并显示--------------请输入2: |\n");
printf("|*************** 3、增加新职工数据并按工资高低排序----请输入3: |\n");
printf("|*************** 4、按主要数据项查询某职工信息--------请输入4: |\n");
printf("|*************** 5、对职工求平均工资并显示------------请输入5: |\n");
printf("|*************** 6、退出------------------------------请输入0: |\n");
printf("-----------------------------------------------------------------------\n");
printf("请输入选择:");
scanf("%d",&choice);
switch(choice){
case 0:
output(); break;
case 1:
input(); break;
case 2:
sort(); print(); break;
case 3:
add(); sort(); print(); break;
case 4:
query(); break;
case 5:
average(); break;
}
}
return 0;
}