谁可以帮我看看我这个C语言程序错在哪啊?查询成绩和统计程序都弄不出!··谢谢了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谁可以帮我看看我这个C语言程序错在哪啊?查询成绩和统计程序都弄不出!··谢谢了相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
#include<stdlib.h>
#include <conio.h>
#define N 3 /*学生人数*/
struct student

int num; /*学号*/
char name[20]; /*姓名*/
float chinesescore;
float mathscore;
float sum;

stu[N]; /*学生数*/
void input();
void select(); /*查询*/
void statistics(); /*统计*/
void menu();
void input()

int i;
printf("\t\t№.1成绩录入\n\n");
for(i=0;i<N;i++)

printf("请输入学号: ");
scanf("%d",&stu[i].name);
printf("\n语文成绩: ");
scanf("%d",&stu[i].chinesescore);
printf("\n数学成绩: ");
scanf("%d",&stu[i].mathscore);

printf("\n\n");
getchar();
printf("输入完毕!按任意键返回主菜单!");
getchar();


/*2.查询*/
void select(int i)

printf("学号:%d\n",stu[i].num);
printf("姓名:%d\n",stu[i].name);

printf("\n语文成绩为: ");
printf("%d\n",stu[i].chinesescore);
printf("\n数学成绩为: ");
printf("%d\n",stu[i].mathscore);

getchar();
printf("\n按任意键返回主菜单!");
getchar();


/*3.学生总成绩*/
void statistics()

float chinesescore[10],mathscore[10];
float sum=0;
int i=0;
printf("\t\t№.2成绩统计\n\n");
for(i=0;i<N;i++)

sum=chinesescore[i]+mathscore[i];

printf("\n学生%s的总成绩为;",stu[i].name);
printf("0.2f分",stu[i].sum);

/*排序*/

void sort()

int i;
float temp;
for(i=0;i<N-1;i++)
if(stu[i].sum<stu[i+1].sum)

temp=stu[i].sum;
stu[i].sum=stu[i+1].sum;
stu[i+1].sum=temp;

printf("\n\n学生总成绩排名:");
for(i=0;i<3;i++)

printf("\n第%d名:%0.2f分",i+1,stu[i].sum);

getchar();
printf("\n\n按任意键返回主菜单!");
getchar();

void menu()

int num=0;
int n=0;
printf("\n\t\t\t学生成绩管理系统\n\n");
printf("\t\t\t№.1成绩录入\n\t\t\t№.2成绩查询\n\t\t\t№.3成绩统计\n\t\t\t№.4退出系统\n");
printf("\t\t\tchoose:");
scanf("%d",&num);
switch(num)

case 1:
system("cls");
input();
break;
case 2:
system("cls");
printf("\t\t№.2成绩查询\n\n");
printf("请输入要查询的学生号: ");
scanf("%d",&n);
select(n);
break;
case 3:
system("cls");
statistics();
break;
default:
exit(0);
break;


void main()

while(1)

system("cls"); /*清屏*/
menu();

把你的遗留问题全解决了
输入学生姓名也搞好了
一选3,就闪一下就没了也处理了
№.2成绩统计
№.1成绩录入

请输入学号: 1

请输入姓名: ee

语文成绩: 44

数学成绩: 55

请输入学号: 2

请输入姓名: gg

语文成绩: 66

数学成绩: 77

请输入学号:
№.2成绩查询

请输入要查询的学生号: 2

学号:3

姓名:4395100

语文成绩为: 88.00

数学成绩为: 99.00

按任意键返回主菜单!

№.2成绩统计

学生ee的总成绩为;99.00分
学生gg的总成绩为;143.00分
学生gg的总成绩为;143.00分

#include <stdio.h>
#include<stdlib.h>
#include <conio.h>
#include "string.h"
#define N 3 /*学生人数*/
struct student

int num; /*学号*/
char name[20]; /*姓名*/
float chinesescore;
float mathscore;
float sum;

stu[N]; /*学生数*/
void input();
void select(); /*查询*/
void statistics(); /*统计*/
void menu();
void input()

int i;
printf("\t\t№.1成绩录入\n\n");
for(i=0;i<N;i++)

printf("\n请输入学号: ");
scanf("%d",&stu[i].num);
printf("\n请输入姓名: ");
getchar();
gets(stu[i].name);

