谁可以帮我看看我这个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();
追问
你好,,谢谢你的回答,,可是排序那里,,好像没有弄出来呢?
追答你这个没有排序功能啊
菜单里没有
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语言程序设计,,然后我就在网上找,,根据老师的要求做修改,,成绩方面弄好了,,可是还不知道排序那里的,,,好像运行起来都没出现额,第几名第几名的
追答你现在 代码还差什么!
统计 是统计全体学生 还是每一个学生!
还剩下什么功能没有完成?
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程序,大家谁能给看看问题出在哪啊?