正文

学生信息管理系统(c语言)2006-09-19 23:36:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wangsdong/18592.html

分享到:

#include <stdio.h>#include <string.h> struct student { char name[30]; float math; float chinese; float english; float average;}; int MenuChoice(void);int EnterAccount(void);void Enter(struct student *fst);void Amend(struct student *src);void Delete(struct student *next);void Print(struct student *out); main(){ struct student one[100] = {0}, *look = one; int menu, t;  while ((menu = MenuChoice()) != 0)      if (menu >= 1 && menu <= 4 && (t = EnterAccount())) {   look = one + t;     switch (menu) {   case 1:    Enter(look);    break;   case 2:    if (strcmp(look->name, ""))     printf("学号:%d\n姓名: %s\n语文成绩: %.1f\n数学成绩:%.1f\n英语成绩: %f\n平均"成绩:%.1f\n",         t, look->name, look->chinese, look->math, look->english, look->average);   else      printf("对不起,该学号不存在!\n");         break;   case 3:    Amend(look);       break;   case 4:    Delete(look);    break;   }  }  else if (menu == 5)   Print(one);  else   printf("错误的请求!\n");  return 0;} int MenuChoice(void)  { int choice; printf("请选择:\n"  "1 - 新建学生信息\n"  "2 - 查找学生信息\n"  "3 - 修改学生信息\n"  "4 - 删除学生信息\n"  "5 - 打印学生信息\n"  "0 - 退出\n"); scanf("%d", &choice);  return choice;} int EnterAccount(void){ int ret;  printf("请输入学号:\n");scanf("%d", &ret);  if (ret >= 1 && ret <= 100)  return ret -1;  return 0;} void Enter(struct student *fst){ printf("请输入学生姓名、语文成绩、数学成绩、英语成绩和平均成绩\n"); scanf("%s%f%f%f%f", fst->name, &fst->chinese, &fst->math, &fst->english, &fst->average);} void Amend(struct student *src){ int t;  printf("请选择:\n"  "1 - 修改学生姓名\n"  "2 - 修改学生语文成绩\n"  "3 - 修改学生数学成绩\n"  "4 - 修改学生英语成绩\n"  "5 - 修改学生平均成绩\n"); scanf("%d", &t);  switch (t) { case 1:  printf("请输入学生的新名字\n");  scanf("%s", src->name);  break; case 2:  printf("请输入学生新的语文成绩\n");  scanf("%f", &src->chinese);  break; case 3:  printf("请输入学生新的数学成绩\n");  scanf("%f", &src->math);  break; case 4:  printf("请输入学生新的英语成绩\n");  scanf("%f", &src->english);  break; case 5:  printf("请输入学生新的平均成绩\n");  scanf("%f", &src->average);  break; } } void Delete(struct student *next){ strcpy(next->name, ""); next->math = next->english = next->chinese = next->average = 0.0;} void Print(struct student *out){ struct student *up;   for (up = out; out < &up[100]; out++)       if (strcmp(out->name, ""))        printf("学号:%d\n姓名: %s\n语文成绩: %.1f\n数学成绩:%.1f\n英语成绩: %.1f\n平均成绩:%.1f\n",              out-up + 1, out->name, out->chinese, out->math, out->english,  out->average);}

阅读(20695) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册