C语言网

 找回密码
 加入社区!

QQ登录

只需一步,快速开始

查看: 523|回复: 2

跪求C语言工资管理系统程序设计 [复制链接]

Rank: 1

主题
0
帖子
8
C币
604 枚
在线时间
0 小时
发表于 2010-6-23 13:34:58 |显示全部楼层
18C币
本帖最后由 雨天0806 于 2010-6-23 14:38 编辑

高手帮忙一下

工资管理系统
  功能:   1)输入记录模块。输入记录模块主要完成将数据存入数组中的工作。在些工资管理系统中,记录可以从以二进制形式存储的数据文件中读入,也可以从键盘逐个输入记录。记录由职工的基本信息和工资信息字段构成。当从数据文件中读入记录时,它就是在以记录为单位存储的数据文件中,将记录逐条复制到数组元素中。




2
)  2)查询记录模块。查询模块记录主要完成在数组中查找满足相关条件的记录。在些工资管理系统中,用户可以按照职工编号或姓名在数组中进行查找。若找到该记录,则以表格形式打印出此记录的信息;否则,返回一个-1的值,并打印出未找到该记录的提示信息。



3)  3)更新记录模块。更新记录模块主要完成对记录的维护。在些工资管理系统中,实现对记录的修改,删除,插入和排序操作。一般而言,系统进行了这些操作之后,需要将修改的数据存入源数据文件。


4)   4)统计记录模块。统计记录模块主要完成对公司员工的工资在各等级的人数统计。


5)  5)输出记录模块。输出记录模块主要完成两个任务。第一,它实现对记录的存盘操作,即数组中各元素中存储的记录信息写入数据文件中。第二,它实现将数组中存储的记录信息以表格形式在屏幕上打印出来。
要求:1、只能使用C语言实现系统,源程序要有适当的注释,使程序容易阅读;2、函数功能要划分好(结构化程序设计);3、界面友好(良好的人机交互),加必要的注释; 4、必须使用结构体和链表等数据结构;5、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

最佳答案

yanwei246 查看完整内容

这东西简单的也要200~300行!复杂的少说550行以上(要编的话费时间) 我还是学生了高三没空,不过我有学生管理系统(简单,易懂),你可以参考一下: struct student { long int num; char name[20]; int age; char sex[4]; char b[30]; char p[15]; }; int n=0; struct student stu[100]; struct student *p; void lr(); void ll(); void cx(); void xg(); void sc(); void main() { int z; printf("\n欢迎使用 ...

Rank: 1

主题
5
帖子
38
C币
62 枚
在线时间
4 小时
发表于 2010-6-23 13:34:59 |显示全部楼层
本帖最后由 yanwei246 于 2010-10-14 15:25 编辑

这东西简单的也要200~300行!复杂的少说550行以上(要编的话费时间)

我还是学生了高三没空,不过我有学生管理系统(简单,易懂),你可以参考一下:
struct student   
{
long int num;
char name[20];
int age;
char sex[4];
char b[30];
char p[15];
};
int n=0;
struct student stu[100];
struct student *p;

void lr();
void ll();
void cx();
void xg();
void sc();

void main()
{
   
   int z;
    printf("\n欢迎使用学生信息管理系统 \n\n");
    printf("提示:为保证您的操作得到正常,请按正常顺序退出系统!\n\n");
   do
    {   printf("\t\t--------------------------------\n");
        printf("\t\t主菜单:\n");
        printf("\t\t       [1]----录入学生信息       \n");
        printf("\t\t       [2]----浏览学生信息       \n");
        printf("\t\t       [3]----查询学生信息       \n");
        printf("\t\t       [4]----删除学生信息       \n");
        printf("\t\t       [5]----修改学生信息       \n");
        printf("\t\t       [0]----退出系统           \n");
        printf("\t\t--------------------------------\n");
        printf("请输入您的选择:");
        scanf("%d", &z);
        switch(z)
        {
        case 0 :    break;
        case 1 :lr();break;
        case 2 :ll();break;
        case 3 :cx();break;
        case 4 :sc();break;
        case 5 :xg();break;
        default:printf("\n无效选项!");
        }
  }
    while(z!= 0);
}

void lr()
{
int y;
if(n==0)
  p=stu;

    bj: printf("--------------------\n");
   printf("请输入学生的学号:");
   scanf("%ld",&p->num);
   printf("请输入学生的姓名:");
   scanf("%s",p->name);
   printf("请输入学生的年龄:");
   scanf("%d",&p->age);
   printf("请输入学生的性别:");
   scanf("%s",p->sex);
   printf("请输入学生的地址:");
   scanf("%s",p->b);
   printf("请输入学生的电话:");
   scanf("%s",p->p);
   n++;
   p++;
   printf("\n1.继续输入.\n0.输入完毕.\n");
   printf("请选择:");
   scanf("%d",&y);
   if(y==1)
   goto bj;
   else
   printf("\n退出!!!!!!!");
  

printf("提示:输入完毕!你一共输入%d个\n",n);

}

void ll()
{
int i,j;
  if(n!=0)
  { printf("学生总数:%d\n", n);
  printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
  printf("-----------------------------------------------------\n");
  for(i=0;i<n;i++)
  printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu.num,stu.name,stu.age,stu.sex,stu.b,stu.p);
  }
  else printf("提示:无学生数据,请输入数据!");
}

void cx()
{
int c;
int w,i,j=0;
char name[20];
if(n!=0)
{
do{    printf("\n");
        printf("+--------------------+\n");
        printf("查询菜单:\n");
        printf("        1.按学号查询。\n");
        printf("        2.按姓名查询。\n");        
        printf("        0.取消。\n");
        printf("+--------------------+\n");
        printf("请输入您的选择:");
        scanf("%d", &c);
        switch(c)
        {
            case 0:break;
            case 1:
                   printf("请输入学生的学号;");
                   scanf("%ld", &w);
                   printf("\n");
                   for(i=0;i<n;i++)
                   if(stu.num==w)
                   {
                    printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
                    printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu.num,stu.name,stu.age,stu.sex,stu.b,stu.p);
                    j=1;
                   }
                   if(j==0)
                   printf("提示:没有该学生记录,请核对!");
                   break;
            case 2:
                   printf("请输入学生的姓名:");
                   scanf("%s", name);
                   printf("\n");
                   for(i=0;i<n;i++)
                   if(strcmp(name,stu.name)==0)
                   {
                    printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
                    j=1;
                    printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu.num,stu.name,stu.age,stu.sex,stu.b,stu.p);
                   }
                  if(j==0)
                  printf("提示:没有该学生记录,请核对!");
                  break;
        default:
                printf("\n提示:无效选项!");
                break;
       }

    }while(c!= 0);
  }else  printf("提示:无学生数据,请输入数据!");
