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

2020-02-28 其他范文 下载本文

C语言课程设计 仓库管理系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言数据库课程设计”。

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%14sn”,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(“nn要查找的仓库信息如下:n”);

printf(“n”);

printf(“

*********************************************************************n”);

printf(“

**

编号

名称

面积

说明n”);

printf(“

-------n”);{

printf(“%17d%13s%20f%14sn”,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(“nn要删除的仓库信息如下:n”);

printf(“n”);

printf(“

*********************************************************************n”);

printf(“

**

编号

名称

面积

说明n”);

printf(“

-------n”);{

printf(“%17d%13s%20f%14sn”,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(“nn要修改的仓库信息如下:n”);

printf(“n”);

printf(“

*********************************************************************n”);

printf(“

**

编号

名称

面积

说明n”);

printf(“

-------n”);

{

printf(“%17d%13s%20f%14sn”,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

《C语言课程设计 仓库管理系统.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言课程设计 仓库管理系统
点击下载文档
相关专题 c语言数据库课程设计 课程设计 语言 仓库管理系统 c语言数据库课程设计 课程设计 语言 仓库管理系统
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文