注册 登录
编程论坛 C语言论坛

我做的员工工资管理系统,可以显示菜单但是不能读取文件,是什么原因,求解

Z17671186438 发布于 2020-06-27 20:44, 2178 次点击
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define M 20
int x;
struct GZ
{
int num[20];//职工号
char name[20];// 姓名
int jbgz;// 基本工资
int zwgz;// 职务工资
int jt;// 津贴
int ylbx;// 医疗保险
int gjj;// 公积金
int sdf;// 水电费
int total;// 总工资
};struct GZ GZ[20];
void menu();//菜单
void Serch();//搜寻
void Calculate();//计算
void Update();//修改
void Delete();//删除
void Sort();//排序
void Satistics();//统计


void menu()
{
    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("              | 7.排序                   *  |\n");
    printf("              | 8.统计                    * |\n");
    printf("              | 9.退出系统                 *|\n");
    printf("              ===============================\n");
 }
 int main()
 {
     menu();
     return 0;
}
 void Readfile()
 {
 FILE*fp=fopen("D:\\JK0441.txt","r");
 int i=0;
 char st[80];
 if((fp=fopen("JK0441.text","r"))==NULL)
  {
      printf("文件信息打开错误!/n");
      return;
  }
  fgets(st,80,fp);
  while(!feof(fp))
  {
     fscanf(fp,"s% s% d% d% d% d% d% d% d%\n",GZ[i].num,GZ[i].name,GZ[i].gjj,GZ[i].jbgz,GZ[i].jt,GZ[i].sdf,GZ[i].total,GZ[i].ylbx,GZ[i].zwgz);
   }
   x=i;
   printf("文件读取成功!/n");
   fclose(fp);
 }
3 回复
#2
ditg2020-06-27 21:27
s%等等,%s
int num[20],输入呢?
fscanf找几个例子参考一下

其它没看,写程序以后仔细点
#3
fulltimelink2020-06-29 13:48
为啥打开两次,而且路径和后缀不一样
#4
吹水佬2020-06-29 14:03
回复 楼主 Z17671186438
int main()
 {
     menu();
     return 0;
}
只调用menu(),没有做什么
1