#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define P 100
struct stuff //员工数据结构
{
double Num[12];
double Qsale[4];
double Ysale;
double Award;
char Name[10];
}Player[P];
struct company //公司的数据结构:人数,总销售额度,年、季度销售排名
{
int Member; //人数
long double Tsale; //公司总销售
unsigned long Yrank; //年排名
unsigned long Qrank[4]; //季度排名
};
int Menu() //菜单界面
{
printf("\n\n\n");
printf(" ***************Management System***************\n\n");
printf(" 1.初始化系统 \n ");
printf(" 2.员工销售额输入 \n");
printf(" 3.数据更改 \n ");
printf(" 4.统计 \n");
printf(" 5.奖金发放 \n \n");
printf(" *** 请输入您的选项 *** ");
return 0;
}
int add_infor(struct stuff Player[], int n) //输入员工工号,姓名
{
int j;
printf("输入员工人数");
scanf_s("%d", n);
for(j=0;j<n;j++)
{
printf("请输入第%d位员工信息", j + 1);
printf("\n\t\t\t工号:");
scanf_s("\t\t%d", &Player[n].Num);
printf("\t\t\t姓名:");
scanf_s("\t\t%c", &Player[n].Name[10]);
}
return n;
}
int qsale(struct stuff Player[], int n) //员工的季度销售额
{
int i;
for (i = 1; i < 5; i++)
{
printf("\n\t\t\t第%d季度销售额度:", i);
scanf_s("\t\t%d", &Player[n].Qsale[i]);
}
}
int re_infor(struct stuff Player[], int n) //修改员工信息
{
int option, choice;
int i = 0,j=0;
char old_temp[20] = { 0 };
char new_temp[10] = { 0 };
float new_score;
printf("\n\t\t\t1、按工号查找修改\n");
printf("\t\t\t2、按姓名查找修改\n");
printf("\n\t\t请输入选项选择功能:");
scanf_s("%d", &option);
if (1 == option)
{
printf("\n\t\t请输入学号:");
scanf_s("%d", &old_temp);
while ((strcmp(Player[i].Num, old_temp) != 0) && i < n)
{
i++;
}
if (i == n)
{
printf("\n\t\t未找到!");
}
}
if (2 == option)
{
printf("\n\t\t请输入姓名:");
scanf_s("%c", &old_temp);
while ((strcmp(Player[i].Num, old_temp) != 0) && i < n)
{
i++;
}
if (i == n)
{
printf("\n\t\t未找到!");
}
}
printf("\n\t\t待修改学生的信息:\n");
printf("\n\t\t学号:%d\n\t\t姓名:%c\n\t\t成绩:%3d\n", Player[i].Num, Player[i].Name, Player[i].Qsale);
printf("\n\t\t请选择要修改的信息(1.学号 2.姓名 3.季度销售额):");
scanf_s("%d", &choice);
if (1 == choice)
{
printf("\n\t\t输入修改后的学号:");
scanf_s("%c", &new_temp);
Player[i].Num == new_temp;
printf("\t\t修改成功!\n");
}
if (2 == choice)
{
printf("\n\t\t输入修改后的姓名:");
scanf_s("%c", &new_temp[10]);
for (j = 0; j < 10; j++)
{
Player[i].Name[j] == new_temp[j];
}
printf("\t\t修改成功!\n");
}
if (3 == choice)
{
printf("\n\t\t输入修改第几季度销售额:");
scanf_s("%d", &j);
printf("\n\t\t输入修改后的季度销售额:");
scanf_s("%d", &new_score);
Player[i].Qsale[j] = new_score;
printf("\t\t修改成功!\n");
}
}
int award(struct stuff Player[], int n) //奖金计算
{
long double i=0;
int j;
for (j = 0; j < 4; j++) //季度相加计算年销售
{
Player[n].Ysale += Player[n].Qsale[j];
}
i= *&Player[n].Ysale;
double bonus; //正常奖学金 我还没弄出第一!!!!!!!!!!!!!!!
if (i <= 100000)
bonus = i * 0.1;
else if (i <= 15000000)
bonus = i * 0.11;
else if (i <= 20000000)
bonus = i * 0.12;
else if (i <= 600000)
bonus = i * 0.13;
else if (i <= 1000000)
bonus = i * 0.14;
else
bonus = i* 0.15;
printf("bonus=%d", bonus);
return bonus;
}
int main() //主函数
{
int select = 0;//选择
int n = 0; //第几个员工
while (1)
{
Menu();
printf("\t\t输入标号选择功能: ");
scanf_s("%d", &select);
switch (select)
{
case 1:
printf("\n\t\t********录入员工信息********\n");
n=add_infor(&Player[n],n);
break;
case 2:
printf("\n\t\t********输入员工每季度销售额********\n");
qsale(&Player[n],n);
break;
case 3:
printf("\n\t\t**********修改员工信息**********\n");
re_infor(&Player[n], n);
break;
case 4:
printf("\n\t\t*********统计全年企业的销售额*********\n");
n = (Player[n], n);
break;
case 5:
printf("\n\t\t*********统计个人销售额及员工的奖金*********\n");
award(Player[n].Qsale, n);
break;
default:
printf("\n\n\t\t**********谢谢使用!**********\n");
exit(0);
break;
}
}
}