欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新VC--综合实验-图书馆管理系统.doc

    • 资源ID:47984423       资源大小:176.50KB        全文页数:80页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新VC--综合实验-图书馆管理系统.doc

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateVC-综合实验-图书馆管理系统VC+综合实验 图书馆管理系统VC+综合实验 图书馆管理系统.txt都是一个山的狐狸,你跟我讲什么聊斋,站在离你最近的地方,眺望你对别人的微笑,即使心是百般的疼痛只为把你的一举一动尽收眼底刺眼的白色,让我明白什么是纯粹的伤害。#include<stdio.h>#include<stdlib.h>#include<string.h>#define LENGTH 20#define SUBJECT 10char subcallSUBJECTLENGTH;int num_of_stu=0;int num_of_sub=0;struct datachar nameLENGTH;char numLENGTH;float scoreSUBJECT;float sum;float aver;struct data *next;void Menu(void);struct data *Append(struct data*);void Check(struct data*);void Modify(struct data*);void List(struct data*);void Search(struct data*);struct data *Delete(struct data*);struct data *Sort1(struct data*,int (*g)(float,float);void Sort2(struct data*,int (*g)(float,float);int descend(float,float);int ascend(float,float);void main()Menu();void Menu(void)char *choice9="1.Append record","2.Check record","3.Modify record","4.List record","5.Search record","6.Delete record","7.Sort score in descending order","8.Sort score in ascending order","0.exit"struct data *head=NULL;char reply,c;int n=0,k,i;for(i=0;i<9;i+)k=strlen(choicei);n=(n>k)?n:k;while(1)system("cls");printf("ttWelcome to the Students' Score Management Systemn"); printf("ttt-n"); for(i=0;i<9;i+) printf("ttt| %s",choicei); k=strlen(choicei); for(;n-k>0;k+) putchar(' '); printf("|n");printf("ttt-n");while(1)printf("Please input your choice:"); reply=getchar(); if(reply='n')continue;elsec=getchar();if(reply>='0'&&reply<='8'&&c='n')break;else if(c!='n')while(c=getchar()!='n');printf("There is no such choice!n");if(reply>'1'&&head=NULL)printf("There is no data stored!n");else switch(reply) case'1':head=Append(head);break; case'2':Check(head);break; case'3':Modify(head);break; case'4':List(head);break; case'5':Search(head);break; case'6':head=Delete(head);break; case'7':Sort2(head,descend);break; case'8':Sort2(head,ascend);break; default:while(1) printf("Do you really want to exit(Y/N or y/n)?"); reply=getchar();if(reply='n')continue;elsec=getchar();if(reply='Y'|reply='N'|reply='y'|reply='n')&&c='n')break;else if(c!='n')while(c=getchar()!='n');if(reply='Y'|reply='y')free(head);return;while(1) printf("Press ENTER to continue:");scanf("%c",&reply);if(reply='n')break;elsewhile(c=getchar()!='n');struct data *Append(struct data *head)struct data *p;char reply,c;int i;system("cls");if(head=NULL)p=head=(struct data*)malloc(sizeof(struct data);printf("How many subjects do you want to record(n<=%d)?",SUBJECT);scanf("%d%*c",&num_of_sub);for(i=0;i<num_of_sub;i+)printf("Please input subject%d's name:",i+1);scanf("%s%*c",subcalli);elsefor(p=head;p->next!=NULL;p=p->next);p->next=(struct data*)malloc(sizeof(struct data);p=p->next; loop:printf("Please input the student's name:");scanf("%s%*c",p->name);printf("Please input the student's number:");scanf("%s%*c",p->num);p->sum=0;for(i=0;i<num_of_sub;i+)printf("Please input the student's %s score:",subcalli);scanf("%f%*c",&p->scorei);p->sum+=p->scorei;p->aver=p->sum/num_of_sub;num_of_stu+;while(1) printf("Do you want to go on appending(Y/N or y/n)?"); reply=getchar();if(reply='n')continue;elsec=getchar();if(reply='Y'|reply='N'|reply='y'|reply='n')&&c='n')break;else if(c!='n')while(c=getchar()!='n');if(reply='Y'|reply='y')p->next=(struct data*)malloc(sizeof(struct data);p=p->next;goto loop;elsep->next=NULL;return head;void Check(struct data *head)struct data *p,*q;struct data *t=(struct data*)malloc(num_of_stu/2*sizeof(struct data*);int minlim,maxlim,n=0,i;system("cls");for(p=head;p!=NULL;p=p->next)for(i=0;i<n;i+)if(strcmp(p->name,(*(t+i)->name)=0)break;if(i<n)continue;for(q=p->next;q!=NULL;q=q->next)if(strcmp(p->name,q->name)=0)printf("Name %s has been inputed repeatedly!n",p->name);*(t+n)=p;n+;break;printf("Altogether %d name has been repeatedly inputed.n",n);n=0;for(p=head;p!=NULL;p=p->next)for(i=0;i<n;i+)if(strcmp(p->num,(*(t+i)->num)=0)break;if(i<n)continue;for(q=p->next;q!=NULL;q=q->next)if(strcmp(p->num,q->num)=0)printf("Student's number %s has been inputed repeatedly!n",p->num);*(t+n)=p;n+;break;printf("Altogether %d number has been repeatedly inputed.n",n);free(t);n=0;printf("Now check datan");printf("Please input the minimum limit:");scanf("%d%*c",&minlim);printf("Please input the maximum limit:");scanf("%d%*c",&maxlim);if(maxlim<minlim)printf("Input error!n");return;for(p=head;p!=NULL;p=p->next)for(i=0;i<num_of_sub;i+)if(p->scorei<minlim|p->scorei>maxlim)if(!n)printf("These data has been wrongly inputed:n");printf("%s's %s score.n",p->name,subcalli);n+;printf("Altogether %d wrong data.n",n);void Modify(struct data *head)struct data *p;char modnameLENGTH,modscoreLENGTH;char reply,c;int i;system("cls");do printf("Please input the name of the student whose data you want to modify:"); scanf("%s%*c",modname); for(p=head;p!=NULL&&strcmp(p->name,modname)!=0;p=p->next); if(p=NULL) printf("The student doesn't exist!n"); elseprintf("Successfully found!n");while(1) printf("Do you want to modify the student's number(Y/N or y/n)?"); reply=getchar(); if(reply='n') continue; else c=getchar(); if(reply='Y'|reply='N'|reply='y'|reply='n')&&c='n') break; else if(c!='n') while(c=getchar()!='n');if(reply='Y'|reply='y')printf("Please input the student's new number:");scanf("%s%*c",p->num);while(1) printf("Do you want to modify the student's score(Y/N or y/n)?"); reply=getchar(); if(reply='n') continue; else c=getchar(); if(reply='Y'|reply='N'|reply='y'|reply='n')&&c='n') break; else if(c!='n') while(c=getchar()!='n');if(reply='Y'|reply='y') do printf("Please input the name of the subject whose score you want to modify:"); scanf("%s%*c",modscore); for(i=0;i<num_of_sub;i+) if(strcmp(subcalli,modscore)=0)p->sum-=p->scorei; printf("Please input %s's new %s score:",p->name,modscore); scanf("%f%*c",&p->scorei);p->sum+=p->scorei; break; if(i=num_of_sub) printf("The subject doesn't exist!n"); while(1) printf("Do you want to go on modifying the student's other scores of subject(Y/N or y/n)?"); reply=getchar(); if(reply='n') continue; else c=getchar(); if(reply='Y'|reply='N'|reply='y'|reply='n')&&c='n') break; else if(c!='n') while(c=getchar()!='n'); while(reply='Y'|reply='y');p->aver=p->sum/num_of_sub; while(1) printf("Do you want to go on modifying other students' data(Y/N or y/n)?"); reply=getchar(); if(reply='n') continue; else c=getchar(); if(reply='Y'|reply='N'|reply='y'|reply='n')&&c='n') break; else if(c!='n') while(c=getchar()!='n');while(reply='Y'|reply='y');void List(struct data *head)struct data *p;int n1=0,n2=0,k,i;system("cls");printf("name ");for(p=head;p!=NULL;p=p->next)k=strlen(p->name);n1=(n1>k)?n1:k;n1=(n1>4)?n1:4;for(i=0;i<n1-4;i+)putchar(' ');printf("number ");for(p=head;p!=NULL;p=p->next)k=strlen(p->num);n2=(n2>k)?n2:k;n2=(n2>6)?n2:6;for(i=0;i<n2-6;i+)putchar(' ');for(i=0;i<num_of_sub;i+)printf("%s ",subcalli);if(num_of_sub>0) printf("sum aver");putchar('n');for(p=head;p!=NULL;p=p->next)printf("%s ",p->name);k=strlen(p->name);for(i=0;i<n1-k;i+)putchar(' ');printf("%s ",p->num);k=strlen(p->num);for(i=0;i<n2-k;i+)putchar(' ');for(i=0;i<num_of_sub;i+)printf("%.1f ",p->scorei);k=strlen(subcalli);for(;k-4>0;k-)putchar(' ');if(num_of_sub>0) printf("%.2f %.2f",p->sum,p->aver);putchar('n');printf("Altogether %d records.n",num_of_stu);void Search(struct data *head)struct data *p;char findnameLENGTH='0'char findnumLENGTH='0'char reply,c;int flag,n1,n2,k,i;system("cls");do printf("Do you want to search the student by name(enter 1) or by number(enter 2)?"); scanf("%d%*c",&flag);while(flag!=1&&flag!=2);doif(flag=1) printf("Please input the name of the student you are finding:"); scanf("%s%*c",findname);elseprintf("Please input the number of the student you are finding:");scanf("%s%*c",findnum); for(p=head;p!=NULL;p=p->next)if(strcmp(p->name,findname)=0|strcmp(p->num,findnum)=0) printf("successfully found:nname ");n1=strlen(p->name);n1=(n1>4)?n1:4; for(i=0;i<n1-4;i+) putchar(' ');printf("number ");n2=strlen(p->num);n2=(n2>6)?n2:6;for(i=0;i<n2-6;i+)putchar(' '); for(i=0;i<num_of_sub;i+) printf("%s ",subcalli); if(num_of_sub>0) printf("sum aver"); putchar('n'); printf("%s ",p->name);k=strlen(p->name);for(i=0;i<n1-k;i+)putchar(' ');printf("%s ",p->num);k=strlen(p->num);for(i=0;i<n2-k;i+)putchar(' '); for(i=0;i<num_of_sub;i+) printf("%.1f ",p->scorei);k=strlen(subcalli); for(;k-4>0;k-) putchar(' '); if(num_of_sub>0) printf("%.2f %.2f",p->sum,p->aver); putchar('n'); break;if(p=NULL) printf("The student doesn't exist!n"); while(1) printf("Do you want to go on searching(Y/N or y/n)?"); reply=getchar(); if(reply='n') continue; else c=getchar(); if(reply='Y'|reply='N'|reply='y'|reply='n')&&c='n') break; else if(c!='n') while(c=getchar()!='n');while(reply='Y'|reply='y');struct data *Delete(struct data *head)struct data *p,*q;char delnameLENGTH='0'char delnumLENGTH='0'char reply,c;int flag;system("cls");do printf("Do you want to delete all the data(enter 1) or just one student's data(enter 2)?"); scanf("%d%*c",&flag);while(flag!=1&&flag!=2);if(flag=1)num_of_stu=0;free(head);printf("Successfully deleted!n");return NULL;elsedo printf("Do you want to delete the data by name(enter 1) or by number(enter 2)?"); scanf("%d%*c",&flag); while(flag!=1&&flag!=2);doif(flag=1) printf("Please input the name of the student whose data you want to delete:"); scanf("%s%*c",delname);elseprintf("Please input the number of the student whose data you want to delete:");scanf("%s%*c",delnum);for(p=head;p!=NULL;q=p,p=p->next)if(strcmp(p->name,delname)=0|strcmp(p->num,delnum)=0)if(p=head)head=p->next;elseq->next=p->next;num_of_stu-;free(p);printf("Successfully deleted!n");break;if(p=NULL) printf("The student doesn't exist!n");if(num_of_stu=0)reply='N'else while(1) printf("Do you want to go on deleting(Y/N or y/n)?"); reply=getchar(); if(reply='n') continue; else c=getchar(); if(reply='Y'|reply='N'|reply='y'|reply='n')&&c='n') break; else if(c!='n') while(c=getchar()!='n');while(reply='Y'|reply='y');return head;struct data *Sort1(struct data *head,int (*g)(float,float)struct data *p,*q,*t,*pf=NULL,*qf=NULL,*tf=NULL,*temp;system("cls");for(p=head;p!=NULL;pf=t,p=t->next)t=p;for(q=p->next;q!=NULL;qf=q,q=q->next) if(*g)(q->sum,t->sum)t=q;tf=qf;if(t!=p)if(p=head)head=t;elsepf->next=t;if(t=p->next)p->next=t->next;t->next=p;elsetemp=p->next;p->next=t->next;t->next=temp;tf->next=p;List(head);return head;void Sort2(struct data *head,int (*g)(float,float)struct data *queue=(struct data*)malloc(num_of_stu*sizeof(struct data*);struct data *p,*t;int n1=0,n2=0,k,i,j;system("cls");if(queue=NULL)printf("No enough memory!n");return;while(n1<num_of_stu)for(t=head;t!=NULL;t=t->next)for(i=0;i<n1;i+)if(t=queuei)break;if(i=n1)break; for(p=t->next;p!=NULL;p=p->next) for(i=0;i<n1;i+) if(p=

    注意事项

    本文(最新VC--综合实验-图书馆管理系统.doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开