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

0 下载量 140 浏览量 更新于2024-06-24 收藏 656KB DOC 举报
"学生学籍管理系统(C语言实现)课程设计.doc" 这篇文档是关于攀枝花学院软件工程专业学生谢伟明进行的一次课程设计,主题是“学生学籍管理系统”的开发,采用C语言编程实现。这次课程设计的主要目标是巩固和深化学生对数据结构的理解,包括抽象数据类型的逻辑结构、存储结构和操作算法,同时提升软件设计和规范化编程的能力。学生需要利用计算机资料和参考资料,提高程序设计的基本技能。 课程设计的具体内容包括以下几个方面: 1. 建立学生档案基本信息表:表中包含学号、姓名、性别、年龄、家庭地址、电话和获奖情况等字段,使用顺序表存储,并按学号排序。 2. 插入记录:允许向已排序的学生档案中插入新记录,保持整体有序。 3. 查找和修改:能够根据学号和姓名查找学生信息,如果找到,提供修改选项。 4. 删除记录:支持按学号或姓名删除学生信息。 5. 排序与显示:能对所有学生信息进行排序,并展示所有记录。 6. 密码功能:增加密码保护,确保系统安全性。 为了完成这个项目,学生参考了以下书籍: 1. 《数据结构》(C语言版),严蔚敏,清华大学出版社,2003。 2. 《数据结构题集》,严蔚敏,清华大学出版社,2005。 3. 《数据结构》(C语言版),刘大有,高等教育出版社,2004。 4. 《Data Structures with C++》,William Ford & William Topp,清华大学出版社,2003。 课程设计的工作进度计划为: - 第1天:完成方案设计与程序框图 - 第2、3天:编写程序代码,进行调试和分析 - 第4、5天:编写课程设计报告和进行总结 指导教师会根据学生的工作表现、学习态度和科学实践能力等方面进行评估,以确保课程设计的质量和效果。 整个项目旨在通过实际操作,让学生将理论知识应用于实践,提升其在软件工程领域的综合能力,包括问题解决、编码实现、文档编写以及团队协作等方面。
2023-05-29 上传
序号: 学号: 课 程 设 计 课程设计名称: C语言程序设计 题 目: 学籍管理系统 学 生 姓 名: 学 院(系): 专 业 班 级: 指 导 教 师: 设计时间: 年 月 日 ( 年 月 日 湖南涉外经济学院 目 录 1. 意义及主要功能 2. 整个系统的功能结构图以及调用关系 3. 流程图 4. 程序运行概述 5. 系统使用说明 6. C语言源程序代码 7. 心得体会 8. 日志 9. 参考文献 1、意义及主要功能 意义:按照分析、设计、编码、调试和测试的软件开发过程独立完成一个学生学籍基本情 况管理系统,并能最终实现本系统的功能要求。 主要功能: 假设某校学生学籍基本信息主要包括:学号、姓名、所在系、班级、户籍等,本 系统应能对这些基本信息进行管理,并要求具有以下功能: 1、具有添加学生信息功能 2、具有显示学生信息功能 3、具有删除学生信息功能 4、具有查询学生信息功能 5、具有排序学生信息功能 6、具有查询学生户籍功能 2、整个系统的功能结构图以及调用关系 3、流程图 A. 学生信息添加: B、学生信息删除: C、学生信息查询: D、学生信息排序: E、学生信息显示: 4、程序运行概述 程序主菜单界面 添加学生信息功能界面 删除学生信息功能界面 按学号删除学生信息功能界面 按姓名删除学生信息功能界面 查询学生信息功能界面 按学号查找学生信息功能界面 按姓名查找学生信息功能界面 显示籍贯信息功能界面 按学号查询学生籍贯信息界面 按专业名称查询学生籍贯信息界面 5、系统使用说明 该系统用来是实现添加、删除、查询、排序、显示学生信息,通过各种操作实现相应的 功能,然后按学号或姓名查询或删除,排序功能按学号或姓名排列。 6、C语言源程序代码 #include "stdio.h" #include "string.h" int n=0; struct student { int number; char name[20]; char dep[20]; int class; }a[10],b[10]; main() { void find(); void input(); void del(); void arrange(); void output(); char c; int i; do { clrscr(); for(i=0;i<80;i++) printf("*"); printf("\t 1: 添加一个学生\n"); printf("\t 2: 删除一个学生\n"); printf("\t 3: 查找一个学生\n"); printf("\t 4: 学生信息排序\n"); printf("\t 5: 学生信息输出\n"); printf("\t 6: 退出\n"); printf("\t 请选择输入选项[1\\2\\3\\4\\5\\6]: \n"); do { c=getchar(); }while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&c!='6'); getchar(); switch(c) { case '1':input();break; case '2':del();break; case '3':find();break; case '4':arrange();break; case '5':output();break; case '6':exit(0); } printf(" 按任意键返回主菜单:\n"); getchar(); clrscr(); }while(1); } void input() { printf("please input number,name,department and class\n"); scanf("%d%s%s%d",&a[n].number,a[n].name,a[n].dep,&a[n].class); getchar(); n++; } void del() { int k,i,j,m,p; char name1[20]; printf("如按学号删除请按1,按姓名删除请按2\n"); scanf("%d",&m); if(m==1) { printf("请输入学号\n"); scanf("%d",&k); flushall(); for(i=0;i<n;i++) if(k==a[i].number) for(j=i;j<n;j++) a[j]=a[j+1]; n--; } else { printf("请输入姓名\n"); scanf("%s",name1); flushall(); for(i=0;i<n;i++) { p=strcmp(name1,a[i].name); if(p==0) for(j=i;j<n