学生成绩管理系统(指针,动态数组…

    2013年1月4日 15:59:52 ,
 目的:熟练多级指针和动态数组,对冒泡法的复习,
 功能:输入学生成绩和姓名,输出成绩排序。
#include
#include
struct student
{
 int age;
 float score;
 char name[100];
};

void Inputscore(struct student * p2,int len)
{
 int i;

 for(i=0;i
 {
         printf("请输入第%d个学生的姓名:",i+1);
   scanf("%s",p2[i].name);
   printf("请输入第%d个学生的年龄:",i+1);
   scanf("%d",&(p2[i].age));//p1[i].age
   printf("请输入第%d个学生的分数:",i+1);
   scanf("%f",&(p2[i].score));
 }

}
void Outscore(struct student * p3,int len)

 int i;
 for(i=0;i
 {
         printf("第%d名学生的姓名:",i+1);
   printf("%s\n",p3[i].name);
   printf("第%d名学生的年龄:",i+1);
   printf("%d\n",p3[i].age);
   printf("第%d名学生的分数:",i+1);
   printf("%.1f\n",p3[i].score);

 }

}
void Paixu(struct student * p4,int len)
{
 int i,j;
 for (i=0;i
 {
  for (j=0;j
  {
   if(p4[j].score
   {
    struct student text;
    text =p4[j+1];
    p4[j+1]=p4[j];
    p4[j]=text;
   }
  }
 }
 
}

void main()
{
 
 int len;
 printf("请输入学生人数:");
 scanf("%d",&len);
 struct student * p1;
 p1=(struct student *)malloc(len*sizeof(struct student));
 Inputscore(p1,len);
 printf("学生信息如下:\n-----------------------\n");
 Outscore(p1,len);
 printf("\n-----------------------\n成绩排名为:\n");
 Paixu(p1,len);
 Outscore(p1,len);
}


在VC6.0的结果是:
   ----------------------------------
   请输入学生人数:4
请输入第1个学生的姓名:q
请输入第1个学生的年龄:11
请输入第1个学生的分数:60
请输入第2个学生的姓名:a
请输入第2个学生的年龄:13
请输入第2个学生的分数:70
请输入第3个学生的姓名:b
请输入第3个学生的年龄:13
请输入第3个学生的分数:89
请输入第4个学生的姓名:c
请输入第4个学生的年龄:14
请输入第4个学生的分数:96
学生信息如下:
-----------------------
第1名学生的姓名:q
第1名学生的年龄:11
第1名学生的分数:60.0
第2名学生的姓名:a
第2名学生的年龄:13
第2名学生的分数:70.0
第3名学生的姓名:b
第3名学生的年龄:13
第3名学生的分数:89.0
第4名学生的姓名:c
第4名学生的年龄:14
第4名学生的分数:96.0

-----------------------
成绩排名为:
第1名学生的姓名:c
第1名学生的年龄:14
第1名学生的分数:96.0
第2名学生的姓名:b
第2名学生的年龄:13
第2名学生的分数:89.0
第3名学生的姓名:a
第3名学生的年龄:13
第3名学生的分数:70.0
第4名学生的姓名:q
第4名学生的年龄:11
第4名学生的分数:60.0
 ----------------------------------

总结 :调试多次,多级指针和应用不熟练,对函数和结构体的了解不够。

新手学习,欢迎指正。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值