C语言课程设计-工资管理系统 第2页


C语言课程设计
2.“计算实发工资子模块”的详细设计
 ⑴本模块的详细设计的依据是:总体设计中的“D.计算实发工资子模块”的模块说明书。
 ⑵程序流程图如下:
                           开始

                          定义整型变量x=0


                         显示操作项目让使用者
                         选择,输入员工号码


                  如果存在,输入扣 不存在
款,返回得实发工资

 


                                返回
                              

      3.“查找记录子模块”的详细设计
  ⑴本模块的详细设计的依据是:总体设计中的“E.查找记录子模块”的模块说明书。
      ⑵程序流程图如下:
                                
开始

                           
定义整型变量x=1

                           
输入所要查找的员工
                            工资姓名

               
 显示查找结果              显示不存在


                                 
 返回
                                  


      4.“删除记录子模块”的详细设计
⑴本模块的详细设计的依据是:总体设计中的“F.删除记录子模块”的模块说明书。
⑵程序流程图如下:
                      
                             开始


                       定义整型变量x=2


                      输入要删除的员工工资
                      的员工号码


        存在对象,回车确定                不存在该对象
           删除


                                   返回


 5.“插入工资记录子模块”的详细设计
      ⑴本模块的详细设计的依据是:总体设计中的“B. 插入工资记录子模块”的模块说明书。
 ⑵程序流程图如下:
                             开始


                         定义整型变量x=3


                            输入要插入的员工的号码


                             输入员工的号码,姓名,
                                  基本工资


                 确定,退出保存                 输入错误


                                    返回


        6.“保存文件子模块”的详细设计
       ⑴本模块的详细设计的依据是:总体设计中的“C.保存文件子模块”的模块说明书。
        ⑵程序流程图如下:
                                  开始


                             定义整型变量x=4


                          输入所需保存的员工的姓名


                   保存员工工               保存不成功
                   资资料成功


                                  返回


         7.“按实发工资升序排序子模块”的详细设计
        ⑴本模块的详细设计的依据是:总体设计中的“G.按实发工资升序排序子模块”的模块说明书。
         ⑵程序流程图如下:
                                   开始


                              定义整型变量x=5


                             根据给定的学生的实发
                             工资从小到大进行排序


                                 回车排序成功


                                    返回

 

四、编码
1.说明
  “工资管理系统总控模块” 的功能由menu_select函数实现,根据“工资管理系统总控模块” 的程序流程图编写menu_select函数。
  “计算实发工资子模块” 的功能由calc函数实现,根据“计算实发工资子模块” 的程序流程图编写calc函数。
  “查找记录子模块” 的功能由search函数实现,根据“查找记录子模块” 的程序流程图编写search函数。
  “删除记录子模块” 的功能由delete函数实现,根据“删除记录子模块” 的程序流程图编写delete函数。
  “插入记录子模块” 的功能由insert函数实现,根据“插入记录子模块” 的程序流程图编写insert函数。
  “保存记录子模块” 的功能由save函数实现,根据“插入记录子模块” 的程序流程图编写save函数。
  “按实发工资升序排序子模块” 的功能由sort函数实现,根据“按实发工资升序排序子模块” 的程序流程图编写sort函数。
 2.选择编写程序语言
