急救!!明天就答辩,大家帮帮忙吧

lovemzz lovemzz 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区


题目是:用C语言编写下面的程序我已经编完了,可运行有个错误,怎么改都改不过来了,麻烦好心人帮改下被,我明天就答辩了,大家帮帮忙吧!注意:是在TC2.0环境下运行的,不然错误更多!!

学生成绩管理(结构体数组、函数、指针、算法、流程结构及文件等的综合应用)

程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:

(1)主菜单

学生成绩管理系统

1、 成绩录入

2、 成绩查询

3、 成绩统计 

4、 退  出

(2)各菜单项功能

① 成绩录入:输入学生的学号、姓名及三门课的成绩;

② 成绩查询:(至少一种查询方式)。

v 按学号查询学生记录。

v 查询不及格学生的记录。

③成绩统计:

v 计算学生的平均分;

v 根据学生的平均分高低,对学生的数据进行排序后输出;

v 对学生单科成绩排序,输出学生姓名与该科成绩;

④退出系统:退出整个系统(即主菜单)。

(3)结构体数组:

#define N 30

struct student

{int num; /* 定义学号*/

char name[20]; /* 定义姓名*/

float score[3]; /* 定义存贮三门课成绩的数组*/

float average; /* 定义平均成绩*/

};struct student stu[N];  /* 定义结构体数组,存贮多个学生的记录*/
我已经编完了,可运行有个错误,怎么改都改不过来了,麻烦好心人帮改下被,我明天就答辩了,大家帮帮忙吧!注意:是在TC2.0环境下运行的,不然错误更多!!


#include<stdio.h> /*引用库函数*/
#include<ctype.h>
#include<string.h>
#define N 30
struct student/*定义结构体数组*/
{
int num; /*学号*/
char name[20]; /*姓名*/
float score[3];
float average; /*平均成绩*/
};struct student stu[N]; /*结构体数组变量*/
int menu_select() /*菜单函数*/
{
char c;
do{
printf("\t\t**************学生成绩管理系统************\n"); /*菜单选择*/
printf("\t\t | 1. 成 绩 录 入 |\n");
printf("\t\t | 2. 成 绩 查 询 |\n");
printf("\t\t | 3. 成 绩 统 计 |\n");
printf("\t\t | 4. 退 出 |\n");
printf("\t\t*****************************************\n");
printf("\t\t\t请做出选择(1-4):");
c=getchar(); /*读入选择*/
}while(c<'1'||c>'4');
return c;
}


int Input(student stu[],int n) /* 录入成绩 */
{int i;
for(i=0;i<N;i++)
{printf("请输入学生的学号: \n");
scanf("%s",stu[i].num);
printf("请输入学生的姓名: \n");
scanf("%s",stu[i].name);
printf("请输入学生的数学成绩: \n");
scanf("%s",stu[i].shuxue);
printf("请输入学生的语文成绩: \n");
scanf("%s",stu[i].yuwen);
printf("请输入学生的英语成绩: \n");
scanf("%s",stu[i].yingyu);
}
}



int serch_a_record(stu[],int n) /*按学号查找*/
{ int i=0;

printf("请输入要查询的学生的学号: \n");
scanf("%s",num);
while(strcmp(stu[i].name,s)!=0&&i<N) i++;
if(i==n)
{ printf("没有您查找的学号\n");
}
if(i<N)
{printf("该生的姓名为:%s\n该生的数学成绩为: %d\n该生的语文成绩为: %d\n该生的英语成绩为: %d\n",stu[i].name,stu[i].shuxue,stu[i].yuwen,stu[i].yingyu);
}
}
void sort()
{
int i,j,p,t,u,m;
struct student t;
do
{printf("(1)依平均分排序\n");
printf("(2)依数学成绩排序\n");
printf("(3)依语文成绩排序\n");
printf("(4)依英语成绩排序\n");
scanf("%d",&u);
printf("\n");
}while(u!=1&&u!=2&&u!=3&&u!=4);
if(u==1)
{inti,j,p,t;
for(i=0;i<N;i++)
{sum=stu[i].shuxue+stu[i].yuwen+stu[i].yingyu;
stu[i].average=sum/3;
}



for(j=0;j<N-1;j++)/* 选择法排序 */
{p=j;
for(i=j+1;i<N;i++)
if(stu[i].average>stu[p].average)
if(p!=j)
{t=stu[j].average;
stu[j].average=stu[p].average;
stu[p].average=t;
}
}printf("依平均分从高到低依次是:\n");
for(m=1,m<=N,m++)
printf("第 %d 名 姓名是: %s 学号是: %s 平均分是: %d",m,stu[m-1].name,stu[m-1].num,stu[m-1].average);
}


if(u==2)

{ int i,j,m;
struct student t;
for(i=0;i<N-1;i++) /*冒泡法排序*/
for(j=0;j<N-1-i;j++)
if(stu[j].shuxue<stu[j+1].shuxue)
{t=stu[j].shuxue;
stu[j].shuxue=stu[j+1].shuxue;
stu[j+1].shuxue=t;
}
printf("依数学成绩排由高到低依次是: \n");
for(m=1,m<=N,m++)
printf("第 %d 名 姓名是: %s 学号是: %s 数学成绩是: %d",m,stu[m-1].name,stu[m-1].num,stu[m-1].shuxue);
}
if(u==3)
{ int i,j,m;
struct student t;
for(i=0;i<N-1;i++) /*冒泡法排序*/
for(j=0;j<N-1-i;j++)
if(stu[j].yuwen<stu[j+1].yuwen)
{t=stu[j].yuwen;
stu[j].yuwen=stu[j+1].yuwen;
stu[j+1].yuwen=t;
}
printf("依语文成绩排由高到低依次是: \n");
for(m=1,m<=N,m++)
printf("第 %d 名 姓名是: %s 学号是: %s 语文成绩是: %d",m,stu[m-1].name,stu[m-1].num,stu[m-1].yuwen);
}

if(u==4)
{ int i,j,m;
struct student t;
for(i=0;i<N-1;i++) /*冒泡法排序*/
for(j=0;j<N-1-i;j++)
if(stu[j].yingyu<stu[j+1].yingyu)
{t=stu[j].yingyu;
stu[j].yingyu=stu[j+1].yingyu;
stu[j+1].yingyu=t;
}
printf("依英语成绩排由高到低依次是: \n");
for(m=1,m<=N,m++)
printf("第 %d 名 姓名是: %s 学号是: %s 英语成绩是: %d",m,stu[m-1].name,stu[m-1].num,stu[m-1].yingyu);
}
}
void main() /*主函数*/
{
int n=0;
for(;;)
{ switch(menu_select()) /*选择判断*/
{ case 1: printf("\t\t | 1. 成 绩 录 入 |\n");
n=Input(stu,n);break;
case 2: printf("\t\t | 2. 成 绩 查 询 |\n");
serch_a_record(stu[], n); break;
case 3: printf("\t\t | 3. 成 绩 统 计 |\n");
Sort(); break;
case 4: printf("\t\t | 4. 退 出 |\n");
break;
}
}
}




