C语言如何实现简单学生学籍管理系统

这篇文章将为大家详细讲解有关C语言如何实现简单学生学籍管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都创新互联专业为企业提供博兴网站建设、博兴做网站、博兴网站设计、博兴网站制作等企业网站建设、网页设计与制作、博兴企业网站模板建站服务,十载博兴做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下

#include 
#include 
#include 
#include 
#define N 100 /*存储100个学生的学籍信息*/ 
int flag; /*标记是否登录*/ 
struct date /*出生日期*/ 
{ 
  int year; 
  int month; 
  int day; 
}; 
struct student 
{ 
  char num[20];/*学号*/ 
  char name[25];/*姓名*/ 
  char sex[10];/*性别*/ 
  struct date birthday;/*出生年月*/ 
  int age;/*年龄*/ 
  char addr[50];/*籍贯*/ 
  char dept[50]; /*系别*/ 
  char major[30]; /*专业*/ 
  char classs[30]; /*班级*/ 
  char phone[20];/*电话*/ 
}stu[N]; 
 
void login() /*登录*/ 
{ 
  void menu(); 
  system("cls"); 
  if(flag) 
  { 
    printf(" 已经登录!\n"); 
    printf("Press any key to continue…\n"); 
    getchar(); 
    getchar(); 
    system("cls"); 
    menu(); 
  } 
  int load(); 
  int n,i,m,w; 
  FILE *fp; 
  if((fp=fopen("D:\\file.txt","rb"))!=NULL) /*不是空文件*/ 
   n=load(); /*打开文件*/ 
  else 
   n=0; 
  struct student s; 
  char password[20]; 
  int d,q; 
  printf("\n\t请选择登录身份:1.管理员   2.用户   [ ]\b\b"); 
  scanf("%d",&d); 
  if(d==1) 
  { 
    printf("\n\t\t\t请输入密码:"); 
    getchar(); 
    int j=0; 
    while(1) 
    { 
      password[j]=getch(); 
      if(password[j]=='\r') 
       break; 
      printf("*"); 
      j++; 
    } 
    password[j]='\0'; 
    if(!strcmp(password,"930322")) /*判断密码是否正确*/ 
    { 
      flag=1; 
      printf("\n\t登录成功!\n"); 
      printf("\tPress [ Enter ] key to continue…"); 
      getchar(); 
      system("cls"); 
      menu(); 
    } 
    if(!flag) 
    { 
      printf("\t\n密码错误!\n"); 
      printf("What do you want to do next? 1.继续登录 2.返回菜单  [ ]\b\b"); 
      scanf("%d",&q); 
      if(q==1) /*继续登录*/ 
      { 
        system("cls"); 
        login(); 
      } 
      else if(q==2) /*返回主菜单*/ 
      { 
        system("cls"); 
        menu(); 
      } 
    } 
  } 
  else 
  { 
    printf("\n\t\t\t用户名:"); 
    scanf("%s",s.name); 
    printf("\t\t\t密码:"); 
    int j=0; 
    while(1) 
    { 
      password[j]=getch(); 
      if(password[j]=='\r') 
       break; 
      printf("*"); 
      j++; 
    } 
    password[j]='\0'; 
    flag=0; /*未登录时flag=0*/ 
    for(i=0;i0) 
        printf("用户名不存在或密码错误!\n"); /*第一次登录时输入不存在的用户时显示*/ 
      printf("What do you want to do next? 1.继续登录 2.返回菜单  [ ]\b\b"); 
      scanf("%d",&q); 
      if(q==1) /*继续登录*/ 
      { 
        login(); 
        m=1; 
      } 
      else if(q==2) /*返回主菜单*/ 
      { 
        system("cls"); 
        menu(); 
        m=1; 
      } 
      else 
      { 
        printf("选择错误!请重新选择:\n"); 
        w=0; 
      } 
    }while(m==0); 
   } 
  } 
} 
 