printf("\n语文成绩: ");
scanf("%f",&stu[i].chinesescore);
printf("\n数学成绩: ");
scanf("%f",&stu[i].mathscore);

printf("\n\n");
getchar();
printf("输入完毕!按任意键返回主菜单!");
getchar();


/*2.查询*/
void select(int i)

printf("\n学号:%d\n",stu[i].num);
printf("\n姓名:%d\n",stu[i].name);

printf("\n语文成绩为: ");
printf("%4.2f\n",stu[i].chinesescore);
printf("\n数学成绩为: ");
printf("%4.2f\n",stu[i].mathscore);

getchar();
printf("\n按任意键返回主菜单!");
getchar();


/*3.学生总成绩*/
void statistics()

// float chinesescore[10],mathscore[10];
// float sum=0;
int i=0;
printf("\t\t№.2成绩统计\n\n");
for(i=0;i<N;i++)

stu[i].sum=stu[i].chinesescore+stu[i].mathscore;
printf("\n学生%s的总成绩为;",stu[i].name);
printf("%4.2f分",stu[i].sum);

getchar();
getchar();


/*排序*/

void sort()

int i;
float temp;
for(i=0;i<N-1;i++)
if(stu[i].sum<stu[i+1].sum)

temp=stu[i].sum;
stu[i].sum=stu[i+1].sum;
stu[i+1].sum=temp;

printf("\n\n学生总成绩排名:");
for(i=0;i<3;i++)

printf("\n第%d名:%0.2f分",i+1,stu[i].sum);

getchar();
printf("\n\n按任意键返回主菜单!");
getchar();

void menu()

int num=0;
int n=0;
printf("\n\t\t\t学生成绩管理系统\n\n");
printf("\t\t\t№.1成绩录入\n\t\t\t№.2成绩查询\n\t\t\t№.3成绩统计\n\t\t\t№.4退出系统\n");
printf("\t\t\tchoose:");
scanf("%d",&num);
switch(num)

case 1:
system("cls");
input();
break;
case 2:
system("cls");
printf("\t\t№.2成绩查询\n\n");
printf("请输入要查询的学生号: ");
scanf("%d",&n);
select(n);
break;
case 3:
system("cls");
statistics();
break;
default:
exit(0);
break;


void main()

while(1)

system("cls"); /*清屏*/
menu();

追问

你好,,谢谢你的回答,,可是排序那里,,好像没有弄出来呢?

追答

你这个没有排序功能啊

菜单里没有

参考技术A printf("请输入学号: ");
scanf("%d",&stu[i].name);
printf("\n语文成绩: ");
scanf("%d",&stu[i].chinesescore);
printf("\n数学成绩: ");
scanf("%d",&stu[i].mathscore);
printf("姓名:%d\n",stu[i].name);

printf("\n语文成绩为: ");
printf("%d\n",stu[i].chinesescore);
printf("\n数学成绩为: ");
printf("%d\n",stu[i].mathscore);


类型错误!!!!!%d是输入int类型 你对照一下
printf("0.2f分",stu[i].sum);少了个%号
-------------------------------以上是错误-------------------------------------------------------
学生成绩管理系统

№.1成绩录入
№.2成绩查询
№.3成绩统计
№.4退出系统
choose:1
sh: cls: command not found
№.1成绩录入

请输入学号: 1

语文成绩: 99

数学成绩: 99
请输入学号: 2

语文成绩: 88

数学成绩: 88
请输入学号: 3

语文成绩: 7

数学成绩: 7

输入完毕!按任意键返回主菜单!
sh: cls: command not found

学生成绩管理系统

№.1成绩录入
№.2成绩查询
№.3成绩统计
№.4退出系统
choose:2
sh: cls: command not found
№.2成绩查询

请输入要查询的学生号: 1
学号:0
姓名:2

语文成绩为: 88.00

数学成绩为: 88.00

按任意键返回主菜单!
sh: cls: command not found

学生成绩管理系统

№.1成绩录入
№.2成绩查询
№.3成绩统计
№.4退出系统
choose:3
sh: cls: command not found
№.2成绩统计

sh: cls: command not found
学生的总成绩为;0.00分
学生成绩管理系统

