学生获奖管理系统

#include<stdio.h> 
#include<stdlib.h> 
#include<string.h> 
typedef struct person
{
 char num[10];
 char name[20];
 float  cyuyan;
 float   en;
 float    ji;
 float   guti;
}person;
person per[200];
char filename[20];
int menu_select()
{
 char c;
 do{
  system("cls");
  printf("\t ╭═══════════■□■□═════════════╮\n");
  printf("\t│         学生信息管理系统         │\n");
  printf("\t╰ ═══════════■□■□═════════════ ╯\n");
  printf("\t   ┌────────────────────────────┐\n");
  printf("\t   │ 1. 添加记录    2. 显示记录 │\n");
  printf("\t   │                            │\n");
  printf("\t   │ 3. 信息查询    4. 数据计算 │\n");
  printf("\t   │                            │\n");
  printf("\t   │ 5. 删除记录    0. 退出程序 │\n");
  printf("\t   │                            │\n");
  printf("\t   └────────────────────────────┘\n");
  printf("\t    请您选择(0-5):");
  c = getchar();
  printf("\n");
 } while (c<'0' || c>'5');
 return (c - '0');
}
void add()
{
 FILE *fp;
 int i = 0, n = 0;
 char sign = 'y';
 system("cls");
 person p[200];
 while (sign != 'n'&&sign != 'N')
 {
  printf("             ----学生纪录添加----\n");
  printf("姓名:\n");
  scanf("\t%s", p[i].name);
  printf("学号:\n");
  scanf("\t%s", p[i].num);
  printf("A类奖:\n");
  scanf("\t%f", &p[i].cyuyan);
  printf("B类奖:\n");
  scanf("\t%f", &p[i].en);
  printf("C类奖:\n");
  scanf("\t%f", &p[i].ji);
  printf("D类奖:\n");
  scanf("\t%f", &p[i].guti);
  printf("是否继续添加?(y/n)");
  scanf("\t%c", &sign);
  i++;
  n = n + 1;
  system("cls ");
 }
 system("pause");
 if ((fp = fopen("studata.txt", "a")) == NULL)
 {
  printf("cannot open the files\n");
  system("pause");
  return;
 }
 for (i = 0; i<n; i++)
 {
  fprintf(fp, "%s %s %f %f %f %f ", p[i].name, p[i].num, p[i].cyuyan, p[i].en, p[i].ji, p[i].guti);
 }
 fclose(fp);
 system("pasue");
}
void scan()
{
 void amend();
 char sign = 'y';
 FILE *fp;
 int n;
 system("cls");
 if ((fp = fopen("studata.txt", "r")) == NULL)
 {
  printf("cannot open the files\n");
  system("pause");
  return;
 }
 int i = 0;
 while (fscanf(fp, "%s  %s   %f   %f   %f   %f", per[i].name, per[i].num, &per[i].cyuyan, &per[i].en, &per[i].ji, &per[i].guti) != EOF)
 {
  printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  printf("   姓名   学号   A类奖   B类奖   C类奖   D类奖    \n");
  printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  printf("   %s     %s       %.0f       %.0f       %.0f      %.0f\n", per[i].name, per[i].num, per[i].cyuyan, per[i].en, per[i].ji, per[i].guti);
  printf("\n");
  i++;
 }
 system("pause");
 system("cls");
}

void query()
{
 system("cls");
 person p[200];
 FILE *fp1;
 int i = 0;
 int n = 0;
 int m;
 printf("\t\n请选择查询方式:\n");
 printf("\t┌────────────┐\n");
 printf("\t│1------姓名 │\n");
 printf("\t│2------学号 │\n");
 printf("\t│3------返回 │\n");
 printf("\t└────────────┘\n");
 printf("请输入你要查询的方式\n");
 scanf("%d", &m);
 while (m != 1 && m != 2 && m != 3)
 {
  printf("输入错误请重新查询\n");
  scanf("%d", &m);
 }
 if ((fp1 = fopen("studata.txt", "r")) == NULL)
 {
  printf("cannot open the files\n");
 }

 while (fscanf(fp1, "%s %s %f %f %f %f", p[i].name, p[i].num, &p[i].cyuyan, &p[i].en, &p[i].ji, &p[i].guti) != EOF)
 {
  i++;
  n = n + 1;
 }
  if (m == 1)
  {
   char s[20];
   int j = 0;
   printf("\t请输入想查询的姓名:");
   scanf("\t%s", s);
   while (strcmp(p[j].name, s) != 0 && j < n) j++;
   {
    
    if (j == n)
    {
     printf("无\n"); system("pause");
    }
    else
    {
     printf("\t学号: %s\n", p[j].num);
     printf("\t姓名: %s\n", p[j].name);
     printf("\tA类奖: %.0f\n", p[j].cyuyan);
     printf("\tB类奖: %.0f\n", p[j].en);
     printf("\tC类奖: %.0f\n", p[j].ji);
     printf("\tD类奖: %.0f\n", p[j].guti);
     system("pause");
    }
   }
  }
  if (m == 2)
  {
   char s[15];
   int i = 0;
   printf("请输入想查询的学号:");
   scanf("\t%s", s);
   while (strcmp(p[i].num, s) != 0 && i < n)i++;
   {
    
    if (i == n)
    {
     printf("\t通讯录中没有此人!\n");
     system("pause");
     
    }
    else
    {
     printf("\t学号: %s\n", p[i].num);
     printf("\t姓名: %s\n", p[i].name);
     printf("\tA类奖: %.0f\n", p[i].cyuyan);
     printf("\tB类奖:%.0f\n", p[i].en);
     printf("\tC类奖: %.0f\n", p[i].ji);
     printf("\tD类奖: %.0f\n", p[i].guti);
     system("pause");
    
    }
   }
  }
  if (m == 3) return;
  fclose(fp1);
  query();
  system("pause");
  
  
  
 }
 

