C设计.docx

上传人:b****8 文档编号:9125677 上传时间:2023-02-03 格式:DOCX 页数:45 大小:22.55KB
下载 相关 举报
C设计.docx_第1页
第1页 / 共45页
C设计.docx_第2页
第2页 / 共45页
C设计.docx_第3页
第3页 / 共45页
C设计.docx_第4页
第4页 / 共45页
C设计.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

C设计.docx

《C设计.docx》由会员分享,可在线阅读,更多相关《C设计.docx(45页珍藏版)》请在冰豆网上搜索。

C设计.docx

C设计

#include

#include

#include

#include

#include

#defineLENsizeof(structdevice)

structdevice

{

charnum[10];

charkind[20];

chartype[15];

intamount;

charfen[10];

charfact[20];

charprice[8];

chardate[10];

struct*next;

};

structdevicee[23]={{"A00001","IC","LM324",100,"SOP-8","国半","¥1.00","2005-1"},

{"A00002","三极管","9013",1000,"TO-92","松下","¥0.50","2006-3"},

{"A00003","二极管","BYV30-200",450,"SOD80","PH","¥0.01","2004-3"},

{"A00004","电容器","KMH450V",980,"1206","三洋","¥0.10","2009-10"},

{"A00005","继电器","SDT-SH-106DM",98,"DIP-4","TYCO","¥20.00","2009-5"},

{"A00006","电感器","CD32-15",67,"DIP-2","村田","¥0.10","2006-06"},

{"A00007","电阻器","10k",1000,"0805","三星","¥0.10","2006-07"},

{"A00008","电位器","9032-103",500,"DIP-3","宝石","¥0.80","2009-10"},

{"A00009","石英晶体器件","SE84.7842",460,"5032","LINK","¥0.60","2005-9"},

{"A00010","光电子器件","C171CKT",500,"0805","光宝","¥0.10","2009-10"},

{"A00011","二极管","BYV30-300",450,"SOD80","PH","¥0.01","2004-3"},

{"A00012","三极管","9012",1000,"TO-92","松下","¥0.50","2006-3"},

{"A00013","继电器","SDT-SH-107DM",198,"DIP-4","TYCO","¥20.00","2009-5"},

{"A00014","电感器","CD32-17",67,"DIP-2","村田","¥0.10","2006-6"},

{"A00015","电感器","CD32-55",67,"DIP-2","村田","¥0.10","2006-6"},

{"A00016","石英晶体器件","SE18",460,"5032","LINK","¥0.60","2005-9"},

{"A00017","石英晶体器件","SE12",460,"5032","LINK","¥0.60","2005-9"},

{"A00018","石英晶体器件","SE25",460,"5032","LINK","¥0.60","2005-9"},

{"A00019","IC","LM138",100,"SOP-8","国半","¥1.00","2005-1"},

{"A00020","IC","LM356",100,"SOP-8","国半","¥1.00","2005-1"},

{"A00021","IC","LM244",100,"SOP-20","国半","¥1.00","2005-1"},

{"A00022","其他","DC-20",111,"DIP-31","无","¥1.90","2009-12"},

{"A00023","其他","DC-40",112,"DIP-32","无","¥2.90","2009-10"}};

structdevice*p;

structdevice*zhi;/*改指针在所有子函数中均能用*/

/*以下是函数原型的说明*/

voidInputData();

voidmydisplay();

voidmyadd();

voidmydelete();

voidmydelete1();

voidmysearch();

voidmysort();

voidmymodify();

voidmyall();

voidwe();

voidprint();

voidmycount();

/*统计里面在定义按不同方式统计的函数*/

voidmy1();

voidmy2();

voidmy3();

voidmy4();

voidmy5();

voidmy6();

intx=0;/*统计添加的个数*/

voidmain()//主程序

