1、c语言课程管理系统 c语言课程设计教学设备管理系统c语言课程管理系统 c语言课程设计(教学设备管理系统) 导读:就爱阅读网友为您分享以下“c语言课程设计(教学设备管理系统)”的资讯,希望对您有所帮助,感谢您对的支持!#include<graphics.h>#include<stdlib.h>#include<stdio.h>#include<conio.h>#define NULL 0#define LEN sizeof(struct equipment)struct equipmentlong number;char name20;char a
2、dr20;long date;long taishu;long price;long money;char other20;struct equipment *next;struct equipment *head,*equip,*p5,*p;int n;struct equipment *del1,*del2,*del3;struct equipment*insert(struct equipment *head,struct equipment *p);/*输入函数*/struct equipment* creat(void)struct equipment *p1,*p2;n=0;p1=
3、p2=(struct equipment*)malloc(LEN);printf("n教学设备编号为0时,退出输入!n");printf("输入教学设备编号 :");scanf("%ld",&p1->number);printf("n输入设备名称:");scanf("%s",p1->name);printf("n输入生产厂家:");scanf("%s",p1->adr);printf("n输入购置日期:");s
4、canf("%ld",&p1->date);printf("n输入台数:");scanf("%ld",&p1->taishu);printf("n输入单价:");scanf("%ld",&p1->price);p1->money=(p1->taishu)*(p1->price);printf("n输入备注:");scanf("%s",p1->other);head=NULL;while(p1
5、->number!=0)n=n+1;if(n=1) head=p1;else p2->next=p1;p2=p1;p1=(struct equipment*)malloc(LEN);printf("n输入教学设备编号:");scanf("%ld",&p1->number);if(p1->number=0) break;elseprintf("n输入设备名称:");scanf("%s",p1->name);printf("n输入生产厂家:");scanf(&q
6、uot;%s",p1->adr);printf("n输入购置日期:");scanf("%ld",&p1->date);printf("n输入台数:");scanf("%ld",&p1->taishu);printf("n输入单价:");scanf("%ld", &p1->price);p1->money=(p1->taishu)*(p1->price);printf("n输入备注:"
7、;);scanf("%s",p1->other);p2->next=NULL;return(head);void print()clrscr();gotoxy(33,0);printf("16-80|1030,30=4(2)5*中南工业大学教学设备明细账*");gotoxy(3,5);printf("设备编号 设备名称 生产厂家 购置日期 台数 单价 金额 备注n");void print1()int i,j;for(i=0;i<=8;i+)line(70*i+16,60,70*i+16,60+36*(n+1);fo
8、r(j=0;j<=n+1;j+)line(16,60+36*j,70*8+16,60+36*j);/*显示函数*/void output(struct equipment* head)struct equipment*p;p=head;print();if(head!=NULL)doprintf("n%-9ld%-9s%-9s%-9ld%-9ld%-9ld%-9ld%-9s n",p->number,p->name,p->adr,p->date,p->taishu,p->price,p->money,p->other);
9、p=p->next;while(p!=NULL);print1();getch();/*修改函数*/void change(struct equipment* head)struct equipment *p;long num;cleardevice();for(;)printf("n请输入要修改的设备编号:");scanf("%ld",&num);p=head;while(num!=p->number&&p->next!=NULL)p=p->next;if(num!=p->number)printf
10、("n对不起,无此记录!按任意键返回!");getch();break;elseprintf("n请输入新的设备记录:");printf("n输入教学设备编号:");scanf("%ld",&p->number);printf("n输入教学设备名称:");scanf("%s",p->name); printf("n输入生产厂家:");scanf("%s",p->adr);printf("n输入购置日期
11、:");scanf("%ld",&p->date);printf("n输入台数:");scanf("%ld",&p->taishu);printf("n输入单价:");scanf("%ld",&p->price);p->money=(p->taishu)*(p->price);printf("n输入备注:");scanf("%s",p->other);printf("n是
12、否继续退出,Y/N?");if(getch()!='y') break;/*查找函数*/void search(struct equipment* head) struct equipment *p;char choice;long key;doclrscr();if(head=NULL)printf("n 无此记录!");printf("n请输入要查找的设备编号:");scanf("%ld",&key);p=head;while(key!=p->number&&p->ne
13、xt!=NULL)p=p->next;if(key=p->number)print();print1();printf("n %-9ld%-9s%-9s%-9ld%-9ld%-9ld%-9ld%-9s",p->number,p->name,p->adr,p->date,p->taishu,p->price,p->money,p->other);printf("n");elseprintf("n无此编号,请按任意键返回!");getch();printf("n您是否需
14、要继续查找?(y/n)n");choice=getch();while(choice='y');/*删除函数*/struct equipment *del(struct equipment *head) struct equipment *p1,*p2;long number;int b=0;doclrscr();if(head=NULL)printf("n无此记录!n");return(head);elseb=0;if(del1=NULL) b=b+1;if(del2=NULL) b=b+1;if(del3=NULL) b=b+1;if(b!=0
15、)printf("n回收站还有%d的空间!",b);elseprintf("n回收站已满,无法再删除!");printf("n请输入要删除的教学设备编号:");scanf("%ld",&number);p1=head;while(number!=p1->number&&p1->next!=NULL)p2=p1;p1=p1->next; if(number=p1->number)printf("n进行逻辑删除还是物理删除,Y/N?");if(getc
16、h()='y')if(del1=NULL) del1=p1;else if(del2=NULL) del2=p1;else del3=p1;if(p1=head) head=p1->next;else p2->next=p1->next;printf("n已删除设备编号%ld记录!",number);b=b-1;elseprintf("n无此设备记录!");getch();printf("n是否继续删除/Y/N?");while(getch()='y');getch();return(
17、head);/*恢复函数*/struct equipment *recover(struct equipment* head) struct equipment *p0,*p1,*p2;long rec_num,a=0;cleardevice();gotoxy(1,3);doprintf("n可恢复的设备编号:");if(del1!=NULL)a=a+1;printf("n%ld",del1->number); if(del2!=NULL)a=a+1;printf("n%ld",del2->number);if(del3!
18、=NULL)a=a+1;printf("n%ld",del3->number); if(a=0)printf("n没有可恢复的数据,请按任意键退出!");getch();return(head); printf("n请输入要恢复的教学设备编号:");scanf("%ld",&rec_num);if(rec_num=del1->number)p0=del1; del1=NULL;else if(rec_num=del2->number)p0=del2;del2=NULL;else if(re
19、c_num=del3->number)p0=del3;del3=NULL;else printf("n输入错误,按任意键返回!");getch();return(head);p1=head;if(head=NULL)head=p0;p0->next=NULL;elsewhile(p0->number>p1->number)&&(p1->next!=NULL)p2=p1;p1=p1->next;if(p0->number<p1->number)if(head=p1)head=p0;p0->nex
20、t=p1;else p2->next=p0;p0->next=p1; elsep1->next=p0;p0->next=NULL;n=n+1;output(head);printf("n恢复成功,请按任意键返回!");printf("n是否继续进行恢复Y/N?");while(getch()='y');getch();return(head);/*添加函数*/struct equipment *insert(struct equipment* head,struct equipment *p)char choice
21、;p=(struct equipment*)malloc(LEN);doclrscr();printf("n请输入新的教学设备资料:");printf("n输入编号:");scanf("%ld",&p->number);printf("n输入名称:");scanf("%s",p->name);printf("n输入生产厂家:");scanf("%s",p->adr);printf("n输入购置日期:");sca
22、nf("%ld",&p->date);printf("n输入台数:");scanf("%ld",&p->taishu);printf("n 输入单价:");scanf("%ld",&p->price);p->money=(p->taishu)*(p->price);printf("n输入备注:");scanf("%s",p->other);printf("n");if(n
23、=0) n=n+1;head=p; elsep->next=head;head=p;n+;printf("n您是否要继续添加?(y/n)n");while(getch()='y');return(head);/*统计函数*/void count(struct equipment* head) int sum1=0,sum2=0,sum3=0,sum4=0,sum5=0,sum6=0,sum7=0,sum8=0;struct equipment* p;p=head;while(p) for(p=head;p!=NULL;p=p->next) sum
24、1+=p->taishu;sum2+=p->money;if(p->money<200) sum3+=p->taishu;sum4+=p->money; elseif(p->price<800) sum5+=p->taishu;sum6+=p->money; else sum7+=p->taishu;sum8+=p->money; output(head);printf("n 合计 %d %dn",sum1,sum2);n=n+1;print1();n=n-1;printf("n")
25、;printf("n");printf("n 200元以下的设备总台数及总金额: %d %d",sum3,sum4);printf("n 200-800元之间的设备总台数及总金额: %d %d",sum5,sum6);printf("n 800元以上的设备总台数及总金额: %d %d",sum7,sum8);getch();/*保存函数*/void save(struct equipment *head) FILE *fp;struct equipment *p;char name20;p=head;clearde
26、vice();printf("n请输入要保存的文件名:");scanf("%s",name);if(fp=fopen(name,"wb")=NULL)printf("n对不起!不能 建立新文件!按任意键返回!");getch();return;while(p->number!=NULL)fwrite(p,LEN,1,fp);p=p->next;printf("n保存结束,请按任意键返回!");fclose(fp);getch();/*打开函数*/struct equipment *d
27、akai(void) struct equipment *head, *p1,*p2 ;char name20;FILE *fp=NULL;cleardevice();p1=p2=(struct equipment *)malloc(LEN);printf("n请输入要打开的文件名:");head=p1;scanf("%s",name);if(fp=fopen(name,"rb")=NULL)printf("n对不起,没有该文件!请按任意键返回!");getch();fread(p1,LEN,1,fp);while
28、(!feof(fp)p2->next=p1;p2=p1;p1=(struct equipment*)malloc(LEN);fread(p1,LEN,1,fp);n+;p2->next=NULL;fclose(fp);output(head);printf("n文件已输出,请按任意键返回!");getch();return(head);main()char i;long key ,a;int drive=DETECT,mode;initgraph(&drive,&mode,"");cleardevice();setbkcolo
29、r(9);printf("16co4st8e320,130,0,360,300,70,2,4");printf("16-3|348,24=2(14)9*大学");printf("16-90|10060,60=11(13)9教学设备管理系统");printf("16-400|40017,17=8(12)9设计者:自动化0411 xxx");printf("16-250|25020,20=8(4)9请按Enter键进入");getch();for(;)cleardevice();setbkcolor
30、(9);printf("16-80|145,36=4(2)6* * * * * *菜单* * * * * *");printf("16-100|5048,48=3(7)6a输入");printf("16-400|5048,48=3(7)6b显示");printf("16-100|11048,48=3(7)6c修改");printf("16-400|11048,48=3(7)6d查找");printf("16-100|17048,48=3(7)6e删除");printf(&qu
31、ot;16-400|17048,48=3(7)6f恢复");printf("16-100|23048,48=3(7)6g添加");printf("16-400|23048,48=3(7)6h统计");printf("16-100|29048,48=3(7)6i保存");printf("16-400|29048,48=3(7)6j打开");printf("16-100|35048,48=3(7)6k退出");printf("16-350|40024,24=3(7)4请选择a至j
32、");i=getch();if(i='k')break;else switch(i)case'a':cleardevice(); creat();break;case'b':cleardevice(); output(head);break;case'c':cleardevice(); change(head);break;case'd':cleardevice(); search(head);break;case'e':cleardevice(); head=del(head);break;case
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1