高手们,谁能帮我写一个C程序,作业急用!!

C语言-课程结业设计

题目:
编写程序,
要求从用户取入10个学生的信息,包括:姓名、学号、英语成绩、数学成绩、C语言成绩、体育成绩。
对每个学生成绩求平均值,存入单精度型数组。
把学生信息以及平均值,用适当的格式,写入文件。
并显示在屏幕,以验证文件格式。

作业完成时,除完成基本功能意外,欲得高分者可尽量将
1、程序交互性设计的人性化
2、增强程序应对用户输入出错的能力
3、使输出文件格式看起来清晰。
4、加入自己的创意。

拜托了!!
报错了!
C:\Windows\System32\c作业.c(14) : error C2143: syntax error : missing ')' before '*'

#include <stdio.h>

struct student
{
char name[10];
char no[20];//学号
float yinyu;
float shuxue;
float cyuyan;
float tiyu;
};

//输入学生信息
void inputstudent(student* st)
{
printf("请输入学生姓名:");
scanf("%s",st->name);
printf("学号:");
scanf("%s",st->no);
printf("英语:");
scanf("%f",&st->yinyu);
printf("数学:");
scanf("%f",&st->shuxue);
printf("C语言:");
scanf("%f",&st->cyuyan);
printf("体育:");
scanf("%f",&st->tiyu);
}

//求平均成绩
float getavge(student* st)
{
return (st->yinyu+st->shuxue+st->cyuyan+st->tiyu)/4.0f;
}

//输出学生信息到文件或屏幕(f==NULL时输出到屏幕)
void outputstudent(student* st,FILE* f)
{
if(f==NULL)
f=stdout;
fprintf(f,"%s %s %.2f %.2f %.2f %.2f %.2f\n",st->name,st->no,st->yinyu,st->shuxue,st->cyuyan,st->tiyu,getavge(st));
}

//输出信息头
void printhead(FILE* f)
{
if(f==NULL)
f=stdout;
fprintf(f,"姓名 学号 英语 数学 C语言 体育 平均\n");
}

void main()
{
int i;
const static int n=10;//10个学生
student st[n];//n个学生
float avge[n];//n个学生的平均成绩
//输入学生信息
for(i=0;i<n;i++)
{
inputstudent(&st[i]);
}
//求平均成绩
for(i=0;i<n;i++)
{
avge[i]=getavge(&st[i]);
}
FILE* fi=fopen("student.txt","w+");
printhead(fi);
printhead(NULL);
for(i=0;i<n;i++)
{
//输出到文件
outputstudent(&st[i],fi);
//输出到屏幕
outputstudent(&st[i],NULL);
}
fclose(fi);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-05
卧了个槽,这是什么老师布置的作业?你们是什么班级,这两天这道题目我在这里起码遇到过5次。。。
第2个回答  2010-05-05
把所有的student* st改成struct student *st 看看吧
我比较懒
第3个回答  2010-05-05
#include <stdio.h>

struct student
{
char name[10];
char no[20];//学号
float yinyu;
float shuxue;
float cyuyan;
float tiyu;
};

//输入学生信息
void inputstudent(student* st)
{
printf("请输入学生姓名:");
scanf("%s",st->name);
printf("学号:");
scanf("%s",st->no);
printf("英语:");
scanf("%f",&st->yinyu);
printf("数学:");
scanf("%f",&st->shuxue);
printf("C语言:");
scanf("%f",&st->cyuyan);
printf("体育:");
scanf("%f",&st->tiyu);
}

//求平均成绩
float getavge(student* st)
{
return (st->yinyu+st->shuxue+st->cyuyan+st->tiyu)/4.0f;
}

//输出学生信息到文件或屏幕(f==NULL时输出到屏幕)
void outputstudent(student* st,FILE* f)
{
if(f==NULL)
f=stdout;
fprintf(f,"%s %s %.2f %.2f %.2f %.2f %.2f\n",st->name,st->no,st->yinyu,st->shuxue,st->cyuyan,st->tiyu,getavge(st));
}

//输出信息头
void printhead(FILE* f)
{
if(f==NULL)
f=stdout;
fprintf(f,"姓名 学号 英语 数学 C语言 体育 平均\n");
}

void main()
{
int i;
const static int n=10;//10个学生
student st[n];//n个学生
float avge[n];//n个学生的平均成绩
//输入学生信息
for(i=0;i<n;i++)
{
inputstudent(&st[i]);
}
//求平均成绩
for(i=0;i<n;i++)
{
avge[i]=getavge(&st[i]);
}
FILE* fi=fopen("student.txt","w+");
printhead(fi);
printhead(NULL);
for(i=0;i<n;i++)
{
//输出到文件
outputstudent(&st[i],fi);
//输出到屏幕
outputstudent(&st[i],NULL);
}
fclose(fi);
}
其中少了歌“;”你找找
相似回答