#include <stdio.h>
#include <string.h>
#include <conio.h>
#define N 100
struct student
{  char XUEHAO[10];
    char BANJI[6];
    char XINGMING[6];
    char XINGBIE[2];
    char SHENGRI[8];
    char JIGUAN[10];
    char XUEYUAN[10];
    char TIANHUA[10];
};
void CAIDAN();
void LURU();
void SHAXUN();
void sch_XUEHAO(FILE *fp);
void sch_XINGMING(FILE *fp);
void SHANCHU();
void del_XUEHAO(FILE *fp);
void del_XINGMING(FILE *fp);
void TIANJIA();
void XIUGAI();
void XIANZHI();
void TONGJI();
main()
{  char choose,yes_no;
    do
    {    CAIDAN();
        printf("\n    请输入序号:  (1~8) ");
        choose=getch();
        switch(choose)
        {  case'1': printf(" %c",choose);LURU();break;
    case'2': printf(" %c",choose);SHAXUN();break;
    case'3': printf(" %c",choose);SHANCHU();break;
    case'4': printf(" %c",choose);TIANJIA();break;
    case'5': printf(" %c",choose);XIUGAI();break;
    case'6': printf(" %c",choose);XIANZHI();break;
    case'7': printf(" %c",choose);TONGJI();break;
          case'8': break;
fopen函数失败
    default:printf("\n  %c 序号不对!\n",choose);
        }
if(choose=='8')break;
    printf("\n    要继续选择吗 ? (Y/N) \n");
        do
        { yes_no=getch(); printf(" %c",yes_no);}
while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
    }while(yes_no=='Y'||yes_no=='y');
}
void CAIDAN()
{
  printf("\n\n\n");
  printf("            **************************************** \n ");
  printf("            *          请输入序号: (1~ 8)            * \n ");
  printf("            *          1------录入学生信息          * \n ");
  printf("            *          2------查询学生信息          * \n ");
  printf("            *          3------删除学生信息          * \n ");
  printf("            *          4------添加学生信息          * \n ");
  printf("            *          5------修改学生信息          * \n ");
  printf("            *          6------显示学生信息          * \n ");
  printf("            *          7------查同一个学院的人数  * \n ");
  printf("            *          8------退出系统              * \n ");
  printf("            **************************************** \n ");
}
/*定义录入学生信息的函数*/
void LURU()
{ int i=1;
  struct student temp;
  FILE *fp;
  fp=fopen("123.dat","w");
  if(fp==NULL){  printf("\n  打开文件失败! \n");return;  }
  printf("\n  请输入第1个学生信息:\n");
  printf("    学号(用#结束输入):  ");
  do
    { gets(temp.XUEHAO);}
  while(strcmp(temp.XUEHAO," ")==0);
  printf("    班级(用#结束输入):  ");gets(temp.BANJI);
  printf("    姓名(用#结束输入):  ");gets(temp.XINGMING);
  printf("    性别(用#结束输入):  ");gets(temp.XINGBIE);
  printf("    生日(用#结束输入):  ");gets(temp.SHENGRI);
  printf("    籍贯(用#结束输入):  ");gets(temp.JIGUAN);
  printf("    学院(用#结束输入):  ");gets(temp.XUEYUAN);
  printf("    电话(用#结束输入):  ");gets(temp.TIANHUA);
  while(temp.XUEHAO[0]!='#'&&temp.BANJI[0]!='#'&&temp.XINGMING[0]!='#'&&temp.XINGBIE[0]!='#'&&temp.SHENGRI[0]!='#'&&temp.JIGUAN[0]!='#'&&temp.XUEYUAN[0]!='#'&&temp.TIANHUA[0]!='#')
{ fprintf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",temp.XUEHAO,temp.BANJI,temp.XINGMING,temp.XINGBIE,temp.SHENGRI,temp.JIGUAN,temp.XUEYUAN,temp.TIANHUA);
  i++;
  printf("\n    请输入第 %d 个学生信息:\n ",i);
  printf("    学号(用#结束输入):  ");
  do
    { gets(temp.XUEHAO);}
  while(strcmp(temp.XUEHAO," ")==0);
  printf("    班级(用#结束输入):  ");gets(temp.BANJI);
  printf("    姓名(用#结束输入):  ");gets(temp.XINGMING);
  printf("    性别(用#结束输入):  ");gets(temp.XINGBIE);
  printf("    生日(用#结束输入):  ");gets(temp.SHENGRI);
  printf("    籍贯(用#结束输入):  ");gets(temp.JIGUAN);
  printf("    学院(用#结束输入):  ");gets(temp.XUEYUAN);
  printf("    电话(用#结束输入):  ");gets(temp.TIANHUA);
}
fclose(fp);
}
/*定义查询学生信息的函数*/
void SHAXUN()
{ char c;
  FILE *fp;
  fp=fopen("123.dat","r");
  if(fp==NULL)
      { printf("\n    打开文件失败! \n");return; }
  printf("\n    按学号查询( 1 ),还是按姓名查询( 2 )?  ");
  c=getch();
  putch(c);
  if(c=='1')  sch_XUEHAO(fp);
  else if(c=='2')  sch_XINGMING(fp);
  else printf("\n  非法字符!\n");
  fclose(fp);
}
/*定义按学号查询学生信息的函数*/
void sch_XUEHAO(FILE *fp)
{  int flag=0,n=0;
    char tempXUEHAO[10];
    struct student temp;
    printf("\n    请输入要查询学生信息的学号: ");
    gets(tempXUEHAO);
    while(feof(fp)==0)
      { fscanf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",&temp.XUEHAO,&temp.BANJI,&temp.XINGMING,&temp.XINGBIE,&temp.SHENGRI,&temp.JIGUAN,&temp.XUEYUAN,&temp.TIANHUA);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。