1、C设计#include#include#include#include#include#define LEN sizeof(struct device)struct devicechar num10;char kind20;char type15;int amount;char fen10;char fact20;char price8;char date10;struct*next; struct device e23=A00001,IC,LM324,100,SOP-8,国半,¥1.00,2005-1, A00002,三极管,9013,1000,TO-92,松下,¥0.50,2006-3,
2、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,石英晶体器件,SE
3、84.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
4、-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,其他
5、,DC-20,111,DIP-31,无,¥1.90,2009-12, A00023,其他,DC-40,112,DIP-32,无,¥2.90,2009-10; struct device*p; struct device*zhi;/*改指针在所有子函数中均能用*/*以下是函数原型的说明*/void InputData();void mydisplay();void myadd();void mydelete();void mydelete1( );void mysearch();void mysort();void mymodify();void myall();void we();void p
6、rint();void mycount();/*统计里面在定义按不同方式统计的函数*/void my1();void my2();void my3();void my4();void my5();void my6();int x=0;/*统计添加的个数*/void main()/主程序 int choose; char yes_no; we(); printf(请按回车进入下一页n); getchar(); system(cls); do system(cls); mydisplay(); /*调用显示主菜单的函数*/ printf(请输入操作代码的序号:); scanf(%d,&choose
7、); system(cls); /*清屏函数*/ switch(choose) case 1: myadd();break;/*调用添加元器件的函数,在添加函数里还要调用保存的函数*/ case 2: mydelete();break;/*调用删除元器件的函数*/ case 3: mysearch();break;/*调用查找元器件的函数*/ case 4: mysort();break;/*调用排序的函数*/ case 5: mycount();break;/*调用统计的函数*/ case 6: myall();break;/*调用显示所有元器件的函数*/ case 7: mymodify(
8、);break; case 8: exit(0);break; case 0: 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);void myall()/定义显示所有元件的函数 int n,i,m=0,a; printf(编号t 类型ttt型号t数目t封装t 厂家t价格t生产日期n); do for(i=m;im+6
9、;i+) printf(%6st%8st%12st%dt%4st%6st%4st%4sn,ei.num,ei.kind,ei.type,ei.amount,ei.fen,ei.fact,ei.price,ei.date); printf(n); printf(按1进入下一页 2 上一页 n); scanf(%d,&a); system(cls); printf(编号t 类型ttt型号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(m20); system(c
10、ls); printf( _n); printf( 是否显示用户之前添加的原件? 按数字1键选是,数字0否n); printf( _n); scanf(%d,&n); system(cls); if(n=1) print(zhi); else ;/*/void we()/定义显示主界面的函数 printf( *n); printf( C语言课程设计之电子元器件信息管理系统n); printf( *n); printf(指导教师:*大宇*n); printf(n); printf(组长:梅奥n); printf(n); printf(小组成员:n); printf(n); printf( _n)
11、; 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-08n); printf(n); void mydisplay()/定义显示主菜单的
12、函数 printf( 欢迎进入电子元器件信息管理系统! n); printf(n); printf(n); printf(n); printf(*请输入你要操作的代号(从以下序号中选取)*n); printf( 1 添加元器件 2 删除元器件 3 查找元器件n); printf( 4 排序 5 统计元器件 6 显示所有元器件的信息n); printf( 7 修改 8 退出n);/*/void mysearch()/定义查找的函数 struct device*p1; int count1=0,count2=0; int n,d; char b10,r10,f10,m15; printf( 欢迎进
13、入查找操作系统!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 类型ttt型号t数目t封装t 厂家t价格t生产日期n); for(p=e;pnum)=0) pri
14、ntf(%6st%8st%12st%dt%4st%6st%4st%4sn,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(%6st%8st%12st%dt%4st%6st%4st%4sn,p1-num,p1-kind,p1-type,p1-amount,p1-fen,p1-fact,p1-price,p1-date); count2+; else ; p1=p1-next; if(count1=0&co
15、unt2=0) printf( *n); printf( 你所查找的器件不存在,请重新输入!n); printf( *n); printf(n); printf( 按数字1键重新输入编号 数字0键退出查找!n); scanf(%d,&d); else break; while(d!=0); else if(n=2) p1=zhi; printf( 请输入你要查询器件的生产日期n); printf( 注意:日期的输入格式为:年份-月份n); do printf(日期:); scanf(%s,&r); printf(n); printf(编号t 类型ttt型号t数目t封装t 厂家t价格t生产日期n
16、); for(p=e;pdate)=0) printf(%6st%8st%12st%dt%4st%6st%4st%4sn,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(%6st%8st%12st%dt%4st%6st%4st%4sn,p1-num,p1-kind,p1-type,p1-amount,p1-fen,p1-fact,p1-price,p1-date); count2+; else ; p
17、1=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); else if(n=3) p1=zhi; printf( 请输入你要查询器件的封装n); printf( 封装型号中字母要大写n); do printf(封装:); scanf(%s,&f); printf(n); printf(编号t 类型ttt型号t数目
18、t封装t 厂家t价格t生产日期n); for(p=e;pfen)=0) printf(%6st%8st%12st%dt%4st%6st%4st%4sn,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(%6st%8st%12st%dt%4st%6st%4st%4sn,p1-num,p1-kind,p1-type,p1-amount,p1-fen,p1-fact,p1-price,p1-date); cou
19、nt2+; 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); else if(n=4) p1=zhi; printf( 请输入您要查找元器件的名称n); printf(名称:n); do scanf(%s,&m); printf(n); printf(编号t 类型ttt型号t数目t封装t 厂
20、家t价格t生产日期n); for(p=e;pkind)=0) printf(%6st%8st%12st%dt%4st%6st%4st%4sn,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(%6st%8st%12st%dt%4st%6st%4st%4sn,p1-num,p1-kind,p1-type,p1-amount,p1-fen,p1-fact,p1-price,p1-date); count2+
21、; 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); /*/void mycount()/定义统计的函数 int i; printf(n); printf( *欢迎进入统计界面*n); printf(n); printf(n); printf( 请输入你要统计的类型n); printf(n)
22、; printf( 1,类型 2,型号 3,厂家 0,退出统计 n); scanf(%d,&i); switch(i) case 1:my1();break; case 2:my2();break; case 3:my3();break; case 0:break; default:printf(errorn); void my1() struct device*p1; int i; struct device*t5; char kind10; int count1=0,count2=0; printf(请输入你统计的类型:); scanf(%s,kind); for(p=e;pkind,kind)=0) count1+; tcount1-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;icount1;i+) pri
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1