№.1成绩录入
№.2成绩查询
№.3成绩统计
№.4退出系统
choose:4
----------------------------以上是调试后执行结果------------------------------------
#include <stdio.h>
#include <stdlib.h>
//#include <conio.h>
#define N 3 /*学生人数*/
struct student

int num; /*学号*/
char name[20]; /*姓名*/
float chinesescore;
float mathscore;
float sum;

stu[N]; /*学生数*/
void input();
void _select(int); /*查询*/
void statistics(); /*统计*/
void menu();
void input()

int i;
printf("\t\t№.1成绩录入\n\n");
for(i=0;i<N;i++)

printf("请输入学号: ");
scanf("%s",stu[i].name);
printf("\n语文成绩: ");
scanf("%f",&stu[i].chinesescore);
printf("\n数学成绩: ");
scanf("%f",&stu[i].mathscore);

printf("\n\n");
getchar();
printf("输入完毕!按任意键返回主菜单!");
getchar();


/*2.查询*/
void _select(int i)

printf("学号:%d\n",stu[i].num);
printf("姓名:%s\n",stu[i].name);

printf("\n语文成绩为: ");
printf("%.2f\n",stu[i].chinesescore);
printf("\n数学成绩为: ");
printf("%.2f\n",stu[i].mathscore);

getchar();
printf("\n按任意键返回主菜单!");
getchar();


/*3.学生总成绩*/
void statistics()

float chinesescore[10],mathscore[10];
float sum=0;
int i=0;
printf("\t\t№.2成绩统计\n\n");
for(i=0;i<N;i++)

sum=chinesescore[i]+mathscore[i];

printf("\n学生%s的总成绩为;",stu[i].name);
printf("%0.2f分",stu[i].sum);

/*排序*/

void sort()

int i;
float temp;
for(i=0;i<N-1;i++)
if(stu[i].sum<stu[i+1].sum)

temp=stu[i].sum;
stu[i].sum=stu[i+1].sum;
stu[i+1].sum=temp;

printf("\n\n学生总成绩排名:");
for(i=0;i<3;i++)

printf("\n第%d名:%0.2f分",i+1,stu[i].sum);

getchar();
printf("\n\n按任意键返回主菜单!");
getchar();

void menu()

int num=0;
int n=0;
printf("\n\t\t\t学生成绩管理系统\n\n");
printf("\t\t\t№.1成绩录入\n\t\t\t№.2成绩查询\n\t\t\t№.3成绩统计\n\t\t\t№.4退出系统\n");
printf("\t\t\tchoose:");
scanf("%d",&num);
switch(num)

case 1:
system("cls");
input();
break;
case 2:
system("cls");
printf("\t\t№.2成绩查询\n\n");
printf("请输入要查询的学生号: ");
scanf("%d",&n);
_select(n);
break;
case 3:
system("cls");
statistics();
break;
default:
exit(0);
break;


int main()

while(1)

system("cls"); /*清屏*/
menu();

return 0;

----------------------------------以上修改后代码------------------------------追问

额...好像成绩统计还是没处理好额,,一选3,就闪一下就没了

追答

这个代码肯定不是你写的!!!

void statistics()

float chinesescore[10],mathscore[10];
float sum=0;
int i=0;
printf("\t\t№.2成绩统计\n\n");
for(i=0;i<N;i++)

sum=chinesescore[i]+mathscore[i];

printf("\n学生%s的总成绩为;",stu[i].name);
printf("%0.2f分",stu[i].sum);


这里不对!你要求出每一个学生的总成绩 所有学生加起来总成绩??????

追问

我们要搞C语言程序设计,,然后我就在网上找,,根据老师的要求做修改,,成绩方面弄好了,,可是还不知道排序那里的,,,好像运行起来都没出现额,第几名第几名的

追答

你现在 代码还差什么!

统计 是统计全体学生 还是每一个学生!
还剩下什么功能没有完成?

参考技术B #define N 3 /*学生人数*/
struct student

int num; /*学号*/
char name[20]; /*姓名*/
float chinesescore;
float mathscore;
float sum;

stu[N]; /*学生数*/
void input();
void select(); /*查询*/
void statistics(); /*统计*/
void menu();
void input()

