收藏 分销(赏)

学生成绩管理系统C语言版.doc

上传人:a199****6536 文档编号:3652722 上传时间:2024-07-12 格式:DOC 页数:12 大小:124KB 下载积分:8 金币
下载 相关 举报
学生成绩管理系统C语言版.doc_第1页
第1页 / 共12页
学生成绩管理系统C语言版.doc_第2页
第2页 / 共12页


点击查看更多>>
资源描述
精品文档就在这里 -------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-------------- -------------------------------------------------------------------------------------------------------------------------------------------- 1、 编一程序,能够输入、输出五个学生三门课程的成绩。并利用数组保存数据,格式如下: 学号 姓名 性别 英语 数学 语文 1 李小琳 女 98 85 90 2 张飞瀛 男 90 95 78 3 宁 可 女 95 78 80 4 王明云 男 80 85 90 5 朱鸿儒 男 85 96 88 2、 编一程序,能计算每个学生的总分和平均分。 3、 编一程序,能按输入要求打印各门课程的最高分和最低分的同学。 4、 编一程序,能将五个学生的成绩按总分进行降序排序。 5、 编一程序,能删除一个学生的记录; 6、 编一程序,能增加一个学生的记录; 建立一个菜单模式的学生信息管理系统,完成功能如下: 一、建立主菜单 *****学生信息管理系统***** 1、 输入学生信息 2、 输出学生信息 3、 计算每个同学成绩的总分与平均分 4、 对学生成绩进行排序 5、 输出每门功课最高分的同学信息 6、 输出每门功课最低分的同学信息 7、 退出系统 主菜单界面: 二、将综合练习一中的程序改写为子程序并能通过主菜单进行调用。 先上图 开发环境 windows 7,vc 6.0 开始贴代码: /************** * 张海山 * 10软件2班 * 安庆职业技术学院 * QQ:136533295 ******************/ #include"stdio.h" #include"stdlib.h" #include"malloc.h" #include"string.h" typedef struct lode { int id; char name[20]; char sex[10]; int score[4]; struct lode *next; }lode,*linklist; linklist input(linklist head)//输入学生信息 { char cmd='y'; int t,i,l; char name[10]; char sex[2]; int score[3]={0}; //int sum; linklist p; while(cmd=='y'||cmd=='Y') { p=(linklist)malloc(sizeof(lode)); printf("请输入学生的编号\n"); fflush(stdin); scanf("%d",&t); p->id=t; printf("请输入学生的姓名:\n"); fflush(stdin); scanf("%s",p->name); /* l=strlen(p->name); p->sex[l]='\0'; /* for(i=0;i<l;i++) { p->name[i]=name[i]; }*/ printf("请输入学生的性别:\n"); fflush(stdin); scanf("%s",p->sex); /* l=strlen(p->sex); p->sex[l]='\0'; /* for(i=0;i<l;i++) { p->sex[i]=sex[i]; }*/ fflush(stdin); printf("请依次输入学生的三门课成绩:\n"); scanf("%d",&score[0]); p->score[0]=score[0]; fflush(stdin); scanf("%d",&score[1]); p->score[1]=score[1]; fflush(stdin); scanf("%d",&score[2]); p->score[2]=score[2]; fflush(stdin); p->next=head->next; head->next=p; printf("是否继续(y)&返回主菜单(n) y&n\n"); fflush(stdin); scanf("%c",&cmd); } return head; } linklist print(linklist head) { linklist p; int i=1; p=head->next; printf("\t序号\t姓名\t性别\t英语\t数学\t语文\n"); while(p!=NULL) { printf("\t%d\t%s\t%s\t%d\t%d\t%d\n",p->id,p->name,p->sex,p->score[0],p->score[1],p->score[2]); p=p->next; /*if(p==NULL) break; printf("%d\n",i);*/ } //printf("%d\n",i); //printf("i=%d\n",i); return 0; } void avg(linklist head) { int sum=0; double avg=0; linklist p; p=head->next; while(p!=NULL) { sum=0; sum=p->score[1]+p->score[2]+p->score[0]; avg=sum/3; printf("%s的总分为:%d\t平均分为:%.2lf\n",p->name,sum,avg); p=p->next; } } void maxmin(linklist head) { linklist p; int max1=0,max1index,min1=head->next->score[0],min1index,max2=0,max2index,min2=head->next->score[1],min2index,max3=0,max3index,min3=head->next->score[2],min3index; p=head->next; while(p!=NULL) { if(max1<(p->score[0])) { max1=p->score[0]; max1index=p->id; } if(min1>=(p->score[0])) { min1=p->score[0]; min1index=p->id; } if(max2<(p->score[1])) { max2=p->score[1]; max2index=p->id; } if(min2>=(p->score[1])) { min2=p->score[1]; min2index=p->id; } if(max3<(p->score[2])) { max3=p->score[2]; max3index=p->id; } if(min3>=(p->score[2])) { min3=p->score[2]; min3index=p->id; } p=p->next; } printf("英语:\n"); p=head->next; while(p!=NULL) { if((p->id)==max1index) printf("英语最高分为:%d\t姓名为:%s\n",p->score[0],p->name); if((p->id)==min1index) printf("英语最低分为:%d\t姓名为:%s\n",p->score[0],p->name); p=p->next; } printf("数学:\n"); p=head->next; while(p!=NULL) { if((p->id)==max2index) printf("数学最高分为:%d\t姓名为:%s\n",p->score[1],p->name); if((p->id)==min2index) printf("数学最低分为:%d\t姓名为:%s\n",p->score[1],p->name); p=p->next; } printf("语文:\n"); p=head->next; while(p!=NULL) { if((p->id)==max3index) printf("语文最高分为:%d\t姓名为:%s\n",p->score[2],p->name); if((p->id)==min3index) printf("语文最低分为:%d\t姓名为:%s\n",p->score[2],p->name); p=p->next; } } void rank(linklist head) { linklist p; int i=0,j,k,n=0; int sum[100]; p=head->next; while(p!=NULL) { n++; sum[i]=p->score[1]+p->score[2]+p->score[0]; i++; p=p->next; } printf("n=%d\n",n); for(i=1;i<6;i++) { for(j=0;j<6-i;j++) if(sum[j]<sum[j+1]) { k=sum[j]; sum[j]=sum[j+1]; sum[j+1]=k; } } printf("\t序号\t姓名\t性别\t英语\t数学\t语文\n"); for(i=0;i<n;i++) { p=head->next; while(p!=NULL) { if(sum[i]==(p->score[1]+p->score[2]+p->score[0])) { printf("\t%d\t%s\t%s\t%d\t%d\t%d\n",p->id,p->name,p->sex,p->score[0],p->score[1],p->score[2]); break; } p=p->next; } } } void add(linklist head) { linklist p,q; p=head; q=(linklist)malloc(sizeof(lode)); printf("请输入要插入学生的序号:\n"); fflush(stdin); scanf("%d",&q->id); fflush(stdin); printf("请输入学生的姓名:\n"); scanf("%s",q->name); fflush(stdin); printf("请输入学生性别:\n"); scanf("%s",q->sex); fflush(stdin); printf("请依次输入学生的三门课成绩:\n"); scanf("%d",&q->score[0]); fflush(stdin); scanf("%d",&q->score[1]); fflush(stdin); scanf("%d",&q->score[2]); fflush(stdin); q->next=NULL; while(p->next!=NULL) { p=p->next; } p->next=q; //p->next=NULL; } void del(linklist head) { linklist p,temp; int j; p=head->next; temp=head; printf("请输入要删除学生记录的序号:\n"); scanf("%d",&j); while(p!=NULL) { if(p->id!=j) { p=p->next; temp=temp->next; } else { temp->next=p->next; free(p); break; } } } void main() { int cmd; linklist head; head=(linklist)malloc(sizeof(lode)); head->next=NULL; do { printf("\n\n |***************学生成绩管理程序***************|\n"); printf(" |----------------------------------------------|\n"); printf(" | |\n"); printf(" | 主菜单 |\n"); printf(" | |\n"); printf(" |----------------------------------------------|\n"); printf(" | |\n"); printf(" | 请输入选择项目: |\n"); printf(" | |\n"); printf(" | 1、输入学生成绩 |\n"); printf(" | |\n"); printf(" | 2、输出学生成绩 |\n"); printf(" | |\n"); printf(" | 3、计算总成绩、平均成绩 |\n"); printf(" | |\n"); printf(" | 4、求最高分、最低分 |\n"); printf(" | |\n"); printf(" | 5、排序 |\n"); printf(" | |\n"); printf(" | 6、增加记录 |\n"); printf(" | |\n"); printf(" | 7、删除记录 |\n"); printf(" | |\n"); printf(" | 0、退出系统 |\n"); printf(" | |\n"); printf(" |----------------------------------------------|\n"); scanf("%d",&cmd); switch(cmd) { case 0:break; //退出系统 case 1: input(head);break; //输入学生信息 case 2: print(head);break; //输出学生信息 case 3: avg(head);break; //求总成绩、平均数 case 4: maxmin(head);break; //最高分 case 5: rank(head);break; //排序 case 6: add(head);break; //增加记录 case 7: del(head);break; //删除记录 default :printf("您输入错误!\n"); } }while(cmd!=0); } 因为是C语言版的 要严格按照样子输入哦 要不然就会出现不可预料的结果 2010年读书节活动方案 一、     活动目的: 书是人类的朋友,书是人类进步的阶梯!为了拓宽学生的知识面,通过开展“和书交朋友,遨游知识大海洋”系列读书活动,激发学生读书的兴趣,让每一个学生都想读书、爱读书、会读书,从小养成热爱书籍,博览群书的好习惯,并在读书实践活动中陶冶情操,获取真知,树立理想! 二、活动目标: 1、通过活动,建立起以学校班级、个人为主的班级图书角和个人小书库。 2、通过活动,在校园内形成热爱读书的良好风气。 3、通过活动,使学生养成博览群书的好习惯。 4、通过活动,促进学生知识更新、思维活跃、综合实践能力的提高。 三、活动实施的计划 1、 做好读书登记簿 (1) 每个学生结合实际,准备一本读书登记簿,具体格式可让学生根据自己喜好来设计、装饰,使其生动活泼、各具特色,其中要有读书的内容、容量、实现时间、好词佳句集锦、心得体会等栏目,高年级可适当作读书笔记。 (2) 每个班级结合学生的计划和班级实际情况,也制定出相应的班级读书目标和读书成长规划书,其中要有措施、有保障、有效果、有考评,简洁明了,易于操作。 (3)中队会组织一次“读书交流会”展示同学们的读书登记簿并做出相应评价。 2、 举办读书展览: 各班级定期举办“读书博览会”,以“名人名言”、格言、谚语、经典名句、“书海拾贝”、“我最喜欢的___”、“好书推荐”等形式,向同学们介绍看过的新书、好书、及书中的部分内容交流自己在读书活动中的心得体会,在班级中形成良好的读书氛围。 3、 出读书小报: ---------------------------------------------------------精品 文档---------------------------------------------------------------------
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服