...全文

相关推荐

mongodb-linux-x86_64-ubuntu2004-8.0.13.tgz

mongodb-linux-x86_64-ubuntu2004-8.0.13

一and一>二

chromedriver-linux64-159.0.8135.0(Canary).zip

chromedriver-linux64-159.0.8135.0(Canary).zip

LCG元

三相四桥臂电压不对称跌落补偿动态电压恢复器DVR(Simulink仿真实现)

内容概要:本文围绕三相四桥臂动态电压恢复器(DVR)在电压不对称跌落情况下的补偿能力展开,重点介绍了基于Simulink平台构建的仿真模型,用于研究和验证DVR对电网电压不平衡的动态补偿性能。系统采用三相四桥臂逆变器结构,利用其独立的中性线控制能力有效处理零序分量,结合多准PR(Proportional Resonant)控制策略实现对正负序电压分量的精确跟踪与快速响应,从而提升在不平衡负载或电网故障条件下DVR的补偿精度与系统稳定性。文中提供了完整的仿真模型及相关参考文献,涵盖控制算法设计、系统建模与参数整定等关键技术环节,适用于复杂电能质量问题的研究与教学演示。; 适合人群:电气工程、电力电子与电力系统相关专业的研究生、科研人员及从事电能质量治理的技术工程师;具备一定的电路理论、自动控制原理和Simulink仿真基础者更佳。; 使用场景及目标:①研究动态电压恢复器在三相电压不对称跌落工况下的补偿机制与控制策略;②掌握三相四桥臂逆变器在不平衡条件下的建模与控制方法;③深入理解多准PR控制器在正负序分离控制中的应用,提升对电能质量调节装置的设计与仿真能力; 阅读建议:建议结合提供的参考文献与说明文档,逐步搭建并调试Simulink仿真模型,重点关注控制器参数设计与系统动态响应特性,通过设置不同类型的电压跌落场景(如单相跌落、两相短路等)来验证控制策略的有效性与鲁棒性。

威武编程狮

【MIMO无线编码】在瑞利衰落信道中比较2x2和4x4的BPSK调制系统(Matlab代码实现)

内容概要:本文通过Matlab代码实现,在瑞利衰落信道环境下对2x2和4x4 MIMO系统采用BPSK调制的性能进行仿真与比较,重点分析不同天线配置下的误码率(BER)表现,旨在探讨MIMO系统中天线数量增加对无线通信可靠性和传输性能的影响。研究涵盖了信道建模、信号调制解调、接收端检测算法等关键环节,并通过蒙特卡洛仿真获得统计结果,直观展示了MIMO技术在对抗多径衰落方面的优势。; 适合人群:具备通信原理基础知识和Matlab编程能力的高校学生、科研人员及从事无线通信系统设计的工程技术人员。; 使用场景及目标:①理解MIMO系统在瑞利衰落信道中的工作原理与性能评估方法;②掌握BPSK调制解调及典型MIMO检测技术的Matlab实现;③通过仿真对比不同规模MIMO系统的性能差异,为系统设计提供参考依据。; 阅读建议:建议读者结合Matlab代码逐段运行并观察仿真结果,深入理解各模块功能,同时可尝试修改参数(如信噪比范围、仿真次数、天线数目)以探究其对系统性能的影响,从而加深对MIMO无线编码技术的认知。

小念念_

44-基于STC89C52粮库远程无线监测系统设计(设计说明书+全套资料).rar

项目44-基于STC89C52粮库远程无线监测系统设计 资料包括Proteus仿真+Keil程序+Altium Designer原理图+软件安装包+参考设计说明书+答辩PPT+设计流程图,保证资料完整性! 功能: (1)本设计以STC89C52单片机为控制核心,实现对粮库远程无线监测系统的稳定控制与高效管理。 (2)采用DHT11传感器检测温湿度,精准感知粮库内环境参数,为粮食储存状态监测提供关键数据。 (3)配备LCD1602显示屏实时显示温湿度信息,方便管理人员直观了解粮库环境,及时做出决策。 (4)设有无线模块实现远程数据传输,可远程监控粮库状态,提升管理效率,降低人工巡检成本。 (5)利用蜂鸣器与LED灯作为报警装置,当温湿度超出阈值时及时报警,资料助力学生掌握设计。

创界工坊工作室
评论 13
收藏 已收藏
分享
返回顶部
lovemzz
C语言 70,039 成员 243,237 内容