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

本文实例为大家分享了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");
 }

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

(0)

相关推荐

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

    目录 设计要求 完整代码 运行结果 本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 设计要求 设计学籍管理系统 1.添加学生信息2.浏览学生信息3.查询学生信息4.修改学生信息5.册J除学生信息6.排序学生信息7.读取文件学生8.保存到文件 完整代码 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<math.h> #includ

  • C语言实现学籍信息管理系统

    本文实例为大家分享了C语言实现学籍信息管理系统的具体代码,供大家参考,具体内容如下 系统功能:录入.修改.添加.删除.查找.读取.删除数据 系统主要技术:基本就是函数的调用,只用到结构体,与文件的读写 所有的数据改动都会及时保存到文件 student.txt文件用来储存所有信息 shuju.txt文件用来储存信息数据 代码如下 /*             学籍信息管理系统 系统功能:录入.修改.添加.删除.查找.读取.删除数据 系统主要技术:基本就是函数的调用,还有结构体,与文件的读写  */

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

    本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<conio.h> #define N 100 /*存储100个学生的学籍信息*/ int flag; /*标记是否登录*/ struct date /*出生日期*/ { int year; int month; int day; }; struct

  • 学生信息管理系统C语言版

    C语言学生信息管理系统包括以下功能: 1.学生信息的整体注册 2.学生信息的修改 3.学生成绩信息的录入 4.学生信息的添加 5.恢复误删的学生信息 6.学生信息的删除 7.密码修改保存函数 8.学生信息的查询 9.密码修改函数 10.学生信息管理系统的菜单函数 #include "stdio.h" #include "malloc.h" #include "string.h" #include "stdlib.h" #inc

  • C语言实现学生学籍管理系统

    本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> #include<windows.h> //**********************************结构体************************************* struct score

  • C语言学生学籍管理系统课程设计

    C语言学生学籍管理系统做了好长时间的,里面有点小问题,希望大佬找到并帮忙改改,注意输入密码三次错误会自动注销用户,密码123456 代码: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> struct student { char xuehao[100];//输入学号 char name[100];//输入姓名 char sex[100];//输入性别 int

  • C语言实现学籍管理系统课程设计

    本文实例为大家分享了C语言实现学籍管理系统的具体代码,供大家参考,具体内容如下 学校的课程设计,自己完成后整理了一下.自己用链表实现的一个较简单的学籍管理系统,都是通过一些链表以及文件的基本操作完成. 功能实现 1-录入学生信息.2-查询学生信息.3-修改学生信息 .4-删除学生信息.5-显示学生信息.6-统计信息报表.7-读盘,存盘. 注:一些getchar()以及换行符是我为了让界面美观自己加的. #include<stdio.h> #include<stdlib.h> #in

  • C语言实现学生信息管理系统(单链表)

    本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 /*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:吴敬超 * 完成日期:2016年7月1日 * 版本号:codeblock * * 问题描述: 学生信息管理系统 * 输入描述: * 程序输出: 输出结果 */ #include <stdio.h> #include <stdlib.h> #include

  • C语言实现学籍管理系统

    本文实例为大家分享了C语言实现学籍管理系统的具体代码,供大家参考,具体内容如下 设计一个学籍管理系统,基本功能包括: 1.输入学生基本信息2.查询学生信息(1.按学号2.按姓名)3.删除学生信息(1.按学号2.按姓名)4.学生信息排序(1.按学号2.按姓名)5.修改学生基本信息6.输出学生信息7.保存学生信息0.退出程序 注:由于知识有限,该系统暂时规定只输入3个学生数据,今后会改良成可随机处理任意多个学生的数据 一.首页 void enter(struct student stu[],int

  • C语言学籍管理系统源代码

    C语言学籍管理系统,整理一份,供大家参考,具体内容如下 #include <stdio.h> #include <conio.h> #include <stdlib.h> #define N 100 void mycreat(); void mynewcreat(); void mydisplay(); void myretake(); void myselect(); void mynumsort(); void mysort(); void myprint1();

随机推荐