C语言实现学籍管理系统:功能与设计方法

0 下载量 89 浏览量 更新于2024-06-28 收藏 712KB DOC 举报
本份文档是关于"C语言学籍标准管理系统"的专业课程设计报告,由高俊玲、洪泽慧、陈震和黄紫腾四位同学共同完成,指导教师为俞庆英,隶属于电子信息系的计算机科学与技术专业12级计算机一班。设计时间跨度从2012年6月17日至2013年6月21日。 设计的核心内容围绕C语言编程,构建一个学籍管理系统,用于管理学生的个人信息,如学号、姓名、性别、年龄、籍贯、系别和专业班级。系统设计采用结构体数组来存储这些信息,并利用字符数组和整型数组进行数据表示。主要功能包括录入、显示、查找、删除和修改学生信息,以及查询统计学籍变化,如入学、转专业、退学等情况。系统设计要求以菜单形式呈现,用户可以通过简单的操作进行各项功能的调用,体现出C语言编程的简洁性和实用性。 程序设计的关键技术包括结构体数组的设计、菜单函数的编写以及数据文件的使用,这些有助于提高程序的组织性和易用性。通过这个项目,学生们不仅加深了对C语言的理解,还实践了如何用C语言解决实际问题,特别是复杂数据结构和文件操作的应用。 设计的目的旨在让学生在实际操作中熟练掌握C语言编程技巧,理解软件开发流程,并通过实现学籍管理功能,提升他们的问题解决能力和系统设计能力。此外,它也展示了C语言在日常生活中处理数据管理的实际应用场景,让学生体会到编程技术在实际生活中的价值。 这份报告是一个综合性的实践项目,涵盖了C语言的基础知识应用、数据结构设计、文件操作以及用户界面设计,对于提升学生的编程技能和实际项目经验具有重要意义。
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