跪求各位 c语言程序设计 学生成绩管理系统 100
1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序(3)能查询学生成绩,不及格科目及学生名单...
1)能按学期、按班级完成对学生成绩的录入、修改
(2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序
(3)能查询学生成绩,不及格科目及学生名单
(4)能按班级输出学生的成绩单
我的邮箱是 qiaoyuanhao001@163.com
不要粘贴的 运行不了 谢谢各位了
答得好我能给加钱 展开
(2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序
(3)能查询学生成绩,不及格科目及学生名单
(4)能按班级输出学生的成绩单
我的邮箱是 qiaoyuanhao001@163.com
不要粘贴的 运行不了 谢谢各位了
答得好我能给加钱 展开
2个回答
2009-06-09
展开全部
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#define LEN sizeof(struct stu)
//#define NULL 0
struct score
{
char work1[64];
int score1;
char work2[64];
int score2;
char work3[64];
int score3;
};
struct stu
{
char name[100];
int age;
int classes;
char address[500];
char telephone[14];
struct score results;
struct stu *next;
};
struct stu *create(void)//创建链表
{
struct stu *p1,*p2,*head;
int n=0;
p1=p2=(struct stu *)malloc(LEN);
head=NULL;
printf("input the name: \nif name is empty,stop.\n");
while(1)
{
gets(p1->name);
if(p1->name[0]=='\0')
{
p2->next=NULL;
free(p1);
break;
}
else
{
printf("input : ");
scanf("%d",&p1->age);getchar();
scanf("%d",&p1->classes);getchar();
gets(p1->address);
gets(p1->telephone);
gets(p1->results.work1);
scanf("%d",&p1->results.score1);getchar();
gets(p1->results.work2);
scanf("%d",&p1->results.score2);getchar();
gets(p1->results.work3);
scanf("%d",&p1->results.score3);getchar();
n++;
if(n==1)
head=p1;//链表头
else p2->next=p1;
p2=p1;
p1=(struct stu *)malloc(LEN);
printf("input the name: \n");
}
}
return head;
}
sort(struct stu *head)//计算全部平均成绩
{
struct stu *p;
int sum,aver,n;
sum=0;aver=0;n=0;
if(head==NULL)return aver;
for(p=head;p!=NULL;p=p->next)
{
sum+=p->results.score1;
n++;
sum+=p->results.score2;
n++;
sum+=p->results.score3;
n++;
}
aver=sum/n;
return aver;
}
void list(struct stu *head)//未写完
{
struct stu *p;
if(head==NULL)
printf("There is no shudent in it.");
for(p=head;p!=NULL;p=p->next)
{
gets(p->name);
printf(": age:%d\nclass:%d\naddress:",p->age,p->classes);
gets(p->address);
printf("telephone: ");
gets(p->telephone);
}
}
void main()
{
struct student *head;
int n,flag,aver;
char ch;
head=create();
aver=sort(head);
printf("%d",aver);
// list(head);
}
#include<string.h>
#include<malloc.h>
#define LEN sizeof(struct stu)
//#define NULL 0
struct score
{
char work1[64];
int score1;
char work2[64];
int score2;
char work3[64];
int score3;
};
struct stu
{
char name[100];
int age;
int classes;
char address[500];
char telephone[14];
struct score results;
struct stu *next;
};
struct stu *create(void)//创建链表
{
struct stu *p1,*p2,*head;
int n=0;
p1=p2=(struct stu *)malloc(LEN);
head=NULL;
printf("input the name: \nif name is empty,stop.\n");
while(1)
{
gets(p1->name);
if(p1->name[0]=='\0')
{
p2->next=NULL;
free(p1);
break;
}
else
{
printf("input : ");
scanf("%d",&p1->age);getchar();
scanf("%d",&p1->classes);getchar();
gets(p1->address);
gets(p1->telephone);
gets(p1->results.work1);
scanf("%d",&p1->results.score1);getchar();
gets(p1->results.work2);
scanf("%d",&p1->results.score2);getchar();
gets(p1->results.work3);
scanf("%d",&p1->results.score3);getchar();
n++;
if(n==1)
head=p1;//链表头
else p2->next=p1;
p2=p1;
p1=(struct stu *)malloc(LEN);
printf("input the name: \n");
}
}
return head;
}
sort(struct stu *head)//计算全部平均成绩
{
struct stu *p;
int sum,aver,n;
sum=0;aver=0;n=0;
if(head==NULL)return aver;
for(p=head;p!=NULL;p=p->next)
{
sum+=p->results.score1;
n++;
sum+=p->results.score2;
n++;
sum+=p->results.score3;
n++;
}
aver=sum/n;
return aver;
}
void list(struct stu *head)//未写完
{
struct stu *p;
if(head==NULL)
printf("There is no shudent in it.");
for(p=head;p!=NULL;p=p->next)
{
gets(p->name);
printf(": age:%d\nclass:%d\naddress:",p->age,p->classes);
gets(p->address);
printf("telephone: ");
gets(p->telephone);
}
}
void main()
{
struct student *head;
int n,flag,aver;
char ch;
head=create();
aver=sort(head);
printf("%d",aver);
// list(head);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询