学生信息管理系统

本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉 C 语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件等方面的知 识。通过本程序的训练,使学生能对 C 语言的文件操作有一个更深刻的了解,掌握利用单 链表存储结构实现对学生成绩管理的原理,为进一步开发出高质量的管理信息系统打下坚 实的基础。

1、问题定义 创建一个学生成绩管理系统。假设系统中每个学生记录只包括学生学号、学生姓名、 年龄、性别、出生年月、电话等信息。程序的运行效果如下图所示,选择任意菜单后,实 现相应功能。

在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设 计和系统实现的任务。

2、系统设计

2.1 总体设计 采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任 务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且 容易理解。可以用模块化层次结构来分析其任务的划分,一般从上到下进行,最上面一层 是主模块,下面各层是其上一层模块的逐步细化描述。

本成绩管理系统要求采用数组实现,它由如下六大功能模块组成: 输入学生记录。

查询学生记录。

删除学生记录。 显示所有学生记录。 统计学生人数。刷新当前信息。

2.2详细设计

2.2.1数据结构设计

学生个人信息结构体

结构体 struct student 将用于存储学生的基本信息,它将作为单链表的数据域。

struct record /* 结构体 */

{

char code[LEN+1] 。 /* 学号 */

char name[LEN+1] 。 /* 姓名 */

int age 。 /* 年龄 */

char sex[3] 。 /* 性别 */

char date[LEN+1] 。 /* 出生年月 */

char tel[LEN+1] 。 /* 电话号码 */

}stu[N] 。

2.2.2输入记录模块

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",stu[i].code,stu[i].name,&stu[i].age, stu[i].sex,stu[i].date,stu[i].tel)==8)

{ i++ 。 i=i 。

}

fclose(fp) 。

n=i。 printf(" 录入完毕! \n") 。

}

2.2.3查询记录模块

void seek() /* 查找 */