void date()
{
 person per[200];
 FILE *fp;
 struct person temp;
 float s[200];
 int i = 0, n = 0;
 int j, k, t;
 int m;
 system("cls");
 printf("\t\n选择排序方式:\n");
 printf("\t┌────────────┐\n");
 printf("\t│1----  A类奖│\n");
 printf("\t│2----  B类奖│\n");
 printf("\t│3----  C类奖│\n");
 printf("\t│4----  D类奖│\n");
 printf("\t│5----  返回 │\n");
 printf("\t└────────────┘\n");
 printf("请输入你要排序的方式\n");
 scanf("%d", &m);
 while (m != 1 && m != 2 && m != 3 && m != 4 && m != 5)
 {
  printf("输入错误请重新输入\n");
  scanf("%d", &m);
 }
 if ((fp= fopen("studata.txt", "r")) == NULL)
 {
  printf("cannot open the files\n");
  system("pause");
 }
 while (fscanf(fp, "%s%s%f%f%f%f", per[i].name, per[i].num, &per[i].cyuyan, &per[i].en, &per[i].ji, &per[i].guti) != EOF)
 {
  i++;
  n = n + 1;
 }
 if (m == 2)
 {
  for (i = 0; i<n-1; i++)
  {
   k = i;
   for (j = i + 1; j<n; j++)
   {
    if (per[j].en>per[k].en)
    {
     k = j;
     temp = per[k]; per[k] = per[i]; per[i] = temp;
    }
   }
  }
  system("cls");
  printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  printf("        姓名     学号     A类奖     B类奖     C类奖     D类奖     \n");
  printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  for (i = 0; i<n; i++)
  {
   printf("       %s        %s        %.0f        %.0f        %.0f        %.0f\n", per[i].name, per[i].num, per[i].cyuyan, per[i].en, per[i].ji, per[i].guti);
   printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  }
  system("pause");
  fclose(fp);
 }
 if (m == 3)
 {
  for (i = 0; i<n ; i++)
  {
   k = i;
   for (j = i + 1; j<n; j++)
   {
    if (per[j].ji>per[k].ji)
    {
     k = j;
     temp = per[k]; per[k] = per[i]; per[i] = temp;
    }
   }
  }system("cls");
  printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  printf("        姓名     学号     A类奖     B类奖     C类奖     D类奖     \n");
  printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  for (i = 0; i<n; i++)
  {
   printf("       %s        %s        %.0f        %.0f        %.0f        %.0f\n", per[i].name, per[i].num, per[i].cyuyan, per[i].en, per[i].ji, per[i].guti);
   printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  }
  system("pause");
  /*fclose(fp);*/
 }
 if (m == 1)
 {
  for (i = 0; i<n ; i++)
  {
   k = i;
   for (j = i + 1; j<n; j++)
   {
    if (per[j].cyuyan>per[k].cyuyan)
    {
     k = j;
     temp = per[k]; per[k] = per[i]; per[i] = temp;
    }
   }
  }system("cls");
  printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  printf("        姓名     学号     A类奖     B类奖     C类奖     D类奖     \n");
  printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  for (i = 0; i<n; i++)
  {
   printf("       %s        %s        %.0f        %.0f        %.0f        %.0f\n", per[i].name, per[i].num, per[i].cyuyan, per[i].en, per[i].ji, per[i].guti);
   printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  }
  system("pause");
  /*fclose(fp);*/
 }
 if (m == 4)
 {
  for (i = 0; i<n; i++)
  {
   k = i;
   for (j = i + 1; j<n; j++)
   {
    if (per[j].guti>per[k].guti)
    {
     k = j;
     temp = per[k]; per[k] = per[i]; per[i] = temp;
    }
   }
  }system("cls");
  printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  printf("        姓名     学号     A类奖     B类奖     C类奖     D类奖     \n");
  printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  for (i = 0; i<n; i++)
  {
   printf("       %s        %s        %.0f        %.0f        %.0f        %.0f\n", per[i].name, per[i].num, per[i].cyuyan, per[i].en, per[i].ji, per[i].guti);
   printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
  }
  system("pause");
 }
 if (m == 5) return;
 fclose(fp);
 date();
 system("pause");
}
 
