精华内容
下载资源
问答
  • 学生成绩管理系统C语言实现报告,链表实现,内含流程图代码,一切以报告形式完成。
  • 2.1学生成绩管理系统管理功能 11 2.2学生成绩管理系统的业务规划 11 2.3学生成绩管理系统的数据规划 14 3学生成绩管理系统的系统分析 15 3.1可行性分析 15 3.1.1 技术可行性 15 3.1.2 经济可行性 15 3.1.3 法律...
  • 学生成绩管理系统的需求分析到项目设计,从流程图设计到数据库建表,录入数据,源码讲解,到生成报告,附带项目运行详细环境配置.全方位的讲解学生成绩管理系统的制作.
  • 主要介绍了python学生信息管理系统的实现代码代码简单,复制即可使用,需要的朋友可以参考下
  • java学生成绩管理系统界面设计
  • 主要为大家详细介绍了C语言利用结构体数组实现学生成绩管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 学生成绩管理系统设计” A.问题描述 学生信息包括:学号、姓名、性别、年龄、班级等信息。 小学生除了包括学生所有信息外,还包括英语、数学和语文成绩。 中学生除了包括小学生所有信息外,还包括地理、历史成绩。 ...
  • 纯C语言学生成绩管理系统(以包含文件的形式写的),结构体,链表,数组,以下是main.c #include #include #include #define m 3/*宏定义m的值为3*/ struct node/*链表初始化*/ { char name[20]; int no; float ...
  • 学生成绩管理系统(含源代码)30西安邮电学院高级语言课程设计报告题 目: 学 生 成 绩 管 理 系 统系部名称:电子信息与工程系专业名称:电子科学与技术班 级:科技0701班内序号:30学生姓名:杨 超指导教师:黄 茹...

    学生成绩管理系统(含源代码)30

    西安邮电学院

    高级语言课程设计报告

    题 目: 学 生 成 绩 管 理 系 统

    系部名称

    电子信息与工程系

    专业名称

    电子科学与技术

    班 级

    科技0701

    班内序号

    30

    学生姓名

    杨 超

    指导教师

    黄 茹

    时间

    2008年6月10

    实验题目:学生成绩管理系统

    实验目的

    熟悉c语言的编译连接和运行过程。

    掌握c语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给它们赋值。

    掌握if语句及switch语句的运用方法及嵌套应用方法。

    掌握实现循环结构的三种语句while、 do-while.、for 的使用。

    掌握函数的定义方法和调用方法。

    能够采用模块化思想调试程序。

    二.实验内容

    编写程序并进行调试运行。

    输入学生资料,并保存于文件。每个学生包含信息:学号、姓名、各科成绩信息。

    对已存入的学生信息进行操作,包括添加一个学生信息、删除某个学生信息、修改某个学生信息以及对学生成绩的排序和对总体成绩的统计。

    通过输入姓名、学号的方式查询学生信息。

    最后输出学生信息,供需要时打印。

    需求分析

    该程序可用于教师对学生成绩信息的管理和学生对成绩的查询。

    教师对学生成绩信息的管理包括对信息的存储、添加、修改、排序、统计、删除等操作,以实现对学生成绩的管理。

    学生对成绩的查询包括对自己成绩的查询和对全部成绩信息的浏览、排序。

    其中删除信息和修改信息可根据需要对个别学生信息进行适当的删除或修改,以便随时更新学生信息。

    查询功能可根据需要从若干数据中查询某个学生信息,并且可根据两种不同的方法查询:按学号查询和按姓名查询。以满足不同的需要。

    四、概要设计

    1、方案设计

    对系统进行分析,给出结构图

    分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计

    结构图如下:

    学生成绩管理系统

    学生成绩管理系统

    删除模块退出系统输出模块统计模块修改模块查询模块添加模块排序

    删除模块

    退出系统

    输出模块

    统计模块

    修改模块

    查询模块

    添加模块

    排序模块

    输入模块

    按总成绩排序v统计分数段按学号查寻按姓名查询 退出系统

    按总成绩排序v

    统计分数段

    按学号查寻

    按姓名查询

    退出系统

    2.模块功能说明

    对各个模块进行功能的描述

    (1).输入模块:

    录入需要管理的学生信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。

    (2).排序模块:对录入的学生成绩信息按总分由高到低进行排序,以方便老师和学生浏览。

    (3).添加模块:

    可添加一个或多个学生信息,并将所添加学生信息保存,方便查找。

    (4).删除模块:

    可对退学或休学的学生信息做删除处理。

    (5).查询模块:

    可对已建立的学生信息进行查询,并且可根据需要选择按姓名查询或按学号查询。

    (6).修改模块:

    可根据需要对多个学生信息进行修改,也可随时对个别项进行修改。

    (7).统计模块:

    用于对学生录入的成绩按分数段进行统计,便于老师掌握学生成绩的总体情况。

    (8).输出模块:

    将所有学生信息或想要查询的学生信息显示于屏幕,用于打印学生信息或查找某些学生信息。

    (9).退出系统:

    选择该项,自动退出该系统。

    五、详细设计及运行结果

    流程图, 函数之间相互调用的图示 ,程序设计及编码, 运行结果。

    开 始

    输入

    输入cho的值

    判断

    判断cho的值

    学生查询系统 教师管理系统

    学生查询系统

    教师管理系统

    判断i

    判断i的值

    判断i的值

    退出系统输出信息添加信息统计模块排序模块查询模块删除信息修改

    退出系统

    输出信息

    添加信息

    统计模块

    排序模块

    查询模块

    删除信息

    修改模块

    输入模块

    输要查询的值

    输要查询的值

    判断i的值

    判断i的值

    退出系统按学号查询按姓名查询

    退出系统

    按学号查询

    按姓名查询

    六. 调试情况及运行结果

    对自己设计进行评价,指出合理和不足之处,提出改进的方案。

    第一次编写这么大的一个应用程序,运行出的结果有地方。程序实现了课程设计的基本要求,完成了输入,输出,添加,修改,删除等功能,但在各个功能中都有需要进一步完善的地方。从最开始的设计各个模块,到后来的逐步完成各个模块的功能并进行调试,再到进行整体的调试,都出现了许多问题,经过一次次的修改,基本上达到了预期的结果。

    但由于时间很短,在选题报告中设想到的好多功能都没有实现。已有的功能虽已能基本上满足用户的需要,但如果还有更多的功能程序就会更加完美。如:在排序时只是按照总分进行排序,没有按照各科成绩进行排

    展开全文
  • C语言学生成绩管理系统

    千次阅读 2019-04-03 21:50:01
    一.实验目的 1.明确结构化程序设计的基本结构。 2.通过对问题的分析,设计合理的结构化程序解决问题; 二....任务一:对例1的学生信息管理系统,要求完成以下基本任务: ...流程图 四.源程序 #include&l...

    一.实验目的
    1.明确结构化程序设计的基本结构。
    2.通过对问题的分析,设计合理的结构化程序解决问题;
    二.实验内容
    任务一:对例1的学生信息管理系统,要求完成以下基本任务:
    1.改写程序为良好程序风格(文档注释,函数注释,语句注释)。
    2.将功能补充完全(基于文件处理,完成刷新和保存功能)。
    3.将学生信息改为更好的数据组织,而非离散形式(结构体)。
    三.流程图
    在这里插入图片描述

    四.源程序
    #include<stdio.h> /I/O函数/
    #include<stdlib.h> /其它说明/
    #include<string.h> /字符串函数/
    #define BUFLEN 100 /* 缓冲区最大字符数 /
    #define LEN 15 /
    学号和姓名最大字符数,实际请更改 /
    #define N 100 /
    最大学生人数,实际请更改*/
    struct record /结构体/
    {
    char code[LEN+1]; /* 学号 /
    char name[LEN+1]; /
    姓名 /
    int age; /
    年龄 /
    char sex[3]; /
    性别 /
    char cyy[30]; /c语言成绩/
    char gaoshu[30]; /高数成绩/
    char english[30]; /英语成绩/
    }stu[N];
    int k=1,n,m; /
    定义全局变量 /
    void readfile();/
    建立信息 /
    void seek();/查找/
    void modify();/修改信息/
    void insert(); /插入信息/
    void del(); /删除信息/
    void display(); /显示信息/
    void save(); /保存信息/
    void menu();/
    界面*/
    int main()
    {
    while(k)
    menu();
    system(“pause”);
    return 0;
    }
    void help()
    {
    printf("\n0.欢迎使用系统帮助!\n");
    printf("\n1.进入系统后,先刷新学生信息,再查询;\n");
    printf("\n2.按照菜单提示键入数字代号;\n");
    printf("\n3.增加学生信息后,切记保存按7;\n");
    printf("\n4.谢谢您的使用!\n");
    }
    void readfile()/* 建立信息 */
    {
    char *p=“student.txt”;
    FILE *fp;
    int i=0;
    if ((fp=fopen(“student.txt”,“r”))==NULL) //文件为空
    {
    printf(“打开文件%s 失败! “,p);
    system(“pause”);
    exit(0);
    }
    while(fscanf(fp,”%s %s%d%s %s %s %s”,stu[i].code,stu[i].name,&stu[i].age,
    stu[i].sex,stu[i].cyy ,stu[i].gaoshu ,stu[i].english )==7) //将文件中的数据导入结构体
    {
    i++;
    }
    fclose(fp);
    n=i;
    printf(“录入完毕!\n”);
    }

    void seek() /查找/
    {
    int i,item,flag;
    char s1[21]; /* 以姓名和学号最长长度+1为准 /
    printf("------------------\n");
    printf("-----1.按学号查询-----\n");
    printf("-----2.按姓名查询-----\n");
    printf("-----3.退出本菜单-----\n");
    printf("------------------\n");
    while(1)
    {
    printf(“请选择子菜单编号:”);
    scanf("%d",&item);
    flag=0;
    switch(item)
    {
    case 1:
    printf(“请输入要查询的学生的学号:\n”);
    scanf("%s",s1);
    for(i=0;i<n;i++)
    if(strcmp(stu[i].code,s1)0)
    {
    flag=1;
    printf(“学生学号 学生姓名 年龄 性别 c语言 高数 英语\n”);
    printf("--------------------------------------------------------------------\n");
    printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
    stu[i].sex,stu[i].cyy ,stu[i].gaoshu ,stu[i].english );
    }
    if(flag
    0)
    printf(“该学号不存在!\n”); break;
    case 2:
    printf(“请输入要查询的学生的姓名:\n”);
    scanf("%s",s1);
    for(i=0;i<n;i++)
    if(strcmp(stu[i].name,s1)0)
    {
    flag=1;
    printf(“学生学号 学生姓名 年龄 性别 c语言 高数 英语\n”);
    printf("--------------------------------------------------------------------\n");
    printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
    stu[i].sex,stu[i].cyy ,stu[i].gaoshu ,stu[i].english);
    }
    if(flag
    0)
    printf(“该姓名不存在!\n”); break;
    case 3:return;
    default:printf(“请在1-3之间选择\n”);
    }
    }
    }
    void modify() /修改信息/
    {
    int i,item,num;
    char sex1[3],s1[LEN+1],s2[LEN+1]; /
    以姓名和学号最长长度+1为准 */
    printf(“请输入要要修改的学生的学号:\n”);
    scanf("%s",s1);
    for(i=0;i<n;i++)
    if(strcmp(stu[i].code,s1)==0) /比较字符串是否相等/
    num=i;
    printf("------------------\n");
    printf(“1.修改姓名\n”);
    printf(“2.修改年龄\n”);
    printf(“3.修改性别\n”);
    printf(“4.修改c语言\n”);
    printf(“5.修改高数\n”);
    printf(“6.修改英语\n”);
    printf(“7.退出本菜单\n”);
    printf("------------------\n");
    while(1)
    {
    printf(“请选择子菜单编号:”);
    scanf("%d",&item);
    switch(item)
    {
    case 1:
    printf(“请输入新的姓名:\n”);
    scanf("%s",s2);
    strcpy(stu[num].name,s2); break;
    case 2:
    printf(“请输入新的年龄:\n”);
    scanf("%d",&stu[num].age);break;
    case 3:
    printf(“请输入新的性别:\n”);
    scanf("%s",sex1);
    strcpy(stu[num].sex,sex1); break;
    case 4:
    printf(“请输入新的c语言:\n”);
    scanf("%s",s2);
    strcpy(stu[num].cyy ,s2); break;
    case 5:
    printf(“请输入新的高数:\n”);
    scanf("%s",s2);
    strcpy(stu[num].gaoshu ,s2); break;
    case 6:
    printf(“请输入新的英语:\n”);
    scanf("%s",s2);
    strcpy(stu[num].english ,s2); break;
    case 7:return;
    default:printf(“请在1-7之间选择\n”);
    }
    }
    }

    void sort()/按学号排序/
    {
    int i,j,*p,*q,s;
    char temp[10];
    for(i=0;i<n-1;i++) //控制循环次数
    {
    for(j=n-1;j>i;j–)
    if(strcmp(stu[j-1].code,stu[j].code)>0)
    {
    strcpy(temp,stu[j-1].code);
    strcpy(stu[j-1].code,stu[j].code);
    strcpy(stu[j].code,temp);
    strcpy(temp,stu[j-1].name);
    strcpy(stu[j-1].name,stu[j].name);
    strcpy(stu[j].name,temp);
    strcpy(temp,stu[j-1].sex);
    strcpy(stu[j-1].sex,stu[j].sex);
    strcpy(stu[j].sex,temp);
    strcpy(temp,stu[j-1].cyy );
    strcpy(stu[j-1].cyy ,stu[j].cyy );
    strcpy(stu[j].cyy ,temp);
    strcpy(temp,stu[j-1].gaoshu );
    strcpy(stu[j-1].gaoshu ,stu[j].gaoshu);
    strcpy(stu[j].gaoshu ,temp);
    strcpy(temp,stu[j-1].english );
    strcpy(stu[j-1].english ,stu[j].english );
    strcpy(stu[j].english ,temp);
    p=&stu[j-1].age;
    q=&stu[j].age;
    s=*q;
    *q=*p;
    *p=s;
    }
    }
    }
    void insert() /插入函数/
    {
    int i=n,j,flag;
    printf(“请输入待增加的学生数:\n”);
    scanf("%d",&m);
    do
    {
    flag=1;
    while(flag)
    {
    flag=0;
    printf(“请输入第 %d 个学生的学号:\n”,i+1);
    scanf("%s",stu[i].code);
    for(j=0;j<i;j++)
    if(strcmp(stu[i].code,stu[j].code)0)
    {
    printf(“已有该学号,请检查后重新录入!\n”);
    flag=1;
    break;
    }
    }
    printf(“请输入第 %d 个学生的姓名:\n”,i+1);
    scanf("%s",stu[i].name);
    printf(“请输入第 %d 个学生的年龄:\n”,i+1);
    scanf("%d",&stu[i].age);
    printf(“请输入第 %d 个学生的性别:\n”,i+1);
    scanf("%s",stu[i].sex);
    printf(“请输入第 %d 个学生的c语言\n”,i+1);
    scanf("%s",stu[i].cyy );
    printf(“请输入第 %d 个学生的高数:\n”,i+1);
    scanf("%s",stu[i].gaoshu );
    printf(“请输入第 %d 个学生的英语:\n”,i+1);
    scanf("%s",stu[i].english );
    if(flag
    0)
    {
    i=i;
    i++;
    }
    }
    while(i<n+m);
    n+=m;
    printf(“录入完毕!\n\n”);
    sort();
    }

    void del() /删除信息/
    {
    int i,j,flag=0;
    char s1[LEN+1];
    printf(“请输入要删除学生的学号:\n”);
    scanf("%s",s1);
    for(i=0;i<n;i++)
    if(strcmp(stu[i].code,s1)0) //输入的学号与表中的学号相比较
    {
    flag=1;
    for(j=i;j<n-1;j++)
    stu[j]=stu[j+1];
    }
    if(flag
    0)
    printf(“该学号不存在!\n”);
    if(flag==1)
    {
    printf(“删除成功,显示结果请选择菜单6\n”);
    n–;
    }
    }
    void display() /显示信息/
    {
    int i;
    printf(“所有学生的信息为:\n”);
    printf(“学生学号 学生姓名 年龄 性别 c语言 高数 英语\n”);
    printf("--------------------------------------------------------------------\n");
    for(i=0;i<n;i++)
    {
    printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
    stu[i].sex,stu[i].cyy ,stu[i].gaoshu ,stu[i].english);
    }
    }
    void save() /保存信息/
    {
    int i;
    FILE fp;
    fp=fopen(“student.txt”,“w”); /写入/
    for(i=0;i<n;i++)
    {
    fprintf(fp,"%s %s %d %s %s %s %s",stu[i].code,stu[i].name,&stu[i].age,
    stu[i].sex,stu[i].cyy ,stu[i].gaoshu ,stu[i].english);
    }
    fclose(fp);
    }
    void menu()/
    界面 /
    {
    int num;
    printf("系统功能菜单
    ** \n");
    printf(“友情提醒:查询前请先刷新系统! \n”);
    printf(" ---------------------- ---------------------- \n");
    printf(" ********************************************* \n");
    printf(" * 0.系统帮助及说明 * * 1.刷新学生信息 * \n");
    printf(" ********************************************* \n");
    printf(" * 2.查询学生信息 * * 3.修改学生信息 * \n");
    printf(" ********************************************* \n");
    printf(" * 4.增加学生信息 * * 5.按学号删除信息 * \n");
    printf(" ********************************************* \n");
    printf(" * 6.显示当前信息 * * 7.保存当前学生信息* \n");
    printf(" ********************** ********************** \n");
    printf(" * 8.退出系统 * \n");
    printf(" ********************** \n");
    printf(" ---------------------- ---------------------- \n");
    printf(“请选择菜单编号:”);
    scanf("%d",&num);
    switch(num)
    {
    case 0:help();break;
    case 1:readfile();break;
    case 2:seek();break;
    case 3:modify();break;
    case 4:insert();break;
    case 5:del();break;
    case 6:display();break;
    case 7:save();break;
    case 8:k=0;break;
    default:printf(“请在0-8之间选择\n”);
    }
    }

    五.调试测试
    1.菜单
    在这里插入图片描述
    2.刷新学生信息,读入文件数据
    在这里插入图片描述在这里插入图片描述
    3.查询学生
    在这里插入图片描述
    4.增加学生,保存

    在这里插入图片描述
    5.修改,删除
    在这里插入图片描述在这里插入图片描述
    6.显示全部信息
    在这里插入图片描述
    六.心得总结
    1.通过这次的学习实践,了解了结构体的使用和其他基本功能的巩固,加深了我对C语言更深层的理解。
    2.了解了strcmp()函数的使用,strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
    3.了解了fopen()函数,文件使用方式由r,w,a,t,b,+六个字符拼成。
    4.对文件流的操作不是很熟悉,while(fscanf(fp,…)循环出错,导致在刷新学生信息时,读不出文件信息,老是显示文件为空。

    展开全文
  • 数据结构课程设计,学生成绩管理系统,版本:0.1,具有特性:具有一定的权限管理系统,不需要安装数据库,使用txt文本文件存储数据,使用Java语言编写链表进行对数据处理,拥有增,删,查,改,显示,排序等多种功能...
  • SQL数据库学生成绩管理系统课程设计文档(学生版)第一次发,请多多支持!
  • 学生信息管理系统,要求完成以下基本任务: 1.改写程序为良好程序风格(文档注释,函数注释,语句注释)。 2.将功能补充完全(基于文件处理,完成刷新和保存功能)。 3.将学生信息改为更好的数据组织,而非离散...

    学生信息管理系统,要求完成以下基本任务:
    1.改写程序为良好程序风格(文档注释,函数注释,语句注释)。
    2.将功能补充完全(基于文件处理,完成刷新和保存功能)。
    3.将学生信息改为更好的数据组织,而非离散形式(结构体)。
    提高要求:
    可将程序中的不足(如数据验证)等根据自己的能力与理解完成。

    源代码:

    #include<stdio.h> /*I/O函数*/
    #include<stdlib.h> /*其它说明*/
    #include<string.h> /*字符串函数*/
    #define BUFLEN 100 /* 缓冲区最大字符数 */
    #define LEN 15 /* 学号和姓名最大字符数,实际请更改 */
    #define N 100 /* 最大学生人数,实际请更改*/
    struct record /*结构体*/
    {
    char code[LEN+1]; /* 学号 */
    char name[LEN+1]; /* 姓名 */
    int age; /* 年龄 */
    char sex[3]; /* 性别 */
    char time[LEN+1]; /* 出生年月 */
    char add[30]; /* 家庭地址 */
    char tel[LEN+1]; /* 电话号码 */
    char mail[30]; /* 电子邮件地址 */
    }stu[N];
    int k=1,n,m; /* 定义全局变量 */
    void readfile();/* 建立信息 */
    void seek();/*查找*/
    void modify();/*修改信息*/
    void insert(); /*插入信息*/
    void del(); /*删除信息*/
    void display(); /*显示信息*/
    void save(); /*保存信息*/
    void menu();/* 界面*/
    int main()
    {
    while(k)
    menu();
    system("pause");
    return 0;
    }
    void help()
    {
    printf("\n0.欢迎使用系统帮助!\n");
    printf("\n1.进入系统后,先刷新学生信息,再查询;\n");
    printf("\n2.按照菜单提示键入数字代号;\n");
    printf("\n3.增加学生信息后,切记保存按7;\n");
    printf("\n4.谢谢您的使用!\n");
    }
    void readfile()/* 建立信息 */
    {
    char *p="student.txt";
    FILE *fp;
    int i=0;
    if ((fp=fopen("student.txt","r"))==NULL)
    {
    printf("Open file %s error! Strike any key to exit!",p);
    system("pause");
    exit(0);
    }
    while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,&stu[i].age,
    stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)
    {
    i++;
    i=i;
    }
    fclose(fp);
    n=i;
    printf("录入完毕!\n");
    }
    
    void seek() /*查找*/
    {
    int i,item,flag;
    char s1[21]; /* 以姓名和学号最长长度+1为准 */
    printf("------------------\n");
    printf("-----1.按学号查询-----\n");
    printf("-----2.按姓名查询-----\n");
    printf("-----3.退出本菜单-----\n");
    printf("------------------\n");
    while(1)
    {
    printf("请选择子菜单编号:");
    scanf("%d",&item);
    flag=0;
    switch(item)
    {
    case 1:
    printf("请输入要查询的学生的学号:\n");
    scanf("%s",s1);
    for(i=0;i<n;i++)
    if(strcmp(stu[i].code,s1)==0)
    {
    flag=1;
    printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
    printf("--------------------------------------------------------------------\n");
    printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
    stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
    }
    if(flag==0)
    printf("该学号不存在!\n"); break;
    case 2:
    printf("请输入要查询的学生的姓名:\n");
    scanf("%s",s1);
    for(i=0;i<n;i++)
    if(strcmp(stu[i].name,s1)==0)
    {
    flag=1;
    printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
    printf("--------------------------------------------------------------------\n");
    printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
    stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
    }
    if(flag==0)
    printf("该姓名不存在!\n"); break;
    case 3:return;
    default:printf("请在1-3之间选择\n");
    }
    }
    }
    void modify() /*修改信息*/
    {
    int i,item,num;
    char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和学号最长长度+1为准 */
    printf("请输入要要修改的学生的学号:\n");
    scanf("%s",s1);
    for(i=0;i<n;i++)
    if(strcmp(stu[i].code,s1)==0) /*比较字符串是否相等*/
    num=i;
    printf("------------------\n");
    printf("1.修改姓名\n");
    printf("2.修改年龄\n");
    printf("3.修改性别\n");
    printf("4.修改出生年月\n");
    printf("5.修改地址\n");
    printf("6.修改电话号码\n");
    printf("7.修改E-mail地址\n");
    printf("8.退出本菜单\n");
    printf("------------------\n");
    while(1)
    {
    printf("请选择子菜单编号:");
    scanf("%d",&item);
    switch(item)
    {
    case 1:
    printf("请输入新的姓名:\n");
    scanf("%s",s2);
    strcpy(stu[num].name,s2); break;
    case 2:
    printf("请输入新的年龄:\n");
    scanf("%d",&stu[num].age);break;
    case 3:
    printf("请输入新的性别:\n");
    scanf("%s",sex1);
    strcpy(stu[num].sex,sex1); break;
    case 4:
    printf("请输入新的出生年月:\n");
    scanf("%s",s2);
    strcpy(stu[num].time,s2); break;
    case 5:
    printf("请输入新的地址:\n");
    scanf("%s",s2);
    strcpy(stu[num].add,s2); break;
    case 6:
    printf("请输入新的电话号码:\n");
    scanf("%s",s2);
    strcpy(stu[num].tel,s2); break;
    case 7:
    printf("请输入新的E-mail地址:\n");
    scanf("%s",s2);
    strcpy(stu[num].mail,s2); break;
    case 8:return;
    default:printf("请在1-8之间选择\n");
    }
    }
    }
    void sort()/*按学号排序*/
    {
    int i,j,*p,*q,s;
    char temp[10];
    for(i=0;i<n-1;i++)
    {
    for(j=n-1;j>i;j--)
    if(strcmp(stu[j-1].code,stu[j].code)>0)
    {
    strcpy(temp,stu[j-1].code);
    strcpy(stu[j-1].code,stu[j].code);
    strcpy(stu[j].code,temp);
    strcpy(temp,stu[j-1].name);
    strcpy(stu[j-1].name,stu[j].name);
    strcpy(stu[j].name,temp);
    strcpy(temp,stu[j-1].sex);
    strcpy(stu[j-1].sex,stu[j].sex);
    strcpy(stu[j].sex,temp);
    strcpy(temp,stu[j-1].time);
    strcpy(stu[j-1].time,stu[j].time);
    strcpy(stu[j].time,temp);
    strcpy(temp,stu[j-1].add);
    strcpy(stu[j-1].add,stu[j].add);
    strcpy(stu[j].add,temp);
    strcpy(temp,stu[j-1].tel);
    strcpy(stu[j-1].tel,stu[j].tel);
    strcpy(stu[j].tel,temp);
    strcpy(temp,stu[j-1].mail);
    strcpy(stu[j-1].mail,stu[j].mail);
    strcpy(stu[j].mail,temp);
    p=&stu[j-1].age;
    q=&stu[j].age;
    s=*q;
    *q=*p;
    *p=s;
    }
    }
    }
    void insert() /*插入函数*/
    {
    int i=n,j,flag;
    printf("请输入待增加的学生数:\n");
    scanf("%d",&m);
    do
    {
    flag=1;
    while(flag)
    {
    flag=0;
    printf("请输入第 %d 个学生的学号:\n",i+1);
    scanf("%s",stu[i].code);
    for(j=0;j<i;j++)
    if(strcmp(stu[i].code,stu[j].code)==0)
    {
    printf("已有该学号,请检查后重新录入!\n");
    flag=1;
    break; /*如有重复立即退出该层循环,提高判断速度*/
    }
    }
    printf("请输入第 %d 个学生的姓名:\n",i+1);
    scanf("%s",stu[i].name);
    printf("请输入第 %d 个学生的年龄:\n",i+1);
    scanf("%d",&stu[i].age);
    printf("请输入第 %d 个学生的性别:\n",i+1);
    scanf("%s",stu[i].sex);
    printf("请输入第 %d 个学生的出生年月:(格式:年.月)\n",i+1);
    scanf("%s",stu[i].time);
    printf("请输入第 %d 个学生的地址:\n",i+1);
    scanf("%s",stu[i].add);
    printf("请输入第 %d 个学生的电话:\n",i+1);
    scanf("%s",stu[i].tel);
    printf("请输入第 %d 个学生的E-mail:\n",i+1);
    scanf("%s",stu[i].mail);
    if(flag==0)
    {
    i=i;
    i++;
    }
    }
    while(i<n+m);
    n+=m;
    printf("录入完毕!\n\n");
    sort();
    }
    void del() /*删除信息*/
    {
    int i,j,flag=0;
    char s1[LEN+1];
    printf("请输入要删除学生的学号:\n");
    scanf("%s",s1);
    for(i=0;i<n;i++)
    if(strcmp(stu[i].code,s1)==0)
    {
    flag=1;
    for(j=i;j<n-1;j++)
    stu[j]=stu[j+1];
    }
    if(flag==0)
    printf("该学号不存在!\n");
    if(flag==1)
    {
    printf("删除成功,显示结果请选择菜单6\n");
    n--;
    }
    }
    void display() /*显示信息*/
    {
    int i;
    printf("所有学生的信息为:\n");
    printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
    printf("--------------------------------------------------------------------\n");
    for(i=0;i<n;i++)
    {
    printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
    stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
    }
    }
    void save() /*保存信息*/
    {
    int i;
    FILE *fp;
    fp=fopen("student.txt","w"); /*写入*/
    for(i=0;i<n;i++)
    {
    fprintf(fp,"%s %s %d %s %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,
    stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
    }
    fclose(fp);
    }
    void menu()/* 界面 */
    {
    int num;
    printf("*********************系统功能菜单************************ \n");
    printf("友情提醒:查询前请先刷新系统! \n");
    printf(" ---------------------- ---------------------- \n");
    printf(" ********************************************* \n");
    printf(" * 0.系统帮助及说明 * * 1.刷新学生信息 * \n");
    printf(" ********************************************* \n");
    printf(" * 2.查询学生信息 * * 3.修改学生信息 * \n");
    printf(" ********************************************* \n");
    printf(" * 4.增加学生信息 * * 5.按学号删除信息 * \n");
    printf(" ********************************************* \n");
    printf(" * 6.显示当前信息 * * 7.保存当前学生信息* \n");
    printf(" ********************** ********************** \n");
    printf(" * 8.退出系统 * \n");
    printf(" ********************** \n");
    printf(" ---------------------- ---------------------- \n");
    printf("请选择菜单编号:");
    scanf("%d",&num);
    switch(num)
    {
    case 0:help();break;
    case 1:readfile();break;
    case 2:seek();break;
    case 3:modify();break;
    case 4:insert();break;
    case 5:del();break;
    case 6:display();break;
    case 7:save();break;
    case 8:k=0;break;
    default:printf("请在0-8之间选择\n");
    } 
    }

    测试结果:
    这里写图片描述

    这里写图片描述

    这里写图片描述

    程序流程图:
    这里写图片描述

    展开全文
  • 结合sqlite3的学生信息成绩管理系统(一)的程序介绍和流程图,这个系统结合了sqlite3,还有导入文件和导出文件,这是这个系列的第一篇文章、

    一、前言

    最近在做这个程序的图形化,也把这个程序放上来吧,供大家参考一下。
    程序全程结合了数据库 sqlite3 进行操作,导入文件和导出文件是结合了excel。

    因为是几个月前写的程序,只能简单介绍一下各个函数,实现效果是复制当初的实验报告的,为了方便大家观看代码的实现效果,把实现效果放在各自的文章里了。

    关于excel的函数: 因为当初学的是 xlwt, xlrd,后面才发现最新版本的excel有另外一个函数,所以本程序用的是 xlwt, xlrd 和 xlutils 里的 copy。

    思路: 我在写这个的时候是按从主文件开始写起,然后再写管理和查询,因为这两个是比较常规的系统都要的功能,而导入和导出是后面加的,在最后操作的时候我是先导入文件的,这样数据库才有更多数据,最后才导出。

    二、系列文章链接

    (一):程序介绍和流程图
    (二):主要文件main.py
    (三):基础文件basics.py
    (四):管理学生信息manage.py
    (五):查询学生信息query.py
    (六):导入数据文件import_data.py
    (七):导出数据文件export_data.py

    三、程序介绍

    程序的各个部分:
    把程序按照流程图划分为五个文件,分别是:
    主要文件:main.py,
    查询学生信息:manage.py,
    管理学生信息:query.py,
    导入数据文件:import_data.py,
    导出数据文件:export_data.py
    还有一个文件是basics.py,用于存放在多个文件中都能使用的函数,大多是关于数据库的操作函数。
    各个文件的功能看下面的流程图。

    四、流程图

    (1)主要文件:main.py

    在这里插入图片描述

    (2)查询学生信息:manage.py

    在这里插入图片描述

    (3)管理学生信息:query.py

    在这里插入图片描述

    (4)导入数据文件:import_data.py

    在这里插入图片描述

    (5)导出数据文件:export_data.py

    在这里插入图片描述


    如果文章对你有帮助,点赞是对我最好的鼓励了!

    展开全文
  • 基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的学生成绩管理, 该项目可用各类java课程设计大作业中, 学生成绩管理的系统架构分为前后台两部分, 最终实现在线上进行学生成绩管理各项功能,实现了诸如用户管理, ...
  • java简单学生成绩管理系统

    千次阅读 2021-02-01 05:54:52
    题目要求:一、 数据结构要求:(5 分)1、定义 ScoreInformation 类,其中包括七个私有变量(stunumber,name, ...各成员的含义如下:变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数字组...
  • 管理信息系统课程设计报告 开发项目学生成绩管理信息系统 学院 管理学院 专业 工商管理 班级 学生姓名 导师姓名 实习学期 2011~2012学年第二学期 管理信息系统课程设计报告 目 1. 设计人员的任务分工. 2系统简介. 3....
  • [课程设计] 学生成绩管理系统

    千次阅读 2021-10-13 17:32:35
    虽然学生成绩管理系统互联网上随处可见,但是大多数代码命名不规范、随意性大,而且代码质量较为糟糕,尤其是并未充分体现面向对象的设计理念。本资源针对上述问题进行了充分的设计,是一份非常难得的面向对象程序...
  • 使用c语言编写各种管理系统,主要包括学生成绩管理、图书管理、学生信息管理以及二叉树的各种遍历,其中学生管理系统分别有堆栈和链表等方式实现。所有代码已经本人编译运行,绝对无错,下载后可立即使用!
  • 一个大学课程设计,关于 学生成绩管理系统的数据库设计 具体内容有:数据库设计的VSD图,业务流程图,上下文图,顶层数据流图,以及CDM模型,还有建表语句,以及系统开发文档。
  • 沈阳航空航天大学课程设计报大作业名称:C语言课程设计大作业题目:学生成绩管理系统设计院(系):计算机学院专业:计算机科学与技术班 级:学 号:姓 名: 指导教师:完成日期:2016年12月24日目录TOC \o "1-5" \h \...
  • 主要为大家详细介绍了python实现简易学生信息管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 学生成绩管理系统单链表实现

    千次阅读 2020-09-04 10:32:24
    学生成绩管理程序 (使用c,go,python语言开发) 代码及版本管理地址 gitee码云版本地址(点击跳转) 要求 本程序用于教学单位(院/系)的学生成绩管理。要求程序能够实现学生信息录入(可以实现增加、删除、修改学生的...
  • c++学生成绩管理系统

    2020-08-12 21:58:49
    本文包括学生成绩管理系统(链表实现)运行结果截图、自测数据、源代码、调试截图以及流程图(总体流程图和各个函数流程图)。 本人小白一枚,项目比较简陋,大神勿喷! 1. 问题描述 对班级学生的考试成绩进行统一...
  • 主要是添加、修改、删除、查询学生信息、包括总成绩
  • c语言学生成绩管理系统

    热门讨论 2013-03-14 22:27:45
    一、题目: 学生成绩管理系统 二、目的与要求 1. 目的: (1)基本掌握面向过程程序设计的基本思路和方法; (2)达到熟练掌握C语言的基本知识和技能; (3)能够利用所学的基本知识和技能,解决简单的程序设计问题...
  • 输入输出的形式 程序的实现功能 第二章程序设计 概要设计 详细设计 调试分析 使用说明 测试数据 第三章 使用说明和程序流程图 程序流程图 课程设计经验和体会? 幷 P& ?/耐右? 幷 P& ?/耐右? 第一章需求分析 1课程...
  • 目 录 TOC \o "1-3" \h \z \u 一运行环境 1 一运行环境 1 二设计目的和意义 2 2.1设计目的 2 2.2设计意义 2 三算法思想 2 四模块划分 5 五数据结构 5 六程序流程图 6 七程序源代码 7 八程序调试过程分析 17 九测试...
  • C#语言实现《学生成绩管理系统》

    万次阅读 多人点赞 2017-11-08 20:13:53
    我创建了一个VS项目连接数据库,项目为学生成绩管理系统,其中包含登录、开课情况查询、学生成绩查询、学生信息维护、学生成绩维护以及帮助等主要内容。项目分为两端:因用户权限不同,分别为普
  • 满分JAVA实验报告--基于命令行的学生成绩管理系统。 包括设计思想、程序的结构、功能关系图、类的说明和类之间的关系图、程序主要执行流程图。 核心源代码的解释(十分详细),结果图以及异常处理,实验心得等。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,225
精华内容 5,290
关键字:

学生成绩管理代码流程图