用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

非原创

2014-05-07 作者: 夏夏弥弥举报

[c]代码库

#include"stdio.h"
#include"stdlib.h"
#include"conio.h"
//定义结构体类型
typedef struct student
{
  int num;//学号
  char name[20];
  char sex[3];
  int age;
  char sdept[20];
  int score;
  char phone[20];
}student;
 
student s;
FILE *fp;
 
//欢迎界面
void welcome()
{
    int t=0;
  for(int i=0;i<=100;i++)
  {
    printf("\n\n\n\n\t\t***************学生管理系统**********");
    
 
    for(int j=0;j<=t;j++)
    {
      printf("|||");
    }
    t++;
    if(t==7)t=0;
    printf("\n\n%d%%\n",i);
    for(int m=0;m<=9000000;m++);
    system("cls");//清屏函数
  }
}
//注册函数
void regist()
{
    system("cls");
  //打开文件
    fp=fopen("学生管理系统.txt","ab+");
    if(fp==NULL)
    {
      printf("打开失败\n");
      return;
    }//写内存
    printf("请输入学员的学号:");
    scanf("%d",&s.num);
    printf("请输入学员的姓名:");
    fflush(stdin);
    gets(s.name);
    printf("请输入学员的性别:");
    fflush(stdin);
    gets(s.sex);
    printf("请输入学员的年龄:");
    scanf("%d",&s.age);
    printf("请输入学员的专业:");
    fflush(stdin);
    gets(s.sdept);
    printf("请输入学员的成绩:");
    scanf("%d",&s.score);
    printf("请输入学员的联系方式:");
    fflush(stdin);
    gets(s.phone);
 
    //写文件
    fwrite(&s,sizeof(s),1,fp);
    //关闭文件
    fclose(fp);
    printf("注册成功,学号为:%d\n",s.num);
    getch();
}
//全部显示函数
void display()
{
    system("cls");
  //打开文件
    fp=fopen("学生管理系统.txt","rb+");
    if(fp==NULL)
    {
      printf("打开失败\n");
      return;
    }
 
    printf("学号\t姓名\t性别\t年龄\t专业\t成绩\t联系\n");
    //读到内存并显示
    while(fread(&s,sizeof(s),1,fp))
    {
      printf("%d\t%s\t%s\t%d\t%s\t%d\t%s\n",s.num,s.name,s.sex,s.age,s.sdept,s.score,s.phone);
    }
    //关闭文件
    //关闭文件
    fclose(fp);
    getch();
}
//查找函数
void select()
{
    system("cls");
  //打开文件
    fp=fopen("学生管理系统.txt","rb+");
    if(fp==NULL)
    {
      printf("打开失败\n");
      return;
    }
    int number,f=0;
    printf("请输入要查找的学号:");
    scanf("%d",&number);
 
    //读到内存比较
    while(fread(&s,sizeof(s),1,fp))
    {
      if(s.num==number)
      {
          f=1;
          break;
      }
    }
    if(f==1)
    {
      printf("学号\t姓名\t性别\t年龄\t专业\t成绩\t联系\n");
      printf("%d\t%s\t%s\t%d\t%s\t%d\t%s\n",s.num,s.name,s.sex,s.age,s.sdept,s.score,s.phone);
    }
    else
    {
      printf("查无此人\n");
    }
     
    //关闭文件
    fclose(fp);
    getch();
}
//修改函数
void update()
{
   system("cls");
  //打开文件
    fp=fopen("学生管理系统.txt","rb+");
    if(fp==NULL)
    {
      printf("打开失败\n");
      return;
    }
    int number,f=0;
    printf("请输入要查找的学号:");
    scanf("%d",&number);
 
    //读到内存比较
    while(fread(&s,sizeof(s),1,fp))
    {
      if(s.num==number)
      {
          f=1;
          break;
      }
    }
    if(f==1)
    {
      printf("请输入要修改的成绩:");
      scanf("%d",&s.score);
      fseek(fp,-sizeof(s),1);
      fwrite(&s,sizeof(s),1,fp);
    }
    else
    {
      printf("查无此人\n");
    }
     
    //关闭文件
    fclose(fp);
    getch();
}
//删除函数
void dele()
{
    system("cls");
  //打开文件
    fp=fopen("学生管理系统.txt","rb+");
    if(fp==NULL)
    {
      printf("打开失败\n");
      return;
    }
 
    FILE *fq;
     
  //打开文件
    fq=fopen("stu.txt","ab+");
    if(fq==NULL)
    {
      printf("打开失败\n");
      return;
    }
    int number;
    printf("请输入要删除的学号:");
    scanf("%d",&number);
 
    while(fread(&s,sizeof(s),1,fp))
    {
      if(s.num!=number)
      {
        fwrite(&s,sizeof(s),1,fq);
      }
    }
 
    fclose(fp);
    fclose(fq);
    remove("学生管理系统.txt");
    rename("stu.txt","学生管理系统.txt");
    getch();
}
//主函数
int main()
{
  welcome();
  char xz;
  while(1)
  {
      printf("\n\n\n\t\ta.学员注册\n");
      printf("\n\t\tb.显示所有学员信息\n");
      printf("\n\t\tc.查找学员信息\n");
      printf("\n\t\td.修改学员信息\n");
      printf("\n\t\te.删除学员信息\n");
      printf("\n\t\tf.系统退出\n");
      printf("\n\t\t请选择服务:");
      fflush(stdin);//清除输入缓冲区的回车符函数
      scanf("%c",&xz);
      if(xz=='a'||xz=='A')
      {
        regist();
      }
      else if(xz=='b'||xz=='B')
      {
        display();
      }
      else if(xz=='c'||xz=='C')
      {
        select();
      }
      else if(xz=='d'||xz=='D')
      {
        update();
      }else if(xz=='e'||xz=='E')
      {
        dele();
      }
      else if(xz=='F'||xz=='f')
      {
         exit(0);//系统正常退出函数
      }
  }
      return 0;
 
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...