简单的职工管理系统(V1.1修改版)内含中文注释

dejizhuoga521

dejizhuoga521

2016-02-19 13:13

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享简单的职工管理系统(V1.1修改版)内含中文注释教程,希望对大家能有一点小小的帮助。
/*------------------------------------------------------------------------
   * filename - workmanagerment.c
   *
   * written by
   *        沈豪杰(01213229)&&王鹏(01213208)
   *-----------------------------------------------------------------------*//*[]---------------------------------------------------[]*/
  /*                         */
  /* Turbo C Run workmanagerment.c- Version 1.1      */
  /*                         */
  /*                         */
  /* Copyright (c) 2003 6 28 by shj and wp       */
  /* All Rights Reserved.                */
  /*                         */
  /*[]---------------------------------------------------[]*/
  #includestdlib.h
  #includestring.h
  #includectype.h
  #includestdio.h
  #define maxworker 100FILE *fp;  /*定义全局变量fp,指向数据库文件 worker.txt*/strUCt date{      /*日期的结构,用于存储工人的生日,工作日期等*/
    int year;
    int month;
    int day;
  };
  struct address {  /*地址的结构, 用于存储工人的地址*/
    char province[10];
    char city[10];
    char street[20];
  };
  struct WORKER {       /*工人的资料总结构*/
   char name[20];
   enum {male,female}sex;
   struct date birthday;
   enum {elesch,middle,high,university,other}rofs;
   struct date workday;
   int workeri;
   char position[20];
   struct address addr;
   int workerj;
   char tel[13];
   };
  /*程序的初始化函数,用于从数据库中读出现存的资料到内存中*/
  data_load(int *i,struct WORKER *p){
   char c;
   long int k;
   fp=fopen("worker.txt","r");
   if(!fp){fopen("worker.txt","w+");*i=0;}
   else{
   for((*i)=0;(*i)maxworker;(*i)++){
    if(feof(fp)) return;
    c=fgetc(fp);
    if(c==EOF) return;
    fflush(stdin);
    k=*i;
    fseek(fp,k*sizeof(struct WORKER),SEEK_SET);
    fread(&p[*i],sizeof(struct WORKER),1,fp);
    }
   }
  fclose(fp);
  }
  /*添加一个工人的资料*/
   void add(int *i,struct WORKER *profile){
   char add_name[20],add_position[20],add_addr_province[20],add_addr_city[20],add_addr_street[30],add_tel[13];
   int add_birthday_year,add_birthday_month,add_birthday_day,add_workday_year,add_workday_month,add_workday_day;
   int add_sex,add_rofs;
   enum {false,true}status;
   status=false;
   printf("Now add NO. %d worker's profile",*i+1); /*以下是处理输入的循环,可能有些繁杂,希望高手给指点一下
    其中status是个flag,用于指定是否有输错的地方,假如有的话,
    马上跳的最初的提示。
   */ while(status==false){
    printf("Enter the name of the worker:");
    scanf("%s",add_name);
       if(strlen(add_name)==0 strlen(add_name)20){
           status=false;puts("input error,name cannot over 8 character or less than 0 character!");
           continue;
       }
       else
          status=true;
    printf("Enter the gender of worker:(1=female,0=male)");
    scanf("%d",&add_sex);
       if(add_sex!=0 && add_sex!=1){
           status=false;puts("only 0 or 1 can be accepted!");
           continue;
       }
       else
          status=true;
    printf("Enter the birthday of worker:");
    printf("Year:");
    scanf("%4d",&add_birthday_year);
       if(add_birthday_year9999 add_birthday_year0){
           status=false;puts("input error,the year of birthday cannot more than 9999 or less than 0!");
           continue;
        }
       else
          status=true;
  printf("Month:");
    scanf("%2d",&add_birthday_month);
       if(add_birthday_month12 add_birthday_month1){
           status=false;puts("input error,the month of birthday cannot be more than 12 or less than 1");
           continue;
        }
       else
          status=true;
  printf("Day:");
    scanf("%2d",&add_birthday_day);
       if(add_birthday_day31 add_birthday_day1){
           status=false;puts("input error,the year of birthday cannot be more than 31 or less than 1!");
           continue;
        }
       else
          status=true;
    printf("Enter the workday of worker:");
    printf("Year:");
    scanf("%4d",&add_workday_year);
       if(add_workday_year9999 add_workday_year0){
           status=false;puts("input error,the year of workday cannot more than 9999 or less than 0!");
           continue;
        }
       else
          status=true;
  printf("Month:");
    scanf("%2d",&add_workday_month);
       if(add_workday_month12 add_workday_month1){
           status=false;puts("input error,the month of workday cannot be more than 12 or less than 1");
           continue;
        }
       else
          status=true;
  printf("Day:");
    scanf("%2d",&add_workday_day);
       if(add_workday_day31 add_workday_day1){
           status=false;puts("input error,the year of workday cannot be more than 31 or less than 1!");
           continue;
        }
       else
          status=true;
   [1] [2] [3] [4] [5] [6] 
展开更多 50%)
分享

猜你喜欢

简单的职工管理系统(V1.1修改版)内含中文注释

编程语言 网络编程
简单的职工管理系统(V1.1修改版)内含中文注释

WHOIS类的修改版

PHP
WHOIS类的修改版

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

改编 的 C版 职工管理系统

编程语言 网络编程
改编 的 C版 职工管理系统

模拟城市我是市长修改版刷钱攻略

模拟城市 单机游戏
模拟城市我是市长修改版刷钱攻略

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

CSS中慎用中文注释

Web开发
CSS中慎用中文注释

IISManager V1.1 是一个在线管理IIS 维护站点组件 安全稳定 最重要的是完全免费

电脑网络
IISManager V1.1 是一个在线管理IIS 维护站点组件 安全稳定 最重要的是完全免费

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win10电脑怎么玩Xbox游戏?

Win10电脑怎么玩Xbox游戏?

正则表达式30分钟入门教程 v2.1版

正则表达式30分钟入门教程 v2.1版
下拉加载更多内容 ↓