删除一行信息后想要再显示txt文件里其他未显示的信息时就显示文件为空,但是txt文件内是有内容的,只是格式会变化。
后来又试了几次,直接就报错了,txt文件内格式全乱掉了。
#include <stdio.h>
#include<string.h>
#include <stdlib.h>
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable : 4996)
#pragma warning(disable : 6031)
#define LEN sizeof(struct equipment)
char path[100] = "E:\\大学\\大二\\下\\算法报告\\real device\\equ.txt";
//设备信息结构体
struct equipment
{
int num;//编号
char name[10];//设备名称
char clas[10];//数量
char price[8];//价格
char buy_date[15];//购买日期
char maintain_date[15];//最近一次维修日期
};
struct equipment equ[50];
//系统操作
void menu()
{
printf("\n\n\n");
printf("\t\t-------------------------------------------------\n");
printf("\t\t|| ---------------- ||\n");
printf("\t\t||**************设备信息管理系统***************||\n");
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||~~~~~~~~~~~~~~~6.清屏~~~~~~~~~~~~~~~~~~~~~~~~||\n");
printf("\t\t|| ||\n");
printf("\t\t||*********************************************||\n");
}
//录入设备信息
void in()
{
FILE* fp;
int i, m = 0;
char ch[3];
ch[2] = 0;
if ((fp = fopen(path, "r")) == NULL)
{
printf("文件打开失败\n");
return;
}
while(1)//while (!feof(fp))
{
if (fscanf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
&equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6)
m++;
else
break;
}
fclose(fp);
if (m == 0)
{
printf("文件没有内容\n");
}
if ((fp = fopen(path, "at+")) == NULL)
{
printf("文件打开失败\n");
return;
}
printf(" 输入设备信息(是/否);\n");
scanf("%s", &ch);
while (strcmp(ch, "是") == 0)
{
printf("设备编号:\n");
scanf("%d", &equ[m].num); //scanf("%9d", &equ[m].num);
for (i = 0; i < m; i++)
{
if (equ[i].num == equ[m].num)
{
printf("该信息已存在\n");
fclose(fp);
getchar();
return;
}
}
printf(" 设备名称:\n");
fflush(stdin);
scanf("%s", equ[m].name); //scanf("%s", &equ[m].name);
fflush(stdin);
printf(" 数量:\n");
fflush(stdin);
scanf("%s", equ[m].clas); //scanf("%s", &equ[m].clas);
fflush(stdin);
printf(" 价格:\n");
scanf("%s", equ[i].price); //scanf("%s", &equ[i].price);
fflush(stdin);
printf(" 购买日期:\n");
scanf("%s", equ[m].buy_date); //scanf("%s", &equ[m].buy_date);
fflush(stdin);
printf(" 最近一次维修日期:\n");
scanf("%s", equ[m].maintain_date); //scanf("%s", &equ[m].maintain_date);
fflush(stdin);
if (fprintf(fp, "%d\t%s\t%s\t%s\t%s\t%s\t\t\n",
equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6)
//equ[m].num, &equ[m].name, &equ[m].clas, &equ[m].price, &equ[m].buy_date, &equ[m].maintain_date) == 6)
{
printf("信息保存成功\n");
m++;
}
printf("是否继续录入设备信息(是/否):");
scanf("%s", ch);
}
fclose(fp);
}
//删除设备信息
void delet()
{
FILE* fp;
int num, m = 0;
int i, j;
int flag = 0;
char ch[2];
if ((fp = fopen(path, "rb")) == NULL)
{
printf("文件打开失败\n");
return;
}
while(1)//while (!feof(fp))
{
if (fscanf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
&equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6)
//&equ[m].num, &equ[m].name, &equ[m].clas, &equ[m].price, &equ[m].buy_date, &equ[m].maintain_date) == 6)
m++;
else
break;
}
fclose(fp);
if (m == 0)
{
printf("文件中没有设备信息\n");
}
else
{
printf("请输入需要删除设备信息的编号:");
scanf("%d", &num);
}
for (i = 0; i < m; i++)
{
if (equ[i].num == num)
{
printf("该设备已找到,是否删除(是/否):");
scanf("%s", ch);
if (strcmp(ch, "是") == 0)
{
for(j=i;j<m-1;j++)//for (j = i; j < m; j++)
{
equ[j] = equ[j + 1];
}
m--;
flag = 1;
if ((fp = fopen(path, "wb")) == NULL)
{
printf("文件打开失败\n");
return;
}
for (j = 0; j < m; j++)
{
if (fwrite(&equ[j], LEN, 1, fp) != 1)
{
printf("不能保存\n");
getchar();
}
}
fclose(fp);
printf("删除成功!\n"); break;
}
else
{
printf("设备信息存在,不需要删除。");
break;
}
}
}
if (m == i && flag == 0)
{
printf("未找到该设备");
}
}
//修改设备信息
void updet()
{
int num;
char name[10];
char clas[10];
char price[8];
char buy_date[15];
char maintain_date[15];
FILE* fp;
int m = 0, a;
int i, j;
if ((fp = fopen(path, "rb")) == NULL)
{
printf("文件打开失败\n");
return;
}
while(1)//while (!feof(fp))
{
if (fscanf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
&equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6)
// &equ[m].num, &equ[m].name, &equ[m].clas, &equ[m].price, &equ[m].buy_date, &equ[m].maintain_date) == 6)
m++;
else
break;
}
fclose(fp);
if (m == 0)
{
printf("文件中没有设备信息\n");
}
else
{
printf("请输入需要修改设备信息的编号:");
scanf("%d", &num);
}
for (i = 0; i < m; i++)
{
if (num == equ[i].num)
{
printf("1:编号,2:设备名称,3:数量,4:价格,5:购买日期,6:最近一次维修日期\n");
printf("该设备已被找到,请选择需要修改的内容(1-5):");
scanf("%d", &a);
while (a)
{
switch (a)
{
case 1:
printf("将%d编号的设备的编号修改为:", num);
scanf("%d", &num);
equ[i].num = num;
for (j = i + 1; j < m; j++)
{
if (equ[j].num == num)
{
printf("您修改的编号已存在\n");
getchar();
return;
}
}
break;
case 2:
printf("将%d编号的设备名称修改为:", num);
scanf("%s", name);//scanf("%s", &name);
strcpy(equ[i].name, name);
break;
case 3:
printf("将%d编号的数量修改为:", num);
scanf("%s", clas); //scanf("%s", &clas);
strcpy(equ[i].clas, clas);
break;
case 4:
printf("将%d编号的设备价格修改为:", num);
scanf("%s", price);//scanf("%s", &price);
strcpy(equ[i].price, price);
break;
case 5:
printf("将%d编号的设备购买日期修改为:", num);
scanf("%s", buy_date);// scanf("%s", &buy_date);
strcpy(equ[i].buy_date, buy_date);
break;
case 6:
printf("将%d编号的设备最近一次维修日期修改为:", num);
scanf("%s", maintain_date); //scanf("%s", &maintain_date);
strcpy(equ[i].maintain_date, maintain_date);
break;
default:
printf("选择错误,请重新选择需要修改的内容:");
//scanf("%d", &a);
break;
}
printf("请选择需要修改的内容(如果已修改完成请按0):");
scanf("%d", &a);
}
if ((fp = fopen(path, "wb")) == NULL)
{
printf("文件打开失败\n");
return;
}
for (j = 0; j < m; j++)
{
fprintf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
equ[j].num, equ[j].name, equ[j].clas, equ[j].price, equ[j].buy_date, equ[j].maintain_date);
//equ[j].num, &equ[j].name, &equ[j].clas, &equ[j].price, &equ[j].buy_date, &equ[j].maintain_date);
}
fclose(fp);
printf("修改成功!\n");
break;
}
}
if (m == i)
{
printf("未找到该设备\n");
}
}
//查询设备信息
void select()
{
int num, m = 0;
int i;
FILE* fp;
if ((fp = fopen(path, "rt+")) == NULL)
{
printf("文件打开失败\n");
return;
}
while(1)//while (!feof(fp))
{
if (fscanf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
&equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6)
// &equ[m].num, &equ[m].name, &equ[m].clas, &equ[m].price, &equ[m].buy_date, &equ[m].maintain_date) == 6)
m++;
else
break;
}
fclose(fp);
if (m == 0)
{
printf("文件没有内容\n");
return;
}
printf("请输入设备编号进行查询:");
scanf("%d", &num);
for (i = 0; i < m; i++)
{
if (num == equ[i].num)
{
printf("\n");
printf("该设备信息已被查到;\n");
printf("%-10s %-10s %-10s %-8s %-15s %-17s\n", "设备编号", "设备名称", "数量", "价格", " 购买日期", " 最近一次维修日期"); //修改
printf("%-10d %-10s %-10s %-8s %-15s %-15s\n", equ[i].num, equ[i].name, equ[i].clas, equ[i].price, equ[i].buy_date, equ[i].maintain_date); //修改
//printf("设备编号\t设备名称\t数量\t价格\t购买日期\t最近一次维修日期\t\n");
//printf("%7d\t%s\t\t%s\t%s\t%s\t%s\t\n", equ[i].num, &equ[i].name, &equ[i].clas, &equ[i].price, &equ[i].buy_date, &equ[i].maintain_date);
break;
}
}
if (m == i)
{
printf("该设备信息不存在\n");
return;
}
}
//显示设备信息
void print()
{
int i, m = 0;
FILE* fp;
if ((fp = fopen(path, "rt")) == NULL)
{
printf("文件打开失败\n");
return;
}
while(1)//while (!feof(fp))
{
if (fscanf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
&equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6) //修改
//&equ[m].num, &equ[m].name, &equ[m].clas, &equ[m].price, &equ[m].buy_date, &equ[m].maintain_date) == 6)
m++; //得出行数
else
break;
}
fclose(fp);
if (m == 0)
{
printf("文件中没有内容\n");
}
else
{
printf("%-10s %-10s %-10s %-8s %-15s %-17s\n", "设备编号", "设备名称", "数量", "价格", " 购买日期", " 最近一次维修日期"); //修改
//printf("设备编号\t设备名称\t数量\t价格\t购买日期\t最近一次维修日期\n");
for (i = 0; i < m; i++)
{
printf("%-10d %-10s %-10s %-8s %-15s %-15s\n", equ[i].num, equ[i].name, equ[i].clas, equ[i].price, equ[i].buy_date, equ[i].maintain_date); //修改
//printf("%7d\t\t%s\t\t%s\t%s\t%s\t%s\t\n", equ[i].num, &equ[i].name, &equ[i].clas, &equ[i].price, &equ[i].buy_date, &equ[i].maintain_date);
}
}
}
//清屏
void clea()
{
system("cls");
}
int main()
{
menu();
int n;
printf("请选择功能(1-6):\n");
scanf("%d", &n);
while (n)
{
if (n >= 1 && n <= 9)
{
switch (n)
{
case 1:in(); break;
case 2:delet(); break;
case 3:updet(); break;
case 4:select(); break;
case 5:print(); break;
case 6:clea(); break;
}
if (n == 6)
{
menu();
}
printf("\n");
printf("请选择功能(1-6):");
scanf("%d", &n);
}
else
{
printf("\n");
printf("请重新输入:");
scanf("%d", &n);
}
}
return 0;
}
void delet() 函数里,对写文件命令fwrite()做了修改,改为 fprintf() 函数,其它的地方见注释 “修改” ,供参考:
#include <stdio.h>
#include<string.h>
#include <stdlib.h>
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable : 4996)
#pragma warning(disable : 6031)
#define LEN sizeof(struct equipment)
char path[100] = "E:\\大学\\大二\\下\\算法报告\\real device\\equ.txt";
//设备信息结构体
struct equipment
{
int num;//编号
char name[10];//设备名称
char clas[10];//数量
char price[8];//价格
char buy_date[15];//购买日期
char maintain_date[15];//最近一次维修日期
};
struct equipment equ[50];
//系统操作
void menu()
{
printf("\n\n\n");
printf("\t\t-------------------------------------------------\n");
printf("\t\t|| ---------------- ||\n");
printf("\t\t||**************设备信息管理系统***************||\n");
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||~~~~~~~~~~~~~~~6.清屏~~~~~~~~~~~~~~~~~~~~~~~~||\n");
printf("\t\t|| ||\n");
printf("\t\t||*********************************************||\n");
}
//录入设备信息
void in()
{
FILE* fp;
int i, m = 0;
char ch[3];
ch[2] = 0;
if ((fp = fopen(path, "r")) == NULL)
{
printf("文件打开失败\n");
return;
}
while(1)//while (!feof(fp))
{
if (fscanf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
&equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6)
m++;
else
break;
}
fclose(fp);
if (m == 0)
{
printf("文件没有内容\n");
}
if ((fp = fopen(path, "at+")) == NULL)
{
printf("文件打开失败\n");
return;
}
printf(" 输入设备信息(是/否);\n");
scanf("%s", &ch);
while (strcmp(ch, "是") == 0)
{
printf("设备编号:\n");
scanf("%d", &equ[m].num); //scanf("%9d", &equ[m].num);
for (i = 0; i < m; i++)
{
if (equ[i].num == equ[m].num)
{
printf("该信息已存在\n");
fclose(fp);
getchar();
return;
}
}
printf(" 设备名称:\n");
fflush(stdin);
scanf("%s", equ[m].name); //scanf("%s", &equ[m].name);
fflush(stdin);
printf(" 数量:\n");
fflush(stdin);
scanf("%s", equ[m].clas); //scanf("%s", &equ[m].clas);
fflush(stdin);
printf(" 价格:\n");
scanf("%s", equ[i].price); //scanf("%s", &equ[i].price);
fflush(stdin);
printf(" 购买日期:\n");
scanf("%s", equ[m].buy_date); //scanf("%s", &equ[m].buy_date);
fflush(stdin);
printf(" 最近一次维修日期:\n");
scanf("%s", equ[m].maintain_date); //scanf("%s", &equ[m].maintain_date);
fflush(stdin);
if (fprintf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n", //\t\t
equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6)
//equ[m].num, &equ[m].name, &equ[m].clas, &equ[m].price, &equ[m].buy_date, &equ[m].maintain_date) == 6)
{
printf("信息保存成功\n");
m++;
}
printf("是否继续录入设备信息(是/否):");
scanf("%s", ch);
}
fclose(fp);
}
//删除设备信息
void delet()
{
FILE* fp;
int num, m = 0;
int i, j;
int flag = 0;
char ch[2];
if ((fp = fopen(path, "rt")) == NULL) // "rb" 修改
{
printf("文件打开失败\n");
return;
}
while(1)//while (!feof(fp))
{
if (fscanf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
&equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6)
//&equ[m].num, &equ[m].name, &equ[m].clas, &equ[m].price, &equ[m].buy_date, &equ[m].maintain_date) == 6)
m++;
else
break;
}
fclose(fp);
if (m == 0)
{
printf("文件中没有设备信息\n");
}
else
{
printf("请输入需要删除设备信息的编号:");
scanf("%d", &num);
}
for (i = 0; i < m; i++)
{
if (equ[i].num == num)
{
printf("该设备已找到,是否删除(是/否):");
scanf("%s", ch);
if (strcmp(ch, "是") == 0)
{
for(j=i;j<m-1;j++)//for (j = i; j < m; j++)
{
equ[j] = equ[j + 1];
}
m--;
flag = 1;
if ((fp = fopen(path, "wt")) == NULL) // "wb" 修改
{
printf("文件打开失败\n");
return;
}
for (j = 0; j < m; j++)
{
fprintf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",equ[j].num, equ[j].name,
equ[j].clas, equ[j].price, equ[j].buy_date, equ[j].maintain_date);
//if (fwrite(&equ[j], LEN, 1, fp) != 1) 修改
//{ 修改
// printf("不能保存\n"); 修改
// getchar(); 修改
//} 修改
}
fclose(fp);
printf("删除成功!\n"); break;
}
else
{
printf("设备信息存在,不需要删除。");
break;
}
}
}
if (m == i && flag == 0)
{
printf("未找到该设备");
}
}
//修改设备信息
void updet()
{
int num;
char name[10];
char clas[10];
char price[8];
char buy_date[15];
char maintain_date[15];
FILE* fp;
int m = 0, a;
int i, j;
if ((fp = fopen(path, "rt")) == NULL) //"rb" 修改
{
printf("文件打开失败\n");
return;
}
while(1)//while (!feof(fp))
{
if (fscanf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
&equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6)
// &equ[m].num, &equ[m].name, &equ[m].clas, &equ[m].price, &equ[m].buy_date, &equ[m].maintain_date) == 6)
m++;
else
break;
}
fclose(fp);
if (m == 0)
{
printf("文件中没有设备信息\n");
}
else
{
printf("请输入需要修改设备信息的编号:");
scanf("%d", &num);
}
for (i = 0; i < m; i++)
{
if (num == equ[i].num)
{
printf("1:编号,2:设备名称,3:数量,4:价格,5:购买日期,6:最近一次维修日期\n");
printf("该设备已被找到,请选择需要修改的内容(1-5):");
scanf("%d", &a);
while (a)
{
switch (a)
{
case 1:
printf("将%d编号的设备的编号修改为:", num);
scanf("%d", &num);
equ[i].num = num;
for (j = i + 1; j < m; j++)
{
if (equ[j].num == num)
{
printf("您修改的编号已存在\n");
getchar();
return;
}
}
break;
case 2:
printf("将%d编号的设备名称修改为:", num);
scanf("%s", name);//scanf("%s", &name);
strcpy(equ[i].name, name);
break;
case 3:
printf("将%d编号的数量修改为:", num);
scanf("%s", clas); //scanf("%s", &clas);
strcpy(equ[i].clas, clas);
break;
case 4:
printf("将%d编号的设备价格修改为:", num);
scanf("%s", price);//scanf("%s", &price);
strcpy(equ[i].price, price);
break;
case 5:
printf("将%d编号的设备购买日期修改为:", num);
scanf("%s", buy_date);// scanf("%s", &buy_date);
strcpy(equ[i].buy_date, buy_date);
break;
case 6:
printf("将%d编号的设备最近一次维修日期修改为:", num);
scanf("%s", maintain_date); //scanf("%s", &maintain_date);
strcpy(equ[i].maintain_date, maintain_date);
break;
default:
printf("选择错误,请重新选择需要修改的内容:");
//scanf("%d", &a);
break;
}
printf("请选择需要修改的内容(如果已修改完成请按0):");
scanf("%d", &a);
}
if ((fp = fopen(path, "wt")) == NULL) // "wb" 修改
{
printf("文件打开失败\n");
return;
}
for (j = 0; j < m; j++)
{
fprintf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
equ[j].num, equ[j].name, equ[j].clas, equ[j].price, equ[j].buy_date, equ[j].maintain_date);
//equ[j].num, &equ[j].name, &equ[j].clas, &equ[j].price, &equ[j].buy_date, &equ[j].maintain_date);
}
fclose(fp);
printf("修改成功!\n");
break;
}
}
if (m == i)
{
printf("未找到该设备\n");
}
}
//查询设备信息
void select()
{
int num, m = 0;
int i;
FILE* fp;
if ((fp = fopen(path, "rt+")) == NULL)
{
printf("文件打开失败\n");
return;
}
while(1)//while (!feof(fp))
{
if (fscanf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
&equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6)
// &equ[m].num, &equ[m].name, &equ[m].clas, &equ[m].price, &equ[m].buy_date, &equ[m].maintain_date) == 6)
m++;
else
break;
}
fclose(fp);
if (m == 0)
{
printf("文件没有内容\n");
return;
}
printf("请输入设备编号进行查询:");
scanf("%d", &num);
for (i = 0; i < m; i++)
{
if (num == equ[i].num)
{
printf("\n");
printf("该设备信息已被查到;\n");
printf("%-10s %-10s %-10s %-8s %-15s %-17s\n", "设备编号", "设备名称", "数量", "价格", " 购买日期", " 最近一次维修日期"); //修改
printf("%-10d %-10s %-10s %-8s %-15s %-15s\n", equ[i].num, equ[i].name, equ[i].clas, equ[i].price, equ[i].buy_date, equ[i].maintain_date); //修改
//printf("设备编号\t设备名称\t数量\t价格\t购买日期\t最近一次维修日期\t\n");
//printf("%7d\t%s\t\t%s\t%s\t%s\t%s\t\n", equ[i].num, &equ[i].name, &equ[i].clas, &equ[i].price, &equ[i].buy_date, &equ[i].maintain_date);
break;
}
}
if (m == i)
{
printf("该设备信息不存在\n");
return;
}
}
//显示设备信息
void print()
{
int i, m = 0;
FILE* fp;
if ((fp = fopen(path, "rt")) == NULL)
{
printf("文件打开失败\n");
return;
}
while(1)//while (!feof(fp))
{
if (fscanf(fp, "%d\t%s\t%s\t%s\t%s\t%s\n",
&equ[m].num, equ[m].name, equ[m].clas, equ[m].price, equ[m].buy_date, equ[m].maintain_date) == 6) //修改
//&equ[m].num, &equ[m].name, &equ[m].clas, &equ[m].price, &equ[m].buy_date, &equ[m].maintain_date) == 6)
m++; //得出行数
else
break;
}
fclose(fp);
if (m == 0)
{
printf("文件中没有内容\n");
}
else
{
printf("%-10s %-10s %-10s %-8s %-15s %-17s\n", "设备编号", "设备名称", "数量", "价格", " 购买日期", " 最近一次维修日期"); //修改
//printf("设备编号\t设备名称\t数量\t价格\t购买日期\t最近一次维修日期\n");
for (i = 0; i < m; i++)
{
printf("%-10d %-10s %-10s %-8s %-15s %-15s\n", equ[i].num, equ[i].name, equ[i].clas, equ[i].price, equ[i].buy_date, equ[i].maintain_date); //修改
//printf("%7d\t\t%s\t\t%s\t%s\t%s\t%s\t\n", equ[i].num, &equ[i].name, &equ[i].clas, &equ[i].price, &equ[i].buy_date, &equ[i].maintain_date);
}
}
}
//清屏
void clea()
{
system("cls");
}
int main()
{
menu();
int n;
printf("请选择功能(1-6):\n");
scanf("%d", &n);
while (n)
{
if (n >= 1 && n <= 9)
{
switch (n)
{
case 1:in(); break;
case 2:delet(); break;
case 3:updet(); break;
case 4:select(); break;
case 5:print(); break;
case 6:clea(); break;
}
if (n == 6)
{
menu();
}
printf("\n");
printf("请选择功能(1-6):");
scanf("%d", &n);
}
else
{
printf("\n");
printf("请重新输入:");
scanf("%d", &n);
}
}
return 0;
}