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

Nita ·
更新时间:2024-11-10
· 920 次阅读

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

一、题目设计及其要求

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

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

2、功能要求:

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

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

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

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

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

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

二、设计平台

Visual C++ 6.0

三、设计思路及过程

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

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

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

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

四、运行结果

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

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

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

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

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

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

 (7)退出系统

 五、程序代码 #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 (num)     {         case 1:             printf("Input student number(M<=50):\n");             scanf("%d", &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("请输入要修改学生的学号:\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");  }



程序设计 程序 系统 C语言

需要 登录 后方可回复, 如果你还没有账号请 注册新账号