void delet()
{
 person p[200];
 FILE *fp;
 char s[10];
 int i = 0, n = 0;
 if ((fp = fopen("studata.txt", "r")) == NULL)
 {
  printf("cannot open the files\n");
  system("pause");
  return;
 }
 while (fscanf(fp, "%s%s%f%f%f%f", p[i].name, p[i].num, &p[i].cyuyan, &p[i].en, &p[i].ji, &p[i].guti) != EOF)
 {
  i++;
  n = n + 1;
 }
 fclose(fp);
 printf("学生学号:");
 scanf("%s", s);
 i = 0;
 while (strcmp(p[i].num, s) != 0 && i<n)
 {
  i++;
 }
 if (i == n)
 {
  printf("\t通讯录中没有此人!\n");
  system("pause");
 }
 else
 {
  FILE *fin, *ftp;
  fin = fopen("studata.txt", "r");
  ftp = fopen("tmp.txt", "w");
  if (fin == NULL || ftp == NULL){
   printf("Open the file failure...\n");
   exit(0);
  }
  int kk = 0;
  while (kk<n)
  {
   if (strcmp(p[kk].num, s) != 0)
   {
    fprintf(ftp, "%s %s %f %f %f %f\n", p[kk].name, p[kk].num, p[kk].cyuyan, p[kk].en, p[kk].ji, p[kk].guti);
   }
   kk++;
  }

  fclose(fin);
  fclose(ftp);
  remove("studata.txt");
  rename("tmp.txt", "studata.txt");
  printf("删除成功!");
  system("pause");
 }
}
int main()
{
 
 int n = 0;
 for (;;)
 {
  switch (menu_select())
  {
  case 1:
   printf("\t\t *^_^*学生记录添加 *^_^*\n");
   add();
   break;
  case 2:
   printf("\t\t *^_^*学生信息浏览 *^_^*\n");
   scan();
   break;
  case 3:
   printf("\t\t *^_^*学生信息查询 *^_^*\n");
   query();
   break;
  case 4:
   printf("\t\t *^_^*数据计算 *^_^*\n");
   date();
   break;
  case 5:
   printf("\t\t *^_^*数据删除 *^_^*\n");
   delet();
   break;
  case 0:
   printf("\n\t\t谢谢使用,再见!\n");
   printf("\n\t\t");
   system("pause");
   exit(0);
  }
 }
 return 0;
 
}
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
教师获奖信息管理系统 v1.2.0 功能简介: 教师获奖信息管理系统是目前学校提供教师获奖服务的重要内容,在基于现代网络动态交互技术的基 础上,采用互联网的技术,基于B/S结构构建高校日常教师业务信息网上平台。该系统基于网络实现 教师获奖信息(教学、科研等信息)的上传、日常信息维护、查询、EXCEL报表生成、打印、系统动 态维护等多项功能,为教师获奖信息提供一个跨平台、跨系统的信息化管理服务,并可以为对教师的 管理提供一站式服务。 系统主要功能是对教师基本信息和获奖信息的录入、修改、查询和打印。 一、软件的启动  把软件压缩包下载后解压,使用IIS配置,完成配置后启动 本系统。本系统是源码软件,不需安装。 二、信息录入 点击菜单中的添加获奖信息 录入,按要求输入内容(姓名,类别,级别,等级,获奖日期,获奖单位 ,证书照片,获奖概要) 三、信息修改  如果录入完成后发现错误,可以在管理员后台对信息进行修改。这一过程可以进行信息删除、添加 和修改。 四、数据的上报 信息维护菜单中有EXCEL数据导出备份。点击备份后,生成EXCEL上报数据,并导出备份到硬盘。上报 办公室。 后台管理:(admin/admin) index.asp?action=login 模糊搜索查询:可以按姓名,概要,开始时间与结束时间,类别 ,级别,等级来查询。 可分页显示,跳转显示,并可显示所有老师获奖信息,及证书照片 如果老师(任意人)新增加的获奖信息都需要后台通过审核后才可在前台列表中显示出来。 可以修改,删除,审核,添加获奖信息,并可修改管理员账号密码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值