【发布时间】:2015-09-19 09:16:11
【问题描述】:
我的任务:
学生最终成绩的计算考虑以下公式:FG = 3 个作业的 10% + 出勤率的 %10 + 3 个小测验的 15% + 3 个项目的 15% + 长测验的 20% + 30%大考。显示最终成绩和相应的备注。
要求:
允许用户重复操作或终止程序
备注:
90 - 100 Very Good
80-89 Good
70-79 Fair
60-69 Poor
Below 60 Needs Improvement
我的计划:
int average(int,int,int)
int a1,a2,a3,p1,p2,p3,s1,s2,s3,t1,l1,m1,FG;
intmain()
{
printf(" enter 3 assignments grade: "); scanf("%d%d%d",&a1,&a2,&a3);
printf(" enter 3 projects grade: "); scanf("%d%d%d",&p1,&p2,&p3);
printf(" enter 3 short quiz: "); scanf("%d%d%d",&s1,&s2,&s3);
printf(" enter attendance: "); scanf("%d",&t1);
printf(" enter long quiz grade: "); scanf("%d",&l1);
printf(" enter major exam: "); scanf("%d",&m1);
FG= average(a1,a2,a3,p1,p2,p3,s1,s2,s3,t1,l1,m1)
if((FG>=90) && (FG<=100))
printf("remark is VERY GOOD",FG);
if((FG>=80) && (FG<=89))
printf(" remark is GOOD",FG);
if((FG>=70) && (FG<=79))
printf(" remark is FAIR",FG);
if((FG>=60) && (FG<=69))
printf(" remark is POOR",FG);
printf(" [E]xit");
choice=getche();
switch(choice)
{
case 'e':
case 'E': return 0;
default: printf(" press [E] to exit or press any key to repeat ");
getch();
main();
}
getch();
return 0;
}
void average( float a1, float a2, float a3, float p1, float p2, float p3, float s1, float s2,float s3,float t1,float l1, float m1)
{
return (((a1 + a2 + a3)/3)*.10) + (((p1 + p2 + p3)/3)*.15) + (((s1 + s2 + s3)/3)*.15) + (t1*.10) + (l1*.20) + (m1*.30);
}
疑问和问题:
发生错误是
statement missing ; in function main发生的错误是
type mismatch in redeclaration of average我获取平均值和函数调用的公式是否正确?
【问题讨论】:
-
请正确格式化您的问题。还有
int average(int,int,int)-->int average(int,int,int,int,int,int,int,int,int,int,int,int);,intmain()-->int main(),void average( float a1, float a2, float a3, float p1, float p2, float p3, float s1, float s2,float s3,float t1,float l1, float m1)-->int average( int a1, int a2, int a3, int p1, int p2, int p3, int s1, int s2,int s3,int t1,int l1, int m1) -
非常感谢您的帮助! :)
-
请仔细阅读警告信息和错误,给点时间,你会自己找到答案的:)
-
现在我只有一个错误"语句丢失;在函数 main.
-
@Spencer ...所以添加缺少的
;?
标签: c