/******头文件(.h)***********/
#include "stdio.h"    /*I/O函数*/
#include "bios.h"     /*ROM基本输入输出函数*/
#include "dos.h"      /*dos接口函数*/
#include "conio.h"    /*屏幕操作函数*/
#include "stdlib.h"   /*其它说明*/
#include "string.h"   /*字符串函数*/
#include "mem.h"      /*内存操作函数*/
#include "ctype.h"    /*字符操作函数*/
#include "alloc.h"    /*动态地址分配函数*/
/****变量定义*******/
typedef struct z1     /*定义数据结构*/
{
   char no[11];       /*编号*/
   char name[15];     /*姓名*/
   char danwei[15];   /*单位*/
   float jbgz;        /*基本工资*/
   float koukuan;     /*扣款*/
   float yfgz;        /*应发工资*/
   float shuijin;     /*税金*/
   float sfgz;        /*实发工资*/
   struct z1 *prior;  /*前驱指针*/
   struct z1 *next;   /*后继指针*/
}SALARY;              /*结构体类型名*/
struct z1 *First;     /*双链表头指针*/
struct z1 *Last;      /*双链表尾指针*/
/******函数原型*********/
void init();          /*初始化*/
void create();        /*创建链表*/
void calc();          /*计算应发工资*/
void delete();        /*删除*/
void search();        /*查找*/
void save();          /*保存文件*/
void load();          /*读取文件*/
void computer();      /*计算所需各种票面张数*/
void insert();        /*插入*/
void append();        /*追加*/
void copy();          /*复制文件*/
void sort();          /*排序*/
void index();         /*索引*/
void total();         /*分类合计*/
void list();          /*显示所有数据*/
void print(SALARY *p);/*输出单条记录*/
void display();       /*随意逐条显示*/
float fax(float x);   /*计算税金*/
int menu_select();    /*主菜单*/
/*******主函数开始**********/
main()
{
   int i;
   clrscr();
   for(;;)
   {
      switch(menu_select())        /*调用菜单函数返回一个整数值*/
      {
         case 0:calc();break;      /*计算实发工资*/
         case 1:search();break;    /*查找职工信息数据*/
         case 2:delete();break;    /*删除记录*/
         case 3:insert();break;    /*插入记录*/
         case 4:save();break;      /*保存文件*/
         case 5:sort();break;      /*按实发工资升序排序*/
         case 6:exit(0);           /*退出*/
       }
   }
}
/*菜单函数,函数返回值为整型,代表所选的菜单项*/
menu_select()
{
   char *f[]=
  {                  
    /*定义菜单字符串数组*/
   "**************MENU*************", /*菜单的标题行*/
   " 0. Calc the salary",           /*计算实发工资*/
   " 1. Search record on name",     /*查找记录*/
   " 2. Delete a record",           /*删除记录*/
   " 3. Insert record to list",     /*插入记录*/
   " 4. Save data to the file",     /*保存文件*/
   " 5. Sort on sfgz",              /*排序*/
   " 6. Quit",                      /*退出*/
  };                   
   char s[80];
   int  i;
   int key=0;                    /*记录所压键值*/
   int c=0;
   gotoxy(1,25);                 /*移动光标*/
   printf("press any key enter menu......\n");/*压任意键进入主菜单*/
   getch();
   clrscr();                     /*清屏*/
   textcolor(YELLOW);            /*设置文本颜色为黄色*/
   textbackground(RED);         /*设置背景颜色为红色*/
   gotoxy(10,2);
   putch(0xda);                  /*输出左上角边框┏*/
   for(i=1;i<44;i++)
   putch(0xc4);                  /*输出上边框水平线*/
   putch(0xbf);                  /*输出右上角边框  ┓*/
   for(i=3;i<22;i++)             /*输出左右两边的垂直线*/
   {
      gotoxy(10,i);putch(0xb3);
      gotoxy(54,i);putch(0xb3);
   }
   gotoxy(10,22);putch(0xc0);    /*输出左上角边框┗*/
   for(i=1;i<44;i++)
      putch(0xc4);               /*输出下边框水平线*/
   putch(0xd9);                  /*输出右下角边框┛*/
   window(11,3,53,21); /* 制作显示菜单的窗口,大小根据菜单条数设计*/
   clrscr();                     /*清屏*/
   for(i=0;i<8;i++)
   {
      gotoxy(10,i+1);
      cprintf("%s",f[i]);        /*输出菜单项数组*/
   }
   i=1;
   gotoxy(10,2);                 /*设置默认选项在第一项*/
   textbackground(LIGHTGREEN);   /*设置背景颜色为浅绿*/
   cprintf("%s",f[1]);           /*输出菜单项,表示选中*/
   gotoxy(10,2);                 /*移动光标到菜单的第一项*/
   while(key!=13)                /*所压键不是回车键时*/
   {

上一页  [1] [2] [3] [4] [5] [6] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有