C语言课程设计 仓库管理系统

2020-03-03 03:47:57 来源:范文大全收藏下载本文

C语言课程设计 仓库管理系统

#include

struct cangku {

int num;

char name[20];

char introdution[50];

float square;

}; typedef struct cangku Cangku;

int Input(Cangku t[]); void List(Cangku t[],int n); void SearchOnName(Cangku t[],int n); int DeleteRecord(Cangku t[],int n); int AlterRecord(Cangku t[],int n); int AddRecord(Cangku t[],int n); void SortOnName(Cangku t[],int n); void SortOnSquare(Cangku t[],int n); void SaveRecord(Cangku t[],int n); int LoadRecord(Cangku t[]); int LoadRecord1(Cangku t[]); void Save(Cangku t[],int n); void Load(Cangku t[],int n); void Load1(Cangku t[]); int Menu_select();

void main() {

Cangku ck[50]; int i,l,length,w=1; int q[4]={5,2,1,0};

system(\"cls\"); printf(\"请输入第1个密码:\\n\"); for (i=0;i

{

scanf(\"%d\",&l);

system(\"cls\");

if(l==q[i])

printf(\"正确,继续输入第%d个密码:.\\n\",i+2);

else

{

w=0;

printf (\"输入错误!\\n\");

break;

} }

while(w)

{

switch(Menu_select())

{

case 1:

length=Input(ck);

SaveRecord(ck,length);

break;

case 2:

length=LoadRecord(ck);

SearchOnName(ck,length);

break;

case 3:

length=LoadRecord(ck);

length=DeleteRecord(ck,length);

SaveRecord(ck,length);

break;

case 4:

length=LoadRecord(ck);

length=AlterRecord(ck,length);

SaveRecord(ck,length);

break;

case 5:

length=LoadRecord(ck);

length=AddRecord(ck,length);

SaveRecord(ck,length);

break;

case 6:

length=LoadRecord(ck);

system(\"cls\");

List(ck,length);

break;

case 7:

length=LoadRecord(ck);

system(\"cls\");

SortOnName(ck,length);

SaveRecord(ck,length);

break;

case 8:

length=LoadRecord(ck);

system(\"cls\");

SortOnSquare(ck,length);

SaveRecord(ck,length);

break;

case 9:

length=LoadRecord(ck);

system(\"cls\");

Save(ck,length);

break;

case 0:

length=LoadRecord1(ck);

Load1(ck);

system(\"cls\");

Load(ck,length);

break;

case 10: exit(0);

}

} }

int Menu_select() { int c;

printf(\"按任意键进入仓库管理菜单\\n\");

getchar();

system(\"cls\");

system(\"color F0\"); 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(\"

*

0.恢复

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

*

10.退出

*\\n\");

printf(\"

*********************************************************************\\n\"); do {

printf(\"\\n输入您想要进行的操作选项键(0-10):\");

if(scanf(\"%d\",&c)!=1)

{

while(getchar()!=\'\\n\')

continue;

} }

while(c10); return c; }

int Input(Cangku t[]) { int i,n;

system(\"cls\");

printf(\"\\n请输入要输入的仓库数目:\\n\");

scanf(\"%d\",&n);

printf(\"开始输入仓库信息:\\n\");

for(i=0;i

{

system(\"cls\");

printf(\"\\n第%d个仓库的编号:\",i+1);

scanf (\"%d\",&t[i].num);

printf(\"第%d个仓库的名称:\",i+1);

scanf (\"%s\",t[i].name);

printf(\"第%d个仓库的面积:\",i+1);

scanf (\"%f\",&t[i].square);

printf(\"第%d个仓库的说明:\",i+1);

scanf (\"%s\",t[i].introdution); }

return (n); }

void List(Cangku t[],int n) { int i;

printf(\"

*********************************************************************\\n\");

printf(\"

**

编号

名称

面积

说明\\n\");

printf(\"

-------\\n\"); for(i=0;i

printf(\"%17d%13s%20f%14s\\n\",t[i].num,t[i].name,t[i].square,t[i].introdution); }

printf(\"

*********************************************************************\\n\");

printf (\"\\n\"); getchar(); } void SearchOnName(Cangku t[],int n) { char s[20];

int i,flag=0;

system(\"cls\");

printf(\"请输入要查找的仓库名称:\\n\");

scanf(\"%s\",s);

for(i=0;i

{

if(strcmp(s,t[i].name)==0)

{

flag=1;

system(\"cls\");

printf(\"\\n\\n要查找的仓库信息如下:\\n\");

printf(\"\\n\");

printf(\"

*********************************************************************\\n\");

printf(\"

**

编号

名称

面积

说明\\n\");

printf(\"

-------\\n\"); {

printf(\"%17d%13s%20f%14s\\n\",t[i].num,t[i].name,t[i].square,t[i].introdution); }

printf(\"

*********************************************************************\\n\");

printf (\"\\n\");

} }

if(flag==0)

printf(\"要查找的仓库不存在!!\\n\"); getchar(); } int DeleteRecord(Cangku t[],int n) {

char s[20];

char ch;

int i,j,flag=0;

system(\"cls\");

printf(\"请输入要删除的仓库名称\\n\");

scanf(\"%s\",s);

for(i=0;i

if(strcmp(s,t[i].name)==0)

{

flag=1;

system(\"cls\");

printf(\"\\n\\n要删除的仓库信息如下:\\n\");

printf(\"\\n\");

printf(\"

*********************************************************************\\n\");

printf(\"

**

编号

名称

面积

说明\\n\");

printf(\"

-------\\n\"); {

printf(\"%17d%13s%20f%14s\\n\",t[i].num,t[i].name,t[i].square,t[i].introdution); }

printf(\"

*********************************************************************\\n\");

printf (\"\\n\");

printf(\"确定删除仓库信息吗?(Y/N)\\n\");

ch=getchar();

ch=getchar();

if(ch==\'Y\'||ch==\'y\')

{

for(j=i;j

t[j]=t[j+1];

n--;

i--;

printf (\"删除成功.\\n\");

}

}

}

if(flag==0)

printf(\"要删除的仓库不存在!!\\n\");

getchar();

return n; }

int AlterRecord(Cangku t[],int n) {

int i,flag=0;

char s[20],ch;

system(\"cls\");

printf(\"请输入要修改的仓库名称\\n\");

scanf(\"%s\",s);

for(i=0;i

{

if(strcmp(s,t[i].name)==0)

{

flag=1;

system(\"cls\");

printf(\"\\n\\n要修改的仓库信息如下:\\n\");

printf(\"\\n\");

printf(\"

*********************************************************************\\n\");

printf(\"

**

编号

名称

面积

说明\\n\");

printf(\"

-------\\n\");

{

printf(\"%17d%13s%20f%14s\\n\",t[i].num,t[i].name,t[i].square,t[i].introdution);

}

printf(\"

*********************************************************************\\n\");

printf (\"\\n\");

printf(\"确定修改仓库信息吗?(Y/N)\\n\");

ch=getchar();

ch=getchar();

if(ch==\'y\'||ch==\'Y\')

{

system(\"cls\");

printf(\"请输入修改后的信息:\\n\");

printf(\"请输入仓库新的名称:\");

scanf(\"%s\",t[i].name);

printf(\"请输入%s仓库新的编号:\",t[i].name);

scanf(\"%d\",&t[i].num);

printf(\"请输入%s仓库新的面积:\",t[i].name);

scanf(\"%f\",&t[i].square);

printf(\"请输入%s仓库新的说明:\",t[i].name);

scanf(\"%s\",t[i].introdution);

}

}

}

if(flag==0)

printf(\"要修改的仓库不存在!!\\n\");

getchar();

return n; }

int AddRecord(Cangku t[],int n) {

int i,m;

system(\"cls\");

printf(\"\\n请输入再增加的记录数:\\n\");

scanf(\"%d\",&m);

printf(\"开始追加记录\\n\");

for(i=n;i

{ system(\"cls\");

printf(\"\\n第%d个仓库的编号:\",i+1);

scanf(\"%d\",&t[i].num);

printf(\"第%d个仓库的名称:\",i+1);

scanf(\"%s\",t[i].name);

printf(\"第%d个仓库的面积:\",i+1);

scanf(\"%f\",&t[i].square);

printf(\"第%d个仓库的说明:\",i+1);

scanf(\"%s\",t[i].introdution);

}

return (n+m); }

void SortOnName(Cangku t[],int n) { int i,j;

struct cangku temp ;

for(j=1;j

for(i=0;i

if((strcmp(t[i].name,t[i+1].name))>0)

{

temp=t[i];

t[i]=t[i+1];

t[i+1]=temp;

}

printf(\"排序成功!!!\\n\");

printf(\"排序后仓库信息列表如下:\\n\");

List(t,n); }

void SortOnSquare(Cangku t[],int n) { int i,j;

struct cangku temp ;

for(j=1;j

for(i=0;i

if(t[i].square

{

temp=t[i];

t[i]=t[i+1];

t[i+1]=temp;

}

printf(\"排序成功!!!\\n\");

printf(\"排序后仓库信息列表如下:\\n\");

List(t,n); }

void SaveRecord(Cangku t[],int n) { int i;

FILE *fp;

if((fp=fopen(\"record.txt\",\"w\"))==NULL)

{

printf(\"不能打开文件!\\n\");

exit(1); }

for(i=0;i

{

fwrite(&t[i],sizeof(struct cangku),1,fp);

}

fclose(fp); }

int LoadRecord(Cangku t[]) {

int n=0;

FILE *fp;

if((fp=fopen(\"record.txt\",\"a+\"))==NULL)

{

printf(\"不能打开文件!\\n\");

exit(1); }

while(fread(&t[n],sizeof(struct cangku),1,fp)) n++;

fclose(fp);

printf(\"从文件中成功读出记录!!!\\n\");

return n; } int LoadRecord1(Cangku t[]) {

int n=0;

FILE *fp;

if((fp=fopen(\"bkrecord.txt\",\"a+\"))==NULL)

{

printf(\"不能打开文件!\\n\");

exit(1); }

while(fread(&t[n],sizeof(struct cangku),1,fp)) n++;

fclose(fp);

printf(\"从文件中成功读出记录!!!\\n\");

return n; } void Save(Cangku t[],int n) { int i;

FILE *fp;

if((fp=fopen(\"bkrecord.txt\",\"w\"))==NULL)

{

printf(\"不能打开文件!\\n\");

exit(1); }

for(i=0;i

{

fwrite(&t[i],sizeof(struct cangku),1,fp);

}

fclose(fp);

printf(\"备份成功.\\n\");

getchar(); }

void Load1(Cangku t[]) {

int n=0;

FILE *fp;

if((fp=fopen(\"bkrecord.txt\",\"a+\"))==NULL)

{

printf(\"不能打开文件!\\n\");

exit(1);

} while

(fread(&t[n],sizeof(struct cangku),1,fp)) n++;

fclose(fp);

getchar(); }

void Load(Cangku t[],int n) { int i;

FILE *fp;

if((fp=fopen(\"record.txt\",\"w\"))==NULL)

{

printf(\"不能打开文件!\\n\");

exit(1); }

for(i=0;i

{

fwrite(&t[i],sizeof(struct cangku),1,fp);

}

fclose(fp);

printf(\"恢复成功.\\n\"); }1

1

C语言课程设计销售管理系统报告

C语言课程设计报告——教务管理系统

C语言课程设计通讯录管理

C语言课程设计

C语言课程设计

C语言课程设计

C语言课程设计

C语言课程设计

C语言课程设计

C语言课程设计

《C语言课程设计 仓库管理系统.doc》
C语言课程设计 仓库管理系统
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文