C语言实现学生学籍管理系统程序设计

2022-07-22 09:43:20

本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下一、题目设计及其要求1、题目:学生学籍管理系统用数据文件存放学生的学籍,可对学生学籍进行注册、修改、查找、统计、学籍变...

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

一、题目设计及其要求

1、题目:学生学籍管理系统

用数据文件存放学生的学籍,可对学生学籍进行注册、修改、查找、统计、学籍变化等操作。(用文件保存)

2、功能要求:

(1)系统以菜单方式工作;

(2)登记学生的学号,姓名,性别,年龄,籍贯,学院,专业,班级;

(3)修改已知学号的学生信息;

(4)查找已知学号的学生信息;

(5)按学号和专业输出学生籍贯表;

(6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。

二、设计平台

Visual C++ 6.0

三、设计思路及过程

1、初步完成总体结构设计,主要运用结构体及函数调用的知识设计程序框架,根据功能确定函数个数及储备每个功能所需的知识;

2、创建工程,同时在工程路径下创建记事本保存文件数据,写出程序的主要框架;

3、写主函数以及被调用函数,完成上述登记、修改、查找、输出学生信息等功能;

4、调试代码,不断修改以达到运行成功和取得最佳效果。

四、运行结果

(1)系统以菜单方式工作

C语言实现学生学籍管理系统程序设计

(2)登记学生的学号、姓名、性别、年龄、籍贯、学院、专业、班级,并用文件保存

C语言实现学生学籍管理系统程序设计

C语言实现学生学籍管理系统程序设计

C语言实现学生学籍管理系统程序设计

 (3)修改已知学号的学生信息

C语言实现学生学籍管理系统程序设计

C语言实现学生学籍管理系统程序设计

 (4)查找已知学号的学生信息

C语言实现学生学籍管理系统程序设计

 (5)按学号和专业输出学生籍贯表

C语言实现学生学籍管理系统程序设计

 (6)查询学生学籍变化,比如入学、转专业、退学、降级、休学、毕业

C语言实现学生学籍管理系统程序设计

 (7)退出系统

C语言实现学生学籍管理系统程序设计

 五、程序代码

#include<stdio.h> 
#include<stdlib.h> 
#include<string.h> //头文件

#define LEN 20  //学号和姓名最大字符数,20
#define N 50  //最大的学生人数

int M = 0;//当前已经有的学生数量

//函数声明

void insert(); //录入学生信息
void modify(); //修改学生信息
void search(); //查询学生信息
void menu();  //主菜单函数
void save();  //保存学生信息
void jiguanbiao(); //输出学生籍贯信息
void xueji();  //查询学生学籍变化信息

//结构体保存学生信息
struct student{
  long int Id; //学号
  char Name[LEN+1];  //姓名
  char Sex[LEN+1];  //性别
  int Age;   //年龄
  char BirthPlace[LEN+1];  //籍贯
  char YuanXi[LEN+1];     //院系
  char ZhuanYe[LEN+1];    //专业
  int BanJi;   //班级
  char xueji[LEN+1];//学籍变化信息

}stu[N];

//主函数
int main()
{
 
 while (1)
 {
  menu();
 }
 system("pause");
 return 0;

}


void menu()//菜单函数
{

 int num;
 printf("\n");
 printf("——————————————————————————\n");
 printf("*************欢迎使用学生信息管理系统***************\n");
 printf("*                         *\n");
 printf("********************系统功能菜单********************\n");
 printf("*                         *\n");
 printf("*         1.添加学生信息          *\n");
 printf("*         2.修改学生信息          *\n");
 printf("*         3.查找学生信息          *\n");
 printf("*         4.输出学生籍贯表         *\n");
 printf("*         5.保存信息到文件         *\n");
 printf("*         6.查看学生学籍变化        *\n");
 printf("*         7.退出系统            *\n");
 printf("——————————————————————————\n");
 printf("请选择菜单编号:");
 scanf("%d", &num);
 switch (n编程um)
 {
   
    case 1:
      printf("Input student number(M<=50):\n");
   scanf("%d", &amp;M);
   insert();
      break;
    case 2:
      modify();
      break;
    case 3:
      search();
      break;
    case 4:
      jiguanbiao();
      break;
    case 5:
      save();
      break;
    case 6:
      xueji();
      break;
    case 7:
      printf("退出程序成功!\n");
      exit(0);
    default:
      printf("请在1-8之间选择\n");
      system("pause");//提示完成之后显示按任意键继续
 }

}
void insert()//添加学生信息
 { int i;
  for(i=1;i<=M;i++)
  {
   printf("请输入第%d个学生的学号:",i);
   scanf("%ld",&stu[i].Id);
   printf("请输入第%d个学生的姓名:",i);
   scanf("%s",&stu[i].Name);
   printf("请输入第%d个学生的性别:",i);
   scanf("%s",&stu[i].Sex);
   printf("请输入第%d个学生的年龄:",i);
   scanf("%d",&stu[i].Age);
   printf("请输入第%d个学生的籍贯:",i);
   scanf("%s",&stu[i].BirthPlace);
   printf("请输入第%d个学生的学院:",i);
   scanf("%s",&stu[i].YuanXi);
   printf("请输入第%d个学生的专业:",i);
   scanf("%s",&stu[i].ZhuanYe);
   printf("请输入第%d个学生的班级:",i);
   scanf("%d",&stu[i].BanJi);
   printf("请输入第%d个学生的学籍(如入学、转专业、退学、降级、休学、毕业):",i);
   scanf("%s",&stu[i].xueji);
  }
  printf("学生信息添加完毕!请立即保存数据信息到文件!");
  
 }
void modify()//修改学生信息
 {
  
 int i, item;
 long int a;
 printf("请输入要修改学http://www.cppcns.com生的学号:\n");
 scanf("%ld",&a);
 for (i=1; i<=M; i++)
 {
  if (stu[i].Id==a)
  {
   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("0.End of program!\n");
   while (1)
   {
    printf("please choose:");
    scanf("%d", &item);
    switch (item)
    {
    case 1:
     printf("Please input new name:\n");
     scanf("%s", &stu[i].Name);
     break;
    case 2:
     printf("Please input sex:\n ");
     scanf("%s", &stu[i].Sex);
     break;
    case 3:
     printf("Please input new age:\n");
     scanf("%d", &stu[i].Age);
     break;
    case 4:
     printf("Please input BirthPlace:\n");
     scanf("%s", &stu[i].BirthPlace);
     break;
    case 5:
     printf("Please input new yuanxi:\n");
     scanf("%s", &stu[i].YuanXi);
     break;
    case 6:
     printf("Please input new zhuanye:\n");
     scanf("%s", &stu[i].ZhuanYe);
     break;
    case 7:
     printf("Please input new banji:\n ");
     scanf("%d", &stu[i].BanJi);
     break;
    case 8:
     printf("Please input new xueji:\n");
     scanf("%s", &stu[i].xueji);
     break;
    default: printf("Input error!\n");
    }
    if (item == 0)
     break;
   }
  }
 }

}
void search() //查找已知学号的学生信息
{
 long int b,term=-1;
 int i;
  printf("请输入要查找学生的学号:");
 scanf("%ld",&b);
 for (i=1; i<=M; i++)
 {
  if (stu[i].Id==b)
  {
   
   printf("学号:%ld 姓名:%s 性别:%s 年龄:%d 籍贯:%s 学院:%s 专业:%s 班级:%d 学籍:%s \n",stu[i].Id,stu[i].Name,stu[i].Sex,stu[i].Age,stu[i].BirthPlace,stu[i].YuanXi,stu[i].ZhuanYe,stu[i].BanJi,stu[i].xueji);
   term=-2;
  }
 }
 if(term!=-2)
 {
  printf("Not found!\n");
 }
 
}
void jiguanbiao()//按学号和专业输出学生籍贯表
 {
 int i;

 FILE *fp;
 fp=fopen("student.txt","r");
 printf("********************学生籍贯表*********************\n");
 printf("学号   姓名    籍贯\n");
 for(i=1;i<=M;i++)
 { 
  printf("%ld    %s     %s\n",stu[i].Id,stu[i].Name,stu[i].BirthPlace);
 }
 fclose(fp);
 }
void save()//保存学生信息到文件
 {
  int i;
 
  FILE *fp;
  fp=fopen("student.txt","w");//在工程路径下创建名为“student.txt”的记事本

   for(i=1;i<=M;i++)
  {
   fprintf(fp,"%ld     %s     %s     %d    %s     %s     %s     %d    %s \n",stu[i].Id,stu[i].Name,stu[i].Sex,stu[i].Age,stu[i].BirthPlace,stu[i].YuanXi,stu[i].ZhuanYe,stu[i].BanJi,stu[i].xueji);

  }
  fclose(fp);
  printf("学生信息保存成功!");
 }
void xueji()  //查询学生学籍变化信息

 {
  long int c,t=-1;
  int i;
  printf("请输入要查询学生的学号:");
  scanf("%ld",&c);
  for (i=1; i<=M; i++)
  {
   if (c==stu[i].Id)
   {
   printf("学号:%ld 姓名:%s  学籍:%s \n",stu[i].Id,stu[i].Name,stu[i].xueji);  
   t=-2;
   } 
  }
  
  if(t!=-2) 
  编程printf("Not found!\n");
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。