中易网

有没有好心人教我写一个c语言代码

答案:4  悬赏:30  
解决时间 2021-03-25 06:06
有没有好心人教我写一个c语言代码
最佳答案
C++学生信息管理系统学习视频,要的话我可以发你邮箱
全部回答
#include <stdio.h>#include <stdlib.h>int n; typedef struct student{int num;int mingci;char name[20];double a[4];double sum;double avreage; struct student *next;} STU;STU *creat();void add_student(STU *);void show(STU *);STU *delete_student(STU *);void paiming(STU *);void show_one(STU *s);int panduan(double l); int main(){int choose; STU *head=creat(); while(1){printf("1 录入信息\n");printf("2 查询学生信息\n");printf("3 删除学生信息\n");scanf("%d",&choose);switch(choose){case 1:add_student(head);break;case 2:show(head);break; case 3:head=delete_student(head);break;default: break; } } return 0;}//创建链表表头STU *creat(){n=0;STU *head; head=(STU *)malloc(sizeof(STU)); head->next=NULL;return head;}//录入学生信息void add_student(STU *s){STU *p=s;STU *p1;while(p->next!=NULL){p=p->next;} while(1){ printf("请输入学号:学号为0表示输入结束输入!");scanf("%d",&p->num);if(p->num!=0){ n++;printf("请输入姓名:");scanf("%s",p->name); printf("请输入成绩 格式C程序设计 高等数学 英语 线性代数:");scanf("%lf%lf%lf%lf",&p->a[0],&p->a[1],&p->a[2],&p->a[3]);p->sum=p->a[0]+p->a[1]+p->a[2]+p->a[3];p->avreage=p->sum/4;p->mingci=0; p1=(STU *)malloc(sizeof(STU));p->next=p1;p1->next=NULL;p=p1;}else{printf("录入结束!\n");paiming(s);break;} }}//根据学号删除学生信息STU *delete_student(STU *s){int num;STU *p=s,*p1;printf("请输入要删除学生的学号:");scanf("%d",&num);while(p->next!=NULL){ if(p->num==num&&s==p){n--;return p->next;}else if(p->num==num){n--;p1->next=p->next;paiming(s);return s; } p1=p;p=p->next;}if(n==0){printf("数据库目前为空,请录入信息!\n");}else{printf("没有发现你输入的学号!\n");}return s; }//显示学生数据库信息void show(STU *s){STU *head=s;if(n==0){printf("数据库为空,请先录入信息!\n");}else{while(s->next!=NULL){printf("学号:%d 姓名:%s 成绩:%.2lf %.2lf %.2lf %.2lf 平均分:%.2lf 名次:%d \n",s->num,s->name,s->a[0],s->a[1],s->a[2],s->a[3],s->avreage,s->mingci);s=s->next;}show_one(head);}}//对学生按平均分排名 void paiming(STU *s){ double score[n]; int j,i=0; STU *head=s; while(s->next!=NULL){ score[i]=s->avreage;s=s->next;i++; } double temp; for(i=0;i<n;i++){for(j=i;j<n;j++){ if(score[i]<score[j]){temp=score[i];score[i]=score[j];score[j]=temp; } } }for(i=0;i<n;i++){if(score[i]!=0){s=head;while(s->next!=NULL){ if(s->mingci==0){ if(score[i]==s->avreage){score[i]=0;s->mingci=i+1;break;}}s=s->next;}}} }//单科平均分统计void show_one(STU *s){ double ar[4]={0};int b[4][4]={{0},{0},{0},{0}};int i;while(s->next!=NULL){ for(i=0;i<4;i++){b[i][panduan(s->a[i])]++;ar[i]+=s->a[i];}s=s->next;}printf("各科平均分 %.2lf %.2lf %.2lf %.2lf\n",ar[0]/n,ar[1]/n,ar[2]/n,ar[3]/n);printf("90-100分 %d %d %d %d\n",b[0][0],b[1][0],b[2][0],b[3][0]);printf("80-89分 %d %d %d %d\n",b[0][1],b[1][1],b[2][1],b[3][1]);printf("60-79分 %d %d %d %d\n",b[0][2],b[1][2],b[2][2],b[3][2]);printf("60分以下 %d %d %d %d\n",b[0][3],b[1][3],b[2][3],b[3][3]); } int panduan(double l){ if(l>=90&&l<=100) return 0; else if(l>=80&&l<=89) return 1;elseif(l>=60&&l<=79) return 2;else return 3; }

这里可以帮到你
352783嗯7346,C语言Student informatino manager
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
牲畜交易市场怎么办理手续
武隆县城那条街最热闹
兰州市内哪有卖牛栏奶粉的?
2016年7月天津南开区卫生系统招聘考什么?
用恒大矿泉水做脸
为什么是A
长葛哪里招聘?
哈尔滨市方正县到林口到海林的驾车路线
平安保险产品有哪些
TCL显像管电视图像向左漂移是什么原因?还没
白切鸡 水蒸蛋 换个好听的菜名
武汉哪里有卖薰衣草精油?
国产牛奶和进口牛奶的差距?不同之处
请问:南京旅游年票在哪里可以买到?价格大概
壹拾无忧生活用品加盟
推荐资讯
红海练歌厅怎么去啊,有事要去办理
进门鞋柜风水,你不可不知的风水知识!
乳头发硬 37周加4天了 肚子也老不舒服烦。,
鹿邑哪里有精仿苹果
苏州市区到西山风景区怎么走
白萝卜香菇排骨汤可以加枸杞当归吗
核桃分心木泡茶喝多了会有什么副作用?
怎样才能节约用水?(简短)
问一下:东莞茶山到广东湛江市有汽车吗?有多远
长春有哪些初高中补习班?
北京到佛山的物流专线有吗?准备搬家托运些家
江西省吉安市吉州区吉州大道阳阳花园是属于永
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?