小学期,学生信息管理系统

#include <stdio.h>
#define M 10
void modify(struct student *stu, int st);//修改函数
void input(struct student *stu, int st);//输入函数
void (display(struct student *stu, int N));//显示函数
struct student{
    int number;     //学号
    char name[M];  //姓名
    char gender[M]; //性别
    char place[M]; //籍贯
    int grade;      //年级
    char major[5]; //专业
    int Class;      //班级
    char course[M];//课程
}stu[30];//构造一个名字为 Student 的结构体
int main()
{
    int i;
    int a;//添加的学生个数
    int ad;//添加的学生序号(第几个学生)
    int op;//根据输入的数字确定执行的运算
    int st;//修改的学生的序号
    int flag=0;//计数标志
    struct student stu[30] = {
        {101, "aaa", "x", "shanghai", 15, "CS", 01, "chinese"},
        {102, "aab", "y", "beijing",  16, "DN", 02, "English"},
        {103, "aac", "x", "sichuan",  14, "CS", 03, "math"},
        {104, "aad", "x", "chengdu",  13, "CS", 04, "chinese"},
        {105, "aae", "y", "dandong",  13, "DN", 01, "English"},
        {106, "aaf", "x", "shanghai", 15, "CS", 01, "chinese"},
        {107, "aag", "y", "beijing",  16, "DN", 02, "English"},
        {108, "aah", "x", "sichuan",  14, "CS", 03, "math"},
        {109, "aai", "x", "chengdu",  13, "CS", 04, "chinese"},
        {110, "aaj", "y", "dandong",  13, "DN", 01, "English"}
    };
    do{
        printf("-1, 退出\n");
        printf("1, 输入\n");
        printf("2, 修改\n");
        printf("3, 显示\n");
        scanf("%d", &op);
        switch(op){      //根据输入的数字确定执行的运算
        case -1:
            printf("您没有进行任何操作!\n");
            flag=1;
        case 1:
            printf("(1-10)请输入添加学生的个数:");
            scanf("%d", &a);
            for(i=0, ad=11; i<a; i++, ad++){
                printf("对第%d个学生进行添加操作:\n", ad);
                input(&stu[ad], ad);//调用输入函数
            }
            break;
        case 2:
            printf("请输入需要修改的学生的序号(1-10):");
            scanf("%d", &st);
            st = st-1;
            modify(&stu[st], st);//调用修改函数
            break;
        case 3:
            display(stu, M);//调用显示函数
            break;
        default:
            printf("Unknown operator!\n");
        }
        if(flag)
            break;
    }while(op);
    return 0;
}
//修改函数
void modify(struct student *stu, int st)
{
    int att;
    printf("(1)number\n");
    printf("(2)name\n");
    printf("(3)gender\n");
    printf("(4)place\n");
    printf("(5)grade\n");
    printf("(6)major\n");
    printf("(7)Class\n");
    printf("(8)course\n");
    printf("请输入需要修改的数据(1-8):");
    scanf("%d", &att);
    switch(att)
    {
    case 1:
        printf("student[%d] 原来的学号为%d\n", st, stu[st].number);
        printf("修改为:");
        scanf("%d", &stu[st].number);
        printf("student[%d] 修改后的学号为%d\n", st, stu[st].number);
        break;
    case 2:
        printf("student[%d] 原来的姓名为%s\n", st, stu[st].name);
        printf("修改为:");
        scanf("%s", &stu[st].name);
        printf("student[%d] 修改后的姓名为%s\n", st, stu[st].name);
        break;
    case 3:
        printf("student[%d] 原来的性别为%c\n", st, stu[st].gender);
        printf("修改为:");
        scanf("%c", &stu[st].gender);
        printf("student[%d] 修改后的性别为%c\n", st, stu[st].gender);
        break;
    case 4:
        printf("student[%d] 原来的籍贯为%s\n", st, stu[st].place);
        printf("修改为:");
        scanf("%s", &stu[st].place);
        printf("student[%d] 修改后的籍贯为%s\n", st, stu[st].place);
        break;
    case 5:
        printf("student[%d] 原来的年级为%d\n", st, stu[st].grade);
        printf("修改为:");
        scanf("%d", &stu[st].grade);
        printf("student[%d] 修改后的年级为%d\n", st, stu[st].grade);
        break;
    case 6:
        printf("student[%d] 原来的专业为%s\n", st, stu[st].major);
        printf("修改为:");
        scanf("%s", &stu[st].major);
        printf("student[%d] 修改后的专业为%s\n", st, stu[st].major);
        break;
    case 7:
        printf("student[%d] 原来的班级为%d\n", st, stu[st].Class);
        printf("修改为:");
        scanf("%d", &stu[st].Class);
        printf("student[%d] 修改后的班级为%d\n", st, stu[st].Class);
        break;
    case 8:
        printf("student[%d] 原来的课程为%s\n", st, stu[st].course);
        printf("修改为:");
        scanf("%s", &stu[st].course);
        printf("student[%d] 修改后的课程为%s\n", st, stu[st].course);
        break;
    default:
        printf("Unknown operator!\n");
    }
}
//输入函数
void input(struct student *stu, int st)
{
    printf("请输入添加学生的:\n");
    printf("学号:");
    scanf("%d", &stu[st].number);
    printf("姓名:");
    scanf("%s", &stu[st].name);
    printf("性别:");
    scanf("%s", &stu[st].gender);
    printf("籍贯:");
    scanf("%s", &stu[st].place);
    printf("年级:");
    scanf("%d", &stu[st].grade);
    printf("专业:");
    scanf("%s", &stu[st].major);
    printf("班级:");
    scanf("%d", &stu[st].Class);
    printf("学习课程:");
    scanf("%s", &stu[st].course);
    printf("|-----------------------------------------------------------------------------------------------------|\n");
    printf("|   number   |    name    |   gender   |    place    |   grade   |   major   |    Class |    course   |\n");
    printf("|------------|------------|------------|-------------|-----------|-----------|----------|-------------|\n");
    printf("| %d           %s           %s           %s          %d           %s          %d         %s            \n",
           stu[st].number, stu[st].name, stu[st].gender, stu[st].place,
           stu[st].grade, stu[st].major, stu[st].Class, stu[st].course);
    printf("|-----------------------------------------------------------------------------------------------------|\n");

}
//显示函数
void display(struct student *stu, int N)
{
    int i;
    printf("+*****************************************************************************************************+\n");
    printf("|   number   |    name    |   gender   |    place    |   grade   |   major   |    Class |    course   |\n");
    for(i=0; i<N; i++){
    printf("|------------|------------|------------|-------------|-----------|-----------|----------|-------------|\n");
    printf("| %d           %s           %s           %s          %d           %s          %d         %s            \n",
           stu[i].number, stu[i].name, stu[i].gender, stu[i].place,
           stu[i].grade, stu[i].major, stu[i].Class, stu[i].course);
    }
    printf("+*****************************************************************************************************+\n");

}
时间: 2024-08-01 22:47:49

