600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 如何用c语言做衣物存放系统 C语言一个简单的商店管理系统

如何用c语言做衣物存放系统 C语言一个简单的商店管理系统

时间:2020-11-10 12:30:56

相关推荐

如何用c语言做衣物存放系统 C语言一个简单的商店管理系统

/*数据结构:*/

struct shangpin

{

char name[100];

char bianhao;

float jinjia;

float shoujia;

int kuchun;

struct shangpin *next;

}

/*主模块:*/

#include

#include

#include

#include

#define LEN sizeof(struct shangpin)

main()

{

struct shangpin * ins(struct shangpin *);

struct shangpin * del(struct shangpin *);

void quer(struct shangpin *);

void disp(struct shangpin *);

void savef(struct shangpin *);

void quit(struct shangpin *);

void menu(void);

struct shangpin* init(struct shangpin*);

struct shangpin *head=NULL;

int cho;head=init(head);

while(1)

{

menu();

do

{

printf("please input selection:");

scanf("%d",&cho);

}while(cho<1||cho>6);

switch(cho)

{

case 1:head=ins(head);break;

case 2:head=del(head);break;

case 3:quer(head);break;

case 4:disp(head);break;

case 5:savef(head);break;

case 6:quit(head);

}

}

}

/*初始化模块*/

struct shangpin* init(struct shangpin* head)

{

FILE *fp;/*文件指针*/

struct shangpin *prev,*cur;

if((fp=fopen("aaa.txt","r"))==NULL)/*打开失败*/

{

printf("can't open file aaa.txt\n");

getch();

return 0;

}

if(feof(fp))

return(NULL);

cur=(struct shangpin *)malloc(LEN);

fscanf(fp,"%s%c%f%f%d",cur->name,&cur->bianhao,&cur->jinjia,&cur->shoujia,&cur->kuchun);

head=cur;

prev=cur;

while(!feof(fp))

{

cur=(struct shangpin *)malloc(LEN);

fscanf(fp,"%s%c%f%f%d",cur->name,&cur->bianhao,&cur->jinjia,&cur->shoujia,&cur->kuchun);

prev->next=cur;

prev=cur;

}

prev->next=NULL;

return(head);

}

/*菜单模块*/

void menu(void)

{

void pristr(void);

clrscr(); /*清屏*/

pristr();

pristr();

printf("shangpin C manage system\n\n\n");

printf("1: insert a shangpin\n");

printf("2: delete a shangpin\n");

printf("3: find a shangpin\n");

printf("4: display all shangpin\n");

printf("5: save record\n");

printf("6: exit system\n");

pristr();

pristr();

printf("\n\n\n");

}

void pristr(void)

{

printf("-*-*-*-*-*-*=*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\n");

}

/*录入模块*/

struct shangpin * ins(struct shangpin *head)

{

struct shangpin *newn,*t1;

newn=(struct shangpin *)malloc(LEN);

printf("please input the shangpin's information \n");

scanf("%s%c%f%f%d",newn->name,&newn->bianhao,&newn->jinjia,&newn->shoujia,&newn->kuchun);

if(head==NULL)

{

head=newn;

newn->next=NULL;

}

else

{

t1=head;

while(t1->next!=NULL)

t1=t1->next;

t1->next=newn;

newn->next=NULL;

}

return(head);

}

/*删除模块*/

struct shangpin * del(struct shangpin *head)

{

struct shangpin *prev,*cur;

char name[100];

int flag=0;

printf("\nplease input the name:");

scanf("%s",name);

if(head==NULL)

printf("empry chat\n");

else if(strcmp(head->name,name)==0)

{

cur=head;

head=head->next;

free(cur);

flag=1;

}

else

{

cur=head->next;

prev=head;

while(cur!=NULL)

if(strcmp(cur->name,name)==0)

{

prev->next=cur->next;

free(cur);

flag=1;

break;

}

else

{

prev=cur;

cur=cur->next;

}

}

if(flag==1)

printf("\nthe node is deleted\n");

else

printf("\n the node is not existed\n");

getch();

return(head);

}

/*查询模块*/

void quer(struct shangpin *head)

{

struct shangpin *t=head;

char name[100];

int flag=0;

printf("\nplease input the name:");

scanf("%s",name);

while(t!=NULL)

if(strcmp(t->name,name)==0)

{

flag=1;

break;

}

else

t=t->next;

if(flag==1)

{

printf("the node is found\n");

printf("name:%s,bianhao:%c,jinjia:%f,shoujia:%f,kuchun:%d\n",t->name,t->bianhao,t->jinjia,t->shoujia,t->kuchun);

}

else

printf(" the node is no found\n");

getch();

}

/*显示模块*/

void disp(struct shangpin *head)

{

struct shangpin *t1;

if(head==NULL)

{

printf("empty chart\n");

getch();

return;

}

else

{

for(t1=head;t1!=NULL;t1=t1->next)

printf("%s,%c,%f,%f,%d",t1->name,t1->bianhao,t1->jinjia,t1->shoujia,t1->kuchun);

getch();

}

}

/*存盘模块*/

void savef(struct shangpin *head)

{

char s[100];

FILE *fp;

struct shangpin *node=head;

printf("please input file name:\n");

scanf("%s",s);

if((fp=fopen(s,"w"))==NULL)

{

printf("can't open file\n");

getch();

return;

}

while(node!=NULL)

{

fprintf(fp,"%s,%c,%f,%f,%d",node->name,node->bianhao,node->jinjia,node->shoujia,node->kuchun);

node=node->next;

}

fclose(fp);

}

/*退出模块*/

void quit(struct shangpin *head)

{

char c;

printf("save the result,y or n?\n");

scanf(" %c",&c);

if(c=='y')

savef(head);

printf("now exit the manage system\n");

getch();

exit(0);

}

注:这个程序还有一个错误,可是我不知道怎么弄了,很久没有写C语言程序了,有一年多了,很多都不记得了,还请高手指导一两……

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。