iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言如何实现教务管理系统
  • 511
分享到

C语言如何实现教务管理系统

2023-06-29 13:06:31 511人浏览 薄情痞子
摘要

这篇文章主要介绍“C语言如何实现教务管理系统”,在日常操作中,相信很多人在C语言如何实现教务管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言如何实现教务管理系统”的疑惑有所帮助!接下来,请跟着小编

这篇文章主要介绍“C语言如何实现教务管理系统”,在日常操作中,相信很多人在C语言如何实现教务管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言如何实现教务管理系统”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

实现效果如图:

主界面:

C语言如何实现教务管理系统

教师端——注册账号

C语言如何实现教务管理系统

进入教师管理系统

C语言如何实现教务管理系统

C语言如何实现教务管理系统

文件的保存

C语言如何实现教务管理系统

代码如下:

#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct Teacher{    char name[10];//学生姓名    char iD[10];//学生学号    float score;//学生成绩}teacher;typedef struct{    teacher data;    struct Teacher* next;}Tutor;typedef struct manager{    char manAcc[10];    //账号    char manPassw[10];    //密码    struct manager* next;}Manager;Manager* managerHead;void mainMenu();//主菜单void studentPort();//学生端void showTeacherPort();//教师端void teacherReGISter();//教师端账号注册void teacherLogin();//教师端登录int PassWord_Text_Find();//密码验证Manager* Manager_check();//账号核对void teacherPort();//教师端void tutORMenu();//教师管理菜单void teacherFunction();//教师端功能应用void insertStudentData();//学生信息录入void showStudentData();//学生信息展示void searchStudentData();//学生信息查询void changeStudentData();//学生信息修改Tutor* deleteStudentData();//学生信息删除Tutor* initTeacherList();//链表初始化Tutor* createnode();//创建结点void readInfoFromFile();void writeInfoToFile();int main(void){        int choice = 0;    while (1)    {        mainMenu();//主菜单        printf("\t请输入选择:");        scanf("%d", &choice);        switch (choice)        {        case 1:            teacherPort();            break;        case 2:            studentPort();            break;        case 3:            printf("您已退出系统!\n");            system("pause");            exit(0);        default:            printf("您的输入有误,请重新输入!\n");            break;        }        system("pause");        system("cls");    }}void mainMenu(){    system("color f0");    printf("-------------------------------------------------\n");    printf("*欢迎使用教务管理系统*\n");    printf("\t1.教师端\n");    printf("\t2.学生端\n");    printf("\t3.退出系统\n");    printf("-------------------------------------------------\n");}void studentPort(){    system("cls");    system("color b0");    printf("\n\n\n\n\n\n\n\t\t\t\t学生端暂时未写,有兴趣可以接着写!!!\n\n\n\n\n\n\n\n");}void showTeacherPort(){    system("CLS");    printf("\n\n\n\t\t\t\t 教师端");    printf("\n\t\t\t---------------------------------\n\n");    printf("\t\t\t\t1)注册\n");    printf("\t\t\t\t2)登录\n");    printf("\t\t\t\t0)返回\n");    printf("\n\t\t\t---------------------------------\n\n");}void tutorMenu(){    system("cls");    system("color 70");    printf("-------------------------------------------------\n");    printf("*欢迎进入教师端*\n");    printf("\t1.学生信息录入\n");    printf("\t2.学生信息展示\n");    printf("\t3.学生信息查询\n");    printf("\t4.学生信息修改\n");    printf("\t5.学生信息删除\n");    printf("\t6.学生数据保存\n");    printf("\t0.返回主菜单\n");    printf("-------------------------------------------------\n");}void teacherRegister(){    Manager* p = (Manager*)malloc(sizeof(Manager));    p->next = NULL;    printf("请输入注册账号:");    scanf("%s", p->manAcc);    printf("请输入账号密码:");    scanf("%s", p->manPassw);        if (managerHead == NULL)    {        managerHead = p;    }    else    {        p->next = managerHead;        managerHead = p;    }    printf("注册成功!\n");}Manager* Manager_check(char* Manager_num){    Manager* t = managerHead;    while (t)     {        if (strcmp(Manager_num, t->manAcc) != 0)        {            t = t->next;            continue;        }        return t;    }    return t;}int Password_Text_Find(char* Password){    char password_tem[20]="";    int tem = 0;    int n = 0;    //检测输入次数    while (n != 3)     {        scanf("%s", password_tem);        if (strcmp(password_tem, Password) == 0) {            tem = 1;            break;        }        else         {            n++;            printf("\n\t\t输入错误,请重新输入,你还有%d次机会:", 3 - n);        }    }    return tem;}void teacherLogin(){    char ID[10];    Manager* t;    printf("请输入账号:");    scanf("%s",ID);    t = Manager_check(ID);    if (!t)    {        printf("\t\t抱歉,账号不存在\n");        system("pause");        return;    }    printf("请输入密码:");    if (Password_Text_Find(t->manPassw) == 0)    {        printf("\n\t\t已经错误输入密码三次,将退出登录系统···\n");        system("pause");        return;    }        printf("\t\t登录成功···\n");    system("pause");    teacherFunction();}void teacherPort(){    while (1)    {        showTeacherPort();        char ch = getch();        switch(ch)        {        case '1':            teacherRegister();            break;        case '2':            teacherLogin();            break;        case '0':            return;        default:            printf("\t\t输入错误,请重新输入\n");            break;        }        system("pause");        system("cls");    }}void teacherFunction(){    Tutor* T = initTeacherList();    teacher data;    int choice = 0;    readInfoFromFile(T);    while (1)    {        tutorMenu();//教师菜单        printf("\t请输入选择:");        scanf("%d", &choice);        switch (choice)        {        case 1:            printf("\t1.学生信息录入\n");            printf("学生姓名:");            scanf("%s", data.name);            printf("学生学号:");            scanf("%s", data.iD);            printf("学生成绩:");            scanf("%f", &data.score);            insertStudentData(T, data);//录入学生信息                        break;        case 2:            showStudentData(T);            break;        case 3:            searchStudentData(T);            break;        case 4:            changeStudentData(T);            break;        case 5:                        T=deleteStudentData(T);            break;        case 6:            writeInfoToFile(T);            break;        case 0:            return;        default:            printf("您的输入有误,请重新输入!\n");            break;        }        system("pause");        system("cls");        }}Tutor* initTeacherList(){    Tutor* headNode = (Tutor*)malloc(sizeof(Tutor));    headNode->next = NULL;    return headNode;}Tutor* createNode(teacher data){    Tutor* newNode = (Tutor*)malloc(sizeof(Tutor));    newNode->data = data;    newNode->next = NULL;    return newNode;}void insertStudentData(Tutor* headNode,teacher data){    Tutor* newNode = createNode(data);        newNode->next = headNode->next;    headNode->next = newNode;    printf("\t录入成功!\n");}void showStudentData(Tutor* headNode){    Tutor* P = headNode->next;    printf("姓名\t学号\t成绩\t\n");    while (P)    {        printf("%s\t%s\t%f\n", P->data.name, P->data.iD, P->data.score);        P = P->next;    }}void searchStudentData(Tutor* headNode){    Tutor* P = headNode->next;    char ID[10] = " ";    printf("请输入查找的学生学号:");    scanf("%s", ID);    while (P)    {        if (strcmp(P->data.iD, ID) != 0)        {            P = P->next;            continue;        }        else        {            printf("姓名\t学号\t成绩\n");            printf("%s\t%s\t%f\n", P->data.name, P->data.iD, P->data.score);            return;        }    }    printf("\t目前不存在该学生信息!\n");    return;}void changeStudentData(Tutor* headNode){    Tutor* P = headNode->next;    char ID[10] = " ";    printf("请输入修改的学生学号:");    scanf("%s", ID);    while (P)    {        if (strcmp(P->data.iD, ID) != 0)        {            P = P->next;            continue;        }        else        {                    printf("\t请进行修改\n");            printf("学生姓名:");            scanf("%s", P->data.name);            printf("学生学号:");            scanf("%s", P->data.iD);            printf("学生成绩:");            scanf("%f", &P->data.score);            printf("已完成修改!\n");            return;        }    }    printf("\t目前不存在该学生信息!\n");    return;}Tutor* deleteStudentData(Tutor* headNode){    Tutor* head= headNode;    Tutor* node= head->next;    char ID[10] = " ";        if (headNode->next == NULL)    {        printf("\t当前数据为空!\n");        return headNode;    }        printf("请输入要删除的学生学号:");    scanf("%s", ID);    while (node!=NULL)    {        if (strcmp(node->data.iD, ID) != 0)        {            head = node;            node = node->next;            continue;        }        else        {            head->next = node->next;            free(node);            printf("\t删除成功!\n");            return headNode;        }    }    printf("\t未找到该学生的相关信息!\n");    return headNode;}//文件读操作void readInfoFromFile(Tutor* headNode){    FILE* fp;    struct Teacher data;    fp = fopen("1.txt", "r");    if (fp == NULL)    {        fp = fopen("1.txt", "w+");    }    //2.读文件    fscanf(fp, "姓名\t学号\t成绩\n");//fscanf--格式化读取数据    while (fscanf(fp, "%s\t%s\t%f\n", data.name, data.iD, &data.score) != EOF)    {        insertStudentData(headNode, data);    }    fclose(fp);}//文件写操作void writeInfoToFile(Tutor* headNode){    FILE* fp;    fp = fopen("1.txt", "w");    Tutor* pMove = headNode->next;    fprintf(fp, "姓名\t学号\t成绩\n"); //fprintf--写入格式化数据    while (pMove)    {        fprintf(fp, "%s\t%s\t%f\n",  pMove->data.name,pMove->data.iD, pMove->data.score);        pMove = pMove->next;    }    fclose(fp);}