小学期,学生信息管理系统的相关文章

小草的Trouble学生信息管理系统

小草最近上课学C++,在图书馆纠结了好久,决定做这个小东西,没想到遇到了好多困难,好吧,功夫不负有心人,小草也在敲代码中提高了不少. 小草硬是学了好几天,才搞完这个东西,也算是了结了小草的一个心结. 小草的Trouble学生信息管理系统写得不咋样,就是一个学习C++的笔记吧. 1.类. 2.继承与派生. #include <stdio.h> #include <iostream> #include <stdlib.h> #include <algorithm>

学生信息管理系统修改

北京工业大学耿丹学院 c语言设计课程报告   课程设计名称:高级语言程序设计 专业班级:计算机科学与技术1 姓名:吴双 学号:150809201   2016年5月10日 一 对c语言指针链表的体会 ------------------------ 二 修改学生信息管理系统 ------------------------ 三 体会 ------------------------ 一 对c语言指针链表的体会 1.指针 简单来说,指针是一个存储计算机内存地址的变量. 用 int *ptr 这种形

使用python实现一个简单的学生信息管理系统

最近公司搬办公室,杂七杂八的事情比较多,又碰上业务要上线了...很多事情堆到一起来做,导致最近没什么时间学习,写博客.前两天胜利日放假,把以前用java写的学生信息管理系统用python重新写了一遍,以便于帮助python的学习. 好了,废话不多说,首先进行需求分析,下面是我根据需求画的系统结构图: 纯手工制图.....画的不好敬请谅解.从上图来看,整个系统分为main,add,delete,change,select,sort,io,print共八个模块,实现了对学生信息的增删改查排的功能,将

