您的位置:首页 > 其它

员工信息管理 数据以二进制的格式重新保存到:指定路径中;

2013-09-22 11:13 597 查看
#include <stdio.h>

#include <string.h>

struct gongzi
{
   
int name[50];
   
double jigong;
   
double fugong;
   
double zhichu;
   
double shishu;
};

int main(int argc,
const char * argv[])
{

    //4.2员工信息管理2

   
/*将任务4.1中数据以二进制的格式重新保存到:指定路径中;

     */
   
int size;

    printf("请输入员个数:");
   
scanf("%d",&size);
   
struct gongzi ren[size];
   
for (int i=0; i<size; i++)
    {

        printf("请输入第%d个员工的信息:\n",i+1);
       
printf("姓名:");
       
getchar();
       
strcpy(ren[i].name,gets(ren[i].name));
       
printf("基本工资:");
       
scanf("%lf",&ren[i].jigong);
       
printf("浮动工资:");
       
scanf("%lf",&ren[i].fugong);
       
printf("支出:");
       
scanf("%lf",&ren[i].zhichu);

        //printf("实发工资:");
        ren[i].shishu=ren[i].jigong+ren[i].fugong-ren[i].zhichu;
    }
   
FILE *fp;

    if ((fp=fopen("/Users/ldci/desktop/person.data",
"w+"))==NULL)
    {
       
printf("打开失败:");
       
return 1;
    }
   
else
    {
       
for (int i=0; i<size; i++)
        {
           
fwrite(ren, sizeof(ren),
1, fp);
        }
       
fclose(fp);
    }

    
   
printf("\n");
   
struct gongzi arr[size];

    if ((fp=fopen("/Users/ldci/desktop/person.data",
"r"))==NULL)
    {
       
printf("打开失败:");
       
return 1;
    }

  else
  {
     
for (int i=0; i<size; i++)
      {
        
rewind(fp);
         
fread(arr, sizeof(arr),
1, fp);
         
printf("第%d个员工的信息:\n",i+1);

          
         
printf("姓名:%s
实发工资:%lf\n",arr[i].name,arr[i].shishu);
      }
     
fclose(fp);
  }

    

    
   
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