{

int i,item,flag 。

char s1[21]。 /* 以姓名和学号最长长度 +1为准 */ printf("\n") 。

printf(" 1. 按学号查询 \n") 。

printf(" 2. 退出本菜单 \n") 。 printf("\n") 。

while(1)

{

printf(" 请选择子菜单编号 :") 。 scanf("%d",&item) 。

flag=0 。 switch(item)

{

case 1:

printf(" 请输入要查询的学生的学号 :\n") 。 scanf("%s",s1) 。

for(i=0 。 i

{

flag=1 。

printf(" 学生学号 学生姓名 年龄 性别 出生年月 电话 \n") 。 printf("\n") 。

printf("%6s %7s %6d %5s %9s %10s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].date,stu[i].tel) 。

}

if(flag==0)

printf(" 该学号不存在! \n") 。 break。

case 2:return。

default:printf(" 请在 1-2 之间选择 \n") 。

}

}

}

2.2.4删除记录模块

void del()

{

int i,j,flag=0 。

char s1[LEN+1] 。

printf(" 请输入要删除学生的学号 :\n") 。

scanf("%s",s1) 。

for(i=0 。 i

if(strcmp(stu[i].code,s1)==0)

{

fla

成绩管理单链表文件c语言,c语言学生信息管理完整.docx相关推荐

  1. 学生成绩管理(链表)c++

    二.设计与实现 1.设计思想 设计一个Student类,Student类中包括对学生信息的各种操作函数,并设计一个StuMessage结构,用以存储学生信息,Student类公有继承用StuMessa ...

  2. c语言链表查找的代码与题目,链表的C语言实现之单链表的查找运算_c语言

    建立了一个单链表之后,如果要进行一些如插入.删除等操作该怎么办?所以还须掌握一些单链表的基本算法,来实现这些操作.单链表的基本运算包括:查找.插入和删除.下面我们就一一介绍这三种基本运算的算法,并结合 ...

  3. 使用单链表数据结构存储结构化的学生信息

    使用单链表数据结构存储结构化的学生信息 一.题目描述 定义一个学生结构体,包含有:学号,姓名,成绩.输入N个学生的信息,并进行基本的链表操作.(更好的阅读体验,请在我的博客网站上阅读此文:使用单链表数 ...

  4. 单链表逆序生成及逆置的完整实现

    单链表逆序生成及逆置的完整实现 本例中单链表数据类型定义成int型,可更改 头文件1(1.h) 宏定义及Status类型定义 头文件2(2.h) 单链表基本操作函数与逆置函数 include" ...

  5. 学生信息管理系统C语言单链表文件实现

    功能概述:分有教师端和学生端 1.录入学生信息     2.排列学生信息    3.修改学生信息     4.删除学生信息       5.查找学生信息     6.修改系统密码       7.获取 ...

  6. c语言实现学生二科成绩的单链表,c++链表实现学生成绩管理系统(简易版)

    #include using namespace std; typedef struct student{ int id;//学号 string sex; string name; int cpp;/ ...

  7. 【数据结构】循环单链表的实现(C语言)

    循环单链表应掌握以下基本操作: 1.建立一个空的循环单链表. 2.获得循环单链表的最后一个结点的位置. 3.输出循环单链表中各结点的值. 4.在循环单链表中查找值为x的结点. 5.在循环单链表中第i个 ...

  8. 【数据结构】单链表的应用(C语言)

    1.设计一个算法,求一个单链表中的节点数 2.设计一个算法,在一个单链表中值为y的结点前插入一个值为x的结点(值为x的新结点为成为值为y的结点前驱结点) 3.设计一个算法,判断单链表中各结点是否有序 ...

  9. 【数据结构】单链表的实现(C语言)

    单链表是线性表链式储存的一种形式,其中的结点一般含有两个域,一个是存放数据信息的info域,另一个是指向该结点后继结点存放地址的指针next域.一个单链表必须要有一个首指针指向链表中的第一个结点. 单 ...

最新文章

  1. Python数据分析工具:Pandas_Part 1
  2. Android OpenGL ES 开发教程(20):颜色Color
  3. bash-shell高级编程--求最大公约数
  4. 洛谷UVA1328,POJ1961-Period【KMP,字符串】
  5. linux 查看服务器作业,linux – 如何在服务器负载较低时运行作业?
  6. wdcp mysql日志文_mysql的日志简单总结
  7. Python稳基修炼之计算机等级考试易错细节题4(含答案)
  8. 波士顿动力机器狗解锁“自动驾驶”,会跑步的Atlas真的很稳
  9. ​ ​微软Office新增实用功能允许用户在不同设备上轻松送同步字体
  10. 席位分配:惯例Q值法,dhondt法matlab实现
  11. 运维部门工作总结_运维工作个人工作总结范文
  12. 二级考试内容之C和Python
  13. <4>STM32F103基础知识
  14. elasticsearch删除过期数据
  15. 7-58 求10个点到原点的距离和 (15 分)
  16. 红米note2 android版本是多少,红米Note 2有几个版本以及红米Note2手机哪个版本好用?...
  17. (一)ssh远程连接服务器GPU以及其他GPU使用途径——新手指南
  18. 送书来了|Python数据分析必备工具书
  19. c语言第4份实验报告,C语言实验报告(四)
  20. 【HDOJ】4642 Fliping game_天涯浪子_新浪博客

热门文章

  1. 图片懒加载解决方案 lazyload.js
  2. js获取checkbox多选表单
  3. Log4j MDC Tomcat下报异常org.apache.log4j.helpers.ThreadLocalMap
  4. 关于@@IDENTITY、SCOPE_IDENTITY ()、IDENT_CURRENT ('tableName')
  5. word通配符使用法详解
  6. sqli-labs 30到65关
  7. Python简单实现基于VSM的余弦相似度计算
  8. [Android] 底部菜单布局+PopupWindows实现弹出菜单功能(初级篇)
  9. Python之十大经典排序算法的实现和原理
  10. Python之列表表达式及高阶函数lamda、zip、enumerate、map和filter方法