void printf_one(int k) /*输出一个学生的信息*/ 
{ 
  system("color 4e"); 
  printf("学号:%s\n",stu[k].num); 
  printf("姓名:%s\n",stu[k].name); 
  printf("性别:%s\n",stu[k].sex); 
  printf("出生年月:%d/%d/%d\n",stu[k].birthday.year,stu[k].birthday.month,stu[k].birthday.day); 
  printf("年龄:%d\n",stu[k].age); 
  printf("籍贯:%s\n",stu[k].addr); 
  printf("系别:%s\n",stu[k].dept); 
  printf("专业:%s\n",stu[k].major); 
  printf("班级:%s\n",stu[k].classs); 
  printf("电话:%s\n",stu[k].phone); 
} 
 
void printf_n(int n) /*浏览时输出所有学生的信息*/ 
{ 
  system("color 2e"); 
  int j,i=1; 
  for(j=0;j2) 
    { 
      printf("输入错误!请重新输入!\n"); 
      w2=1; 
    } 
    else 
      w2=0; /*这里要注意:不加这句话会陷入死循环,跳不出来*/ 
  }while(w2==1); 
  if(w1==1) /*按姓名查找*/ 
  { 
    do 
    { 
      k=-1; 
      do 
      { 
        printf("\n请输入您想要查找的学生的姓名!\nName:"); 
        scanf("%s",s.name); 
        for(i=0;i12||c<1) 
    { 
      puts("\n选择错误!请重新选择!"); 
      getchar(); 
    } 
  }while(c>12||c<1); 
  do 
  { 
    switch(c) 
    { 
     case 1: printf("学号:"); scanf("%s",stu[i].num); break; 
     case 2: printf("姓名:"); scanf("%s",stu[i].name); break; 
     case 3: printf("性别:"); scanf("%s",stu[i].sex); break; 
     case 4: printf("出生年月:"); scanf("%d/%d/%d",&stu[i].birthday.year,&stu[i].birthday.month,&stu[i].birthday.day); break; 
     case 5: printf("年龄:"); scanf("%d",&stu[i].age);break; 
     case 6: printf("籍贯:"); scanf("%s",stu[i].addr);break; 
     case 7: printf("系别:"); scanf("%s",stu[i].dept);break; 
     case 8: printf("专业:"); scanf("%s",stu[i].major);break; 
     case 9: printf("班级:"); scanf("%s",stu[i].classs);break; 
     case 10: printf("电话:"); scanf("%s",stu[i].phone);break; 
     case 11: input(i); break; /*修改这个学生的所有信息*/ 
     case 12: menu(); /*返回主菜单*/ 
    } 
    puts("\nNow:\n"); 
    printf_one(i); /*输出 修改后 的这个学生的信息*/ 
    printf("\n确定?\n\n\t1).是 2).不,重新修改 3).返回不保存 [ ]\b\b"); 
    scanf("%d",&w1); 
  }while(w1==2); 
  return(w1); /*修改成功并选择1后返回1*/ 
} 
 
void modify() /*修改*/ 
{ 
  void menu(); 
  if(!flag) 
  { 
    printf("\n\n\t请先登录!\n"); 
    printf("\n\t请按 Enter 键进入登录界面!"); 
    getchar(); 
    getchar(); 
    login(); 
  } 
  else 
  { 
    struct student s; 
    int i,n,k,w0=1,w1,w2=0; 
    n=load(); 
    do 
    { 
     k=-1; 
     //printf_n(n); /*删除之前先显示所有学生的信息*/ 
     do 
     { 
       printf("\n请输入您想要修改的学生的姓名!\nName:"); 
       scanf("%s",s.name); 
       for(i=0;i7) 
    { 
      system("cls"); 
      printf("选择错误! 请重新选择!\n"); 
      w1=1; 
    } 
    else 
      w1=0; 
  }while(w1==1); 
  switch(n) 
  { 
    case 1: login(); break; /*登录*/ 
    case 2: system("cls"); insert();  break; /*插入*/ 
    case 3: system("cls"); deleter(); break; /*删除*/ 
    case 4: system("cls"); search(); break; /*查找*/ 
    case 5: system("cls"); modify(); break; /*修改*/ 
    case 6: system("cls"); browse(); break; /*浏览*/ 
    case 7: exit(); break; /*退出*/ 
  } 
} 
 
int main() 
{ 
  face(); 
  menu(); 
  return 0; 
}

关于“C语言如何实现简单学生学籍管理系统”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


分享文章:C语言如何实现简单学生学籍管理系统
网站URL:http://scyanting.com/article/gjhogh.html