{

intchoose;

charyes_no;

we();

printf("请按回车进入下一页\n");

getchar();

system("cls");

do

{

system("cls");

mydisplay();/*调用显示主菜单的函数*/

printf("请输入操作代码的序号:

");

scanf("%d",&choose);

system("cls");/*清屏函数*/

switch(choose)

{

case1:

myadd();break;/*调用添加元器件的函数,在添加函数里还要调用保存的函数*/

case2:

mydelete();break;/*调用删除元器件的函数*/

case3:

mysearch();break;/*调用查找元器件的函数*/

case4:

mysort();break;/*调用排序的函数*/

case5:

mycount();break;/*调用统计的函数*/

case6:

myall();break;/*调用显示所有元器件的函数*/

case7:

mymodify();break;

case8:

exit(0);break;

case0:

break;

default:

printf("\n%c为非法选项!

\n",choose);

}

printf("\n要继续选择吗(Y/N)?

\n");

do

{

yes_no=getchar();

}

while(yes_no!

='Y'&&yes_no!

='y'&&yes_no!

='N'&&yes_no!

='n');

}

while(yes_no!

='N'&&yes_no!

='n');

}

voidmyall()//定义显示所有元件的函数

{

intn,i,m=0,a;

printf("编号\t类型\t\t\t型号\t数目\t封装\t厂家\t价格\t生产日期\n");

do

{

for(i=m;i

{

printf("%6s\t%8s\t%12s\t%d\t%4s\t%6s\t%4s\t%4s\n",e[i].num,e[i].kind,e[i].type,e[i].amount,e[i].fen,e[i].fact,e[i].price,e[i].date);

printf("\n");

}

printf("按1进入下一页2上一页\n");

scanf("%d",&a);

system("cls");

printf("编号\t类型\t\t\t型号\t数目\t封装\t厂家\t价格\t生产日期\n");

if(a==1)

{

m=m+6;

continue;

}

if(a==2)

{

if(m==0)

break;

m=m-6;

continue;

}

}

while(m<20);

system("cls");

printf("__________________________________________________\n");

printf("是否显示用户之前添加的原件?

按数字1键选是,数字0否\n");

printf("__________________________________________________\n");

scanf("%d",&n);

system("cls");

if(n==1)

print(zhi);

else

;

}

/***********************************************************/

voidwe()//定义显示主界面的函数

{

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

printf("C语言课程设计之电子元器件信息管理系统\n");

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

printf("指导教师:

*大宇*\n");

printf("\n");

printf("组长:

梅奥\n");

printf("\n");

printf("小组成员:

\n");

printf("\n");

printf("______________________________________\n");

printf("排|梅奥(查找)\n");

printf("名|\n");

printf("不|李岿然(删除)\n");

printf("分|\n");

printf("先|李建邦,吕博文(排序)\n");

printf("后|\n");

printf("!

|石文强,胡基鹏(添加)\n");

printf("|\n");

printf("|马力,刘彪(统计)\n");

printf("|\n");

printf("|许峥,汪朝鹏(修改)\n");

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

printf("制作时间:

\n");

printf("2010-06-08\n");

printf("\n");

}

voidmydisplay()//定义显示主菜单的函数

{

printf("欢迎进入电子元器件信息管理系统!

\n");

printf("\n");

printf("\n");

printf("\n");

printf("***********************请输入你要操作的代号(从以下序号中选取)*******************\n");

printf("1添加元器件2删除元器件3查找元器件\n");

printf("4排序5统计元器件6显示所有元器件的信息\n");

printf("7修改8退出\n");

}

/****************************************************/

voidmysearch()//定义查找的函数

{

structdevice*p1;

intcount1=0,count2=0;

intn,d;

charb[10],r[10],f[10],m[15];

printf("欢迎进入查找操作系统!

\n");

printf("\n");

printf("请输入操作序号\n");

printf("\n");

printf("_____________________________________________________________\n");

printf("1按编号查找2按生产日期查找3按封装查找4按名称查找\n");

printf("_____________________________________________________________\n");

scanf("%d",&n);

if(n==1)

{

p1=zhi;

printf("请输入元器件的编号,提示:

器件编号范围从A00001开始.请勿输错!

\n");

do

{

printf("编号:

");

scanf("%s",&b);

printf("\n");

printf("编号\t类型\t\t\t型号\t数目\t封装\t厂家\t价格\t生产日期\n");

for(p=e;p

{

if(strcmp(b,p->num)==0)

{

printf("%6s\t%8s\t%12s\t%d\t%4s\t%6s\t%4s\t%4s\n",p->num,p->kind,p->type,p->amount,p->fen,p->fact,p->price,p->date);

count1++;

}

else

;

}

while(p1!

=NULL)

{

if(strcmp(b,p1->num)==0)

{

printf("%6s\t%8s\t%12s\t%d\t%4s\t%6s\t%4s\t%4s\n",p1->num,p1->kind,p1->type,p1->amount,p1->fen,p1->fact,p1->price,p1->date);

count2++;

}

else

;

p1=p1->next;

}

if(count1==0&&count2==0)

{

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

printf("你所查找的器件不存在,请重新输入!

\n");

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

printf("\n");

printf("按数字1键重新输入编号数字0键退出查找!

\n");

scanf("%d",&d);

}

else

break;

}

while(d!

=0);

}

elseif(n==2)

{

p1=zhi;

printf("请输入你要查询器件的生产日期\n");

printf("注意:

日期的输入格式为:

年份-月份\n");

do

{

printf("日期:

");

scanf("%s",&r);

printf("\n");

printf("编号\t类型\t\t\t型号\t数目\t封装\t厂家\t价格\t生产日期\n");

for(p=e;p

{

if(strcmp(r,p->date)==0)

{

printf("%6s\t%8s\t%12s\t%d\t%4s\t%6s\t%4s\t%4s\n",p->num,p->kind,p->type,p->amount,p->fen,p->fact,p->price,p->date);

count1++;

}

else

;

}

while(p1!

=NULL)

{

if(strcmp(r,p1->date)==0)

{

printf("%6s\t%8s\t%12s\t%d\t%4s\t%6s\t%4s\t%4s\n",p1->num,p1->kind,p1->type,p1->amount,p1->fen,p1->fact,p1->price,p1->date);

count2++;

}

else

;

p1=p1->next;

}

if(count1==0&&count2==0)

{

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

printf("你所查找的器件不存在,请重新输入!

\n");

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

printf("\n");

printf("按数字1键重新输入时间数字0键退出查找!

\n");

scanf("%d",&d);

}

else

break;

}

while(d!

=0);

}

elseif(n==3)

{

p1=zhi;

printf("请输入你要查询器件的封装\n");

printf("封装型号中字母要大写\n");

do

{

printf("封装:

");

scanf("%s",&f);

printf("\n");

printf("编号\t类型\t\t\t型号\t数目\t封装\t厂家\t价格\t生产日期\n");

for(p=e;p

{

if(strcmp(f,p->fen)==0)

{

printf("%6s\t%8s\t%12s\t%d\t%4s\t%6s\t%4s\t%4s\n",p->num,p->kind,p->type,p->amount,p->fen,p->fact,p->price,p->date);

count1++;

}

else

;

}

while(p1!

=NULL)

{

if(strcmp(f,p1->fen)==0)

{

printf("%6s\t%8s\t%12s\t%d\t%4s\t%6s\t%4s\t%4s\n",p1->num,p1->kind,p1->type,p1->amount,p1->fen,p1->fact,p1->price,p1->date);

count2++;

}

else

;

p1=p1->next;

}

if(count1==0&&count2==0)

{

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

printf("你所查找的器件不存在,请重新输入!

\n");

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

printf("\n");

printf("按数字1键重新输入封装数字0键退出查找!

\n");

scanf("%d",&d);

}

else

break;

}

while(d!

=0);

}

elseif(n==4)

{

p1=zhi;

printf("请输入您要查找元器件的名称\n");

printf("名称:

\n");

do

{

scanf("%s",&m);

printf("\n");

printf("编号\t类型\t\t\t型号\t数目\t封装\t厂家\t价格\t生产日期\n");

for(p=e;p

{

if(strcmp(m,p->kind)==0)

{

printf("%6s\t%8s\t%12s\t%d\t%4s\t%6s\t%4s\t%4s\n",p->num,p->kind,p->type,p->amount,p->fen,p->fact,p->price,p->date);

count1++;

}

else

;

}

while(p1!

=NULL)

{

if(strcmp(m,p1->kind)==0)

{

printf("%6s\t%8s\t%12s\t%d\t%4s\t%6s\t%4s\t%4s\n",p1->num,p1->kind,p1->type,p1->amount,p1->fen,p1->fact,p1->price,p1->date);

count2++;

}

else

;

p1=p1->next;

}

if(count1==0&&count2==0)

{

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

printf("你所查找的器件不存在,请重新输入!

\n");

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

printf("\n");

printf("按数字1键重新输入封装数字0键退出查找!

\n");

scanf("%d",&d);

}

else

break;

}

while(d!

=0);

}

}

/**************************************/

voidmycount()//定义统计的函数

{

inti;

printf("\n");

printf("**************欢迎进入统计界面***************\n");

printf("\n");

printf("\n");

printf("请输入你要统计的类型\n");

printf("\n");

printf("1,类型2,型号3,厂家0,退出统计\n");

scanf("%d",&i);

switch(i)

{

case1:

my1();break;

case2:

my2();break;

case3:

my3();break;

case0:

break;

default:

printf("error\n");

}

}

voidmy1()

{

structdevice*p1;

inti;

structdevice*t[5];

charkind[10];

intcount1=0,count2=0;

printf("请输入你统计的类型:

");

scanf("%s",kind);

for(p=e;p

{

if(strcmp(p->kind,kind)==0)

{

count1++;

t[count1-1]=p;

}

else

;

}

p1=zhi;

while(p1!

=NULL)

{

if(strcmp(p1->kind,kind)==0)

count2++;

else

;

p1=p1->next;

}

printf("%s共有%d种:

\n",kind,count1+count2);

for(i=0;i

{

pri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1