舒畅 发表于 2017-7-2 19:43:02

最后一次作业

#include<stdio.h>  #include<string.h>
  struct student{
  int sno;
  char name;
  float grade1,grade2,grade3;
  float avg;
  };
  int Count=0;
  void new_stu(struct student stu[ ],int n);
  void search_stu(struct student stu[ ],char *name);
  void print_stu(struct student stu[ ]);
  void avg_grade(struct student stu[ ]);
  int main(void)
  {
  int choice,n;
  char name;
  struct student stu;
  do{
  printf("*****学生管理系统*****\n");
  printf("\t1:输入学生信息\n");
  printf("\t2:输出学生信息\n");
  printf("\t3:计算平均成绩\n");
  printf("\t4:按姓名查找学生基本信息\n");
  printf("\t0:退出\n");
  printf("请选择功能:");
  scanf("%d",&choice);
  switch(choice){
  case 1:
  printf("输入学生人数:");
  scanf("%d",&n);
  new_stu(stu,n);
  break;
  case 2:
  print_stu(stu);
  break;
  case 3:
  avg_grade(stu);
  break;
  case 4:
  printf("请输入查询的联系人:");
  scanf("%s",name);
  search_stu(stu,name);
  break;
  case 0:
  break;
  }
  }while(choice!=0);
  printf("谢谢您使用该学生管理系统!!\n");
  return 0;
  }
  void print_stu( struct student stu[ ])
  {
  printf("学生信息管理系统里的学生为:\n");
  int i;
  for(i=0;i<Count;i++)
  {
  printf("%d %s %.2f %.2f %.2f\n",stu.sno,stu.name,stu.grade1,stu.grade2,stu.grade3);
  }
  }
  void new_stu(struct student stu[ ],int n)
  {
  int i;
  if(Count==50){
  printf("系统已满!!\n");
  return ;
  }
  printf("请输入%d学生的学号:",n);
  printf("\n");
  printf("请输入%d学生的姓名:",n);
  printf("\n");
  printf("请输入%d学生的成绩1:",n);
  printf("\n");
  printf("请输入%d学生的成绩2:",n);
  printf("\n");
  printf("请输入%d学生的成绩3:",n);
  printf("\n");
  for(i=Count;i<Count+n;i++){
  scanf("%d%s%f%f%f",&stu.sno,stu.name,&stu.grade1,&stu.grade2,&stu.grade3);
  }
  Count=Count+n;
  }
  void search_stu( struct student stu[],char *name)
  {
  int i,flag=0;
  if(Count==0){
  printf("系统是空的!!");
  return ;
  }
  for(i=0;i<Count;i++)
  if(strcmp(name,stu.name)==0) {
  flag=1;
  break;
  }
  if(flag){
  printf("学号:%d姓名:%s",stu.sno,stu.name);
  printf("成绩1:%.2f成绩2:%.2f成绩3:%.2f",stu.grade1,stu.grade2,stu.grade3);
  }
  else
  printf("无此学生!!");
  printf("\n");
  }
  void avg_grade(struct student stu[ ])
  {
  int i;
  if(Count==0){
  printf("该系统无学生!!");
  printf("\n");
  return;
  }
  printf("输入每个学生的平均成绩:\n");
  for(i=0;i<Count;i++){
  stu.avg=(stu.grade1+stu.grade2+stu.grade3)/3;
  printf("第%d个学生的平均成绩是;%.2f\n",i+1,stu.avg);
  }
  }
页: [1]
查看完整版本: 最后一次作业