return;
}


void xg()
{
long int num;
int i,j,c;
if(n!=0)
{
  printf("请输入您要修改的学生的学号:");
  scanf("%ld", &num);
  printf("\n");
  for(i=0;i<n;i++)
  if(stu.num==num)
  j=i;
  do{
      printf("请选择您要修改的学生的信息内容:\n");
      printf("+----------------------+\n");
      printf("修改菜单:\n");
      printf("        1.姓名。\n");
      printf("        2.年龄。\n");
      printf("        3.性别。\n");
      printf("        4.学号。\n");
      printf("        5.地址。\n");
      printf("        6.电话。\n");
      printf("        0.取消。\n");
      printf("+----------------------+\n");
      printf("请输入您的选择:");
      scanf("%d", &c);
      printf("\n");
      switch(c)
           {
        case 0:break;

        case 1:printf("请输入新姓名:");
               scanf("%s",stu[j].name);
               break;
        case 2:printf("请输入新年龄:");
               scanf("%d",&stu[j].age);
               break;
        case 3:printf("请输入新性别:");
               scanf("%s",stu[j].sex);
               break;
        case 4:printf("请输入新学号:");
               scanf("%ld",&stu[j].num);
               break;
        case 5:printf("请输入新地址:");
               scanf("%s",stu[j].b);
               break;
        case 6:printf("请输入新电话:");
               scanf("%s",stu[j].p);
               break;
        default:
                printf("\n无效选项!");
                break;
        }

    }while(c!= 0);
  }else   printf("提示:无学生数据,请输入数据!");
}


void sc()
{
long int num;
int i,j,e;
if(n!=0)
{
printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");
  printf("-----------------------------------------------------\n");
  for(i=0;i<n;i++)
  printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu.num,stu.name,stu.age,stu.sex,stu.b,stu.p);
  printf("请输入您要删除的学生的学号:");
  scanf("%ld", &num);
  printf("\n");
  for(i=0;i<n;i++)
  if(num==stu.num)
    j=i;
  if(j!=(n-1))
    {
     for(e=i-1;e<n;e++,j++)
     {
      stu[j].num=stu[j+1].num;
      strcpy(stu[j].name,stu[j+1].name);
      strcpy(stu[j].sex,stu[j+1].sex);
      stu[j].age=stu[j+1].age;
      strcpy(stu[j].b,stu[j+1].b);
      strcpy(stu[j].p,stu[j+1].p);
      n--;p--;
     }
    }else {n--;p--;}
  printf("提示:删除完毕!");
  }else    printf("提示:无学生数据,请输入数据!");
}
您需要登录后才可以回帖 登录 | 加入社区!

C语言 ( 粤ICP备11042647号-2 )

GMT+8, 2012-2-7 22:19

©2009-2011 cyuyan.com.cn

回顶部