到此,关于“C语言如何实现教务管理系统”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: C语言如何实现教务管理系统

本文链接: https://www.lsjlt.com/news/325035.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言如何实现教务管理系统
    这篇文章主要介绍“C语言如何实现教务管理系统”,在日常操作中,相信很多人在C语言如何实现教务管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言如何实现教务管理系统”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-29
  • C语言实现教务管理系统
    本文实例为大家分享了C语言实现教务管理系统的具体代码,供大家参考,具体内容如下 目前已完成教师管理系统部分,学生管理系统待完成: 实现效果如图: 主界面: 教师端—&...
    99+
    2024-04-02
  • C语言如何实现财务管理系统
    这篇文章将为大家详细讲解有关C语言如何实现财务管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下包括录入班级成员信息2.排序3.修改学生信息4.删除指定学号学生5.查找学生6.添加财务信息...
    99+
    2023-06-25
  • C语言实现财务管理系统
    本文实例为大家分享了C语言实现财务管理系统的具体代码,供大家参考,具体内容如下 包括 1.录入班级成员信息 2.排序 3.修改学生信息 4.删除指定学号学生 5.查找学生 6.添加财...
    99+
    2024-04-02
  • C语言如何实现会员管理系统
    本文小编为大家详细介绍“C语言如何实现会员管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现会员管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。会员信息包括:会员号(6位数,唯一),姓名...
    99+
    2023-06-29
  • C语言如何实现车票管理系统
    今天小编给大家分享一下C语言如何实现车票管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、项目简介设计一个车票管理系...
    99+
    2023-06-30
  • C语言如何实现设备管理系统
    这篇文章主要介绍“C语言如何实现设备管理系统”,在日常操作中,相信很多人在C语言如何实现设备管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言如何实现设备管理系统”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-30
  • C语言如何实现酒店管理系统
    这篇文章主要讲解了“C语言如何实现酒店管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言如何实现酒店管理系统”吧!系统框架:代码:#include <stdio.h...
    99+
    2023-06-30
  • C语言如何实现图书管理系统
    这篇文章将为大家详细讲解有关C语言如何实现图书管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。主要内容        开发一个图书信息管理系统,图书信息包括:...
    99+
    2023-06-28
  • C语言如何实现学籍管理系统
    这篇文章给大家分享的是有关C语言如何实现学籍管理系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下设计一个学籍管理系统,基本功能包括:输入学生基本信息2.查询学生信息(1.按学号2.按姓名)3.删除学...
    99+
    2023-06-29
  • C++实现教务管理系统
    本文实例为大家分享了C++实现教务管理系统的具体代码,供大家参考,具体内容如下 gradeInfo.cpp #include <iostream> #include &l...
    99+
    2024-04-02
  • C语言如何实现图书馆管理系统
    这篇文章主要介绍了C语言如何实现图书馆管理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。全部代码如下:#include <stdio.h>#incl...
    99+
    2023-06-20
  • C语言如何实现实验设备管理系统
    本文小编为大家详细介绍“C语言如何实现实验设备管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现实验设备管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、任务概述实验设备信息包括:设备...
    99+
    2023-06-30
  • C语言实现车票管理系统
    本文实例为大家分享了C语言实现车票管理系统的具体代码,供大家参考,具体内容如下 一、项目简介 设计一个车票管理系统实现录入、查看班次信息,售票,退票等基本功能。设计中要求综合运用所学...
    99+
    2024-04-02
  • C语言实现设备管理系统
    本文实例为大家分享了C语言实现设备管理系统的具体代码,供大家参考,具体内容如下 一、任务概述 设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间统一部门购买的若干相同...
    99+
    2024-04-02
  • C语言实现宿舍管理系统
    本文实例为大家分享了C语言实现宿舍管理系统的具体代码,供大家参考,具体内容如下 本次大一课设的作品,从空项目开始写的,全部在txt文件中增改删。变量命名太土了,代码格式还有待优化,望...
    99+
    2024-04-02
  • C语言实现考勤管理系统
    这些天因为补修c语言课设,在花费了一段时间后写完了这个课设,课设的要求如下: 考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假...
    99+
    2024-04-02
  • C语言实现会员管理系统
    本文实例为大家分享了C语言实现会员管理系统的具体代码,供大家参考,具体内容如下 会员信息包括:会员号(6位数,唯一),姓名,身份证号,联系电话,状态(1表示正常,0表示挂失)。 会员...
    99+
    2024-04-02
  • C语言实现餐饮管理系统
    本文实例为大家分享了C语言实现餐饮管理系统的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> ...
    99+
    2024-04-02
  • C语言实现销售管理系统
    本文实例为大家分享了C语言实现销售管理系统的具体代码,供大家参考,具体内容如下 这是题目,没用到文件相关的函数,所以不能保存在本地,每次读入都得重新输入。 #include<...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作