WEB开发网
开发学院软件开发C++ 简单的职工管理系统(V1.1修改版)内含中文注释 阅读

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

 2008-03-08 12:43:02 来源:WEB开发网   
核心提示:/* * filename - workmanagerment.c * * written by * 沈豪杰(01213229)&&王鹏(01213208) *---*//*[]---[]*//* *//* Turbo C Run workmanagerment.c- Version 1.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.         */
/*             */
/*[]---------------------------------------------------[]*/
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include<stdio.h>
#define maxworker 100 FILE *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("\n\tNow add NO. %d worker's profile\n",*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:\n");
  printf("\tYear:");
  scanf("%4d",&add_birthday_year);
   if(add_birthday_year>9999 add_birthday_year<0){
     status=false;puts("input error,the year of birthday cannot more than 9999 or less than 0!");
     continue;
    }
   else
     status=true;
printf("\tMonth:");
  scanf("%2d",&add_birthday_month);
   if(add_birthday_month>12 add_birthday_month<1){
     status=false;puts("input error,the month of birthday cannot be more than 12 or less than 1");
     continue;
    }
   else
     status=true;
printf("\tDay:");
  scanf("%2d",&add_birthday_day);
   if(add_birthday_day>31 add_birthday_day<1){
     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:\n");
  printf("\tYear:");
  scanf("%4d",&add_workday_year);
   if(add_workday_year>9999 add_workday_year<0){
     status=false;puts("input error,the year of workday cannot more than 9999 or less than 0!");
     continue;
    }
   else
     status=true;
printf("\tMonth:");
  scanf("%2d",&add_workday_month);
   if(add_workday_month>12 add_workday_month<1){
     status=false;puts("input error,the month of workday cannot be more than 12 or less than 1");
     continue;
    }
   else
     status=true;
printf("\tDay:");
  scanf("%2d",&add_workday_day);
   if(add_workday_day>31 add_workday_day<1){
     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] 

Tags:简单 职工 管理系统

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接