int i;
printf("\t\t№.1成绩录入\n\n");
for(i=0;i<N;i++)

printf("请输入学号: ");
scanf("%d",&stu[i].num);
printf("请输入姓名: ");
scanf("%s",stu[i].name);
printf("\n语文成绩: ");
scanf("%f",&stu[i].chinesescore);
printf("\n数学成绩: ");
scanf("%f",&stu[i].mathscore);

printf("\n\n");
getchar();
printf("输入完毕!按任意键返回主菜单!");
getchar();


/*2.查询*/
void select(int i)

printf("学号:%d\n",stu[i].num);
printf("姓名:%s\n",stu[i].name);

printf("\n语文成绩为: ");
printf("%g\n",stu[i].chinesescore);
printf("\n数学成绩为: ");
printf("%g\n",stu[i].mathscore);

getchar();
printf("\n按任意键返回主菜单!");
getchar();


/*3.学生总成绩*/
void statistics()


float sum=0;
int i=0;
printf("\t\t№.2成绩统计\n\n");
for(i=0;i<N;i++)

stu[i].sum = stu[i].chinesescore + stu[i].mathscore;
printf("\n学生%s的总成绩为;",stu[i].name);
printf("%0.2f分",stu[i].sum);


printf("\n\n按任意键返回主菜单!");
getchar();
getchar();

/*排序*/

void sort()

int i;
float temp;
for(i=0;i<N-1;i++)
if(stu[i].sum<stu[i+1].sum)

temp=stu[i].sum;
stu[i].sum=stu[i+1].sum;
stu[i+1].sum=temp;

printf("\n\n学生总成绩排名:");
for(i=0;i<3;i++)

printf("\n第%d名:%0.2f分",i+1,stu[i].sum);

getchar();
printf("\n\n按任意键返回主菜单!");
getchar();

void menu()

int num=0;
int n=0;
printf("\n\t\t\t学生成绩管理系统\n\n");
printf("\t\t\t№.1成绩录入\n\t\t\t№.2成绩查询\n\t\t\t№.3成绩统计\n\t\t\t№.4退出系统\n");
printf("\t\t\tchoose:");
scanf("%d",&num);
switch(num)

case 1:
system("cls");
input();
break;
case 2:
system("cls");
printf("\t\t№.2成绩查询\n\n");
printf("请输入要查询的学生号: ");
scanf("%d",&n);
select(n);
break;
case 3:
system("cls");
statistics();
break;
default:
exit(0);
break;


void main()

while(1)

system("cls"); /*清屏*/
menu();



把你的问题都解决了~~~

mysql的配置文件my.cnf在哪啊? 想修改它,怎么修改啊?

我做了一个网站,用于加盟的客户在网页上填写数据。请别人(A程序员)做了个软件(称为B软件)来读取客户的数据并填到我的一个表格里。运行B软件,提示mysqlsever has gone away。A程序员说网络空间提供商(C商)须改my.cnf里的参数。跟C商。联系他们只说经测试没问题。我想问一下,my.cnf在哪啊?是不是应该由C商来改?

参考技术A 如果使用的是虚拟主机的话,是要运营商那边设置的 。但一般运营商虚拟主机服务器环境是不会随意增加设置的。大多数网站在里面都可以正常运行,不行的话建议你买个云主机或vps 也不贵,让程序员给你架设。追问

那就是要换运营商啦?

追答

不是 你可以问下运营商 如果虚拟主机不行的话 能不能换个一般的云主机或VPS 帮你架设一下网站 一般都可以的

本回答被提问者采纳

以上是关于谁可以帮我看看我这个C语言程序错在哪啊?查询成绩和统计程序都弄不出!··谢谢了的主要内容,如果未能解决你的问题,请参考以下文章

一个离散余弦的MATLAB程序,大家谁能给看看问题出在哪啊?

帮我看看程序错在哪里了!

我是大一新生新学数组,编了一个计成绩的C语言程序,看不懂程序错在哪,请帮一下忙。谢谢!

C语言,韩信点兵编程,看看我的错在哪?

这是个matlab关于添加水印的程序,帮忙看看错在哪

stm32并口驱动12864,求大神看看我的程序错在哪了?编译通过但是屏幕上没显示~搞了两天了,头疼死我了、