文档介绍:格
中国地质大学(武汉)
C语言课程设计论文
学院:计算机学院
专业:网络工程
题目:工资信息管理系统
班级:193092
姓名:杨城
学号:20091002750
指导老师:张冬梅
题目要求:
该系统能够实现工资信息管理。系统包括录入、浏览、查询、统计等功能。其中录入功能要求能够添加新的工资到文件;浏览功能要求能按照工资卡号、姓名分类浏览,提供分屏显示;有排序功能,排序后按照工资卡号升序或实发工资降序输出;查询功能要求能够按照工资卡号、姓名查询;统计功能要求能够按照月份累计统计某职员在某时间段实发工资总金额。
【提示】
(1)文件中一行数据对应一个职工工资信息。
(2)工资信息的数据结构采用结构体数组,一个数组元素对应一条工资单记录。
(3)工资单信息包括工资卡号、姓名、月份、应发工资、水费、电费、税金、实发工资等。
(4)实发工资=应发工资-水费-电费-税金,其中税金计算方法为:
A:应发工资<800元,税金=0
B:800<应发工资<1400元,税金=(应发工资-800)*5%
C:应发工资>1400元,税金=(应发工资-1400)*10%
总体设计工资
信息
管理
系统
录
入
浏
览
查
询
排
序
统
计
【数据结构】
struct money
{
char card[10];
char name[10];
int month;
float orimoney; /*应发工资*/
float watmoney; /*水费*/
float elemoney; /*电费*/
float upmoney; /*税金*/
float shmoney; /*实发工资*/
}list[N]; /*N为全局变量*/
【主函数】
main()
{
meau();/*进入菜单*/
}
【菜单程序】
void meau()
{
int n,w;
do
{
printf("*****************************meau****************************\n\n");
printf("\t\t\t \n");
printf("\t\t\t \n");
printf("\t\t\t \n");
printf("\t\t\t \n");
printf("\t\t\t \n");
printf("\t\t\t \n");
printf("\n*************************************************************\n");
printf("choice your number(1-6): [ ]\b\b");
scanf("%d",&n);
if(n<1||n>6)
{
printf("the wrong choice\n");
printf("please press any key to continue\n");
getch();w=1;
}
else w=0;
}
while(w==1);
switch(n)
{
case 1: Insert();break;/*录入*/
case 2: scan();break;/*浏览*/
case 3: search();break;/*查询*/
case 4: order();break;/*排序*/
case 5: stat();break;/*统计*/
case 6: exit(0);/*退出*/
}
}
各功能模块:
【录入】
Insert()
{
int n;
printf("How money list do you want to input:[ ]\b\b");
scanf("%d",&n);
printf("please input the information:\n");
printf(“card name month orimoney watmoney elemoney\n”);
one_put(n);
upmoney(n);
shmoney(n);
save(n);
back();
}
【浏览】
void scan()
{
struct money s;
int i,j,n,m,k,t;
printf("which ways do you want to choose?\n");