该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#include
#include
#include
void myinput();
void mydisplay();
void mysearch();
void sch_num();
void sch_name();
void mydelete();
void del_num();
void del_name();
void mymodify();
void fprintf_to_file();
void main_menu();
typedef struct goods
{ int num;
char name[10];
int amount;
int date;
char duty[20];
struct goods*next;
}NODE;
NODE *create_list()
{
FILE *fp;
NODE *head=NULL,*p=NULL,*pnew=NULL;
head=(NODE*)malloc(sizeof(NODE));
head->next=NULL;
fp=fopen("物资.txt","r");
if(fp==NULL)
{
printf("打开文件失败!\n");
exit(0);
}
p=head;
if(fgetc(fp)!=EOF)
{
rewind(fp);
while(!feof(fp))
{pnew=(NODE*)malloc(sizeof(NODE));
fscanf(fp,"%d%s%d%d%s",&pnew->num,pnew->name,&pnew->amount,&pnew->date,pnew->duty);
p->next=pnew;
p=pnew;
p->next=NULL;
}
}
fclose(fp);
return head;
}
void main() //主函数
{
NODE*head=NULL;
head=create_list();
main_menu(head);
}
void myinput(NODE*head) //记录
{
NODE*p,*pnew;
int i=0,num,amount,date;
char yn,name[10],duty[20];
p=head;
while(p->next!=NULL)
{
p=p->next;
}
do
{
i++;
printf("\n输入物资编号,名称,数量,日期,负责人:");
scanf("%d%s%d%d%s",&num,name,&amount,&date,duty);
pnew=(NODE*)malloc(sizeof(NODE));
strcpy(pnew->name,name);
pnew->num=num;
pnew->amount=amount;
pnew->date=date;
strcpy(pnew->duty,duty);
p->next=pnew;
p=pnew;
p->next=NULL;
printf("\n还要继续输入商品信息吗(Y继续/N退出)?");
do
{ yn=getche();}
while(yn!='y'&&yn!='Y'&&yn!='n'&&yn!='N');
}while(yn=='y'||yn=='Y');
printf("\n总共添加了%d个信息!\n",i);
}