Winform之学生信息管理系统登陆窗体

好吧,对这块的知识学习早已期待已久,感觉学习的进度还是慢了,最近一直在学习Winform,不得不说一些登陆窗体的设计,这几天算是小有收获,自己也看了许多这方面的知识,知道了要想做学生信息管理系统是一个漫长的过程,但是从今天起就来慢慢地进行学生信息管理系统的构建,此外还用到数据库的知识,打算着自己开始学数据库的知识,今天就来看看学生信息管理系统登录窗口的设计.下面图片的是样例: 这方面的知识还是基于C#语言和.NET Framework平台的.自己所用的还是熟悉的开发环境VS2012,感觉VS20

学生信息管理系统JAVASE版--1.1.1

现在终于可以写出实用一点的程序了.虽然这个程序的功能非常之简陋,而且还有BUG.不过最起码已经可以使用了. 功能预览和下一步的目标 程序主界面 查询功能: 目前只做了一个表的增.删.改.查.下一步应该就是把功能完善,比如加入错误处理,比如加入成绩部分.完成一个班级内的学生信息管理的功能,应该具有学生的基本信息查询,成绩管理这两个功能 不过有一个问题就是,在表格更新这一部分,每更新一次,就要创建一个tabliModel对象,感觉可以改进.再有就是MVC模式,其实也就接触设计模式.还有就是整成那种可

用基本数据结构修改后的学生信息管理系统(增删改查)

package com.xt.student.system; //创建学生类存放信息 public class Student {//声明变量private String stuNo; private String stuName; private String gender; private int age; private int score; //对变量进行封装 public String getStuNo() {return stuNo;} public void setStuNo(St

基于数据库MySQL的简易学生信息管理系统

通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生信息: 4.可以删除学生信息: 5.可以通过学生姓名或学号显示学生所有信息: 还可以修改学生信息,添加学生表格属性等等,,,这些实现都基本类似上述的(这些不想写了,最简易的学生信息管理系统): 二:步骤 1.写一个sql脚本,包括创建数据库,使用数据库,创建学生信息表格,插入大部分学生信息. stu

学生信息管理系统

根据资料显示,那么,如果写一个字符串到一个文件中,是什么方式呢?显示到屏幕上是默认的输出文件,如果是硬盘中的一个文件,首先要打开一个文件,然后才能往里写,那么就要告诉程序这个文件在什么地方,按照什么样的方式打开(读.写.读和写.添加.覆盖等),然后打开后要给这个打开的文件一个符号(指针变量),表示后续的读和写都是针对这个文件的,而不是到屏幕的,这个指针变量以后就代表了文件自身了. 在学生信息管理系统中,需要同时保存一个学生的姓名,性别,年龄等信息,那么设置变量保存很多同学的这些信息就有点不太方便

【学生信息管理系统】EOF 和 BOF

敲完学生信息管理系统时,在删除信息的时候,经常会出现下图这样的错误,遇到问题就要解决问题.经过查阅理解了记录集Recordset的EOF和BOF属性,用这两个属性可以知道记录集中是否有信息存在. EOF和BOF属性 BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前. EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后. 返回值:BOF 和 EOF 属性返回布尔型值. 使用 BOF 和 EOF 属性可确定Recordset 对象是否包含记录,或者从一个记

学生信息管理系统(四)——模块分析

学生信息管理系统已经敲完了,也进行了第一次验收,结果不是太理想.之前的总结也没有及时发表.现在重新复习一遍,把它发表. 从今天开始,我们就进入了代码分析阶段.现在我们就来分析一下模块中的几个函数. Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset 'executes SQL and returns Recordset Dim cnn As ADODB.Connection