班级#档案管理#系统
课 程 设 计 报 告
课程名称 《C语言程序
》
课题名称 班级档案管理系统 专 业 轻化工程
级 轻化0702 班
学 号 200706020212 姓 名 唐 莹 指导教师 陈世清 扬子华 罗 敬
5 月 4 日 2009年
湖南工程学院
课 程 设 计 任 务 书
课程名称 《C语言程序设计》 课 题 班级档案管理系统 专业班级 轻化工程 学生姓名 唐 莹 学 号 200706020212
指导老师 陈世清 扬子华 罗 敬
审 批
2009 年 5 月 4 日 任务书下达日期
任务完成日期 2009年 5 月 10 日
与设计要求 一设计内容
1(设计内容
对一个有N个学生的班级通过该系统实现对该班级学生的基本信息进行录
入显示修改删除保存等操作的管理
2(设计要求
1本系统采用一个包含N个数据的结构体数组每个数据的结构应当包括学号
姓名性别年龄备注
2本系统显示这样的菜单
请选择系统功能项
学生基本信息录入要求先输入密码
学生基本信息显示
学生基本信息删除要求先输入密码
学生基本信息修改要求先输入密码
学生基本信息查询
按学号查询
按姓名查询
按性别查询
按年龄查询
f 退出系统
3执行一个具体的功能之后程序将重新显示菜单
4将学生基本信息保存到文件中 5进入系统之前要先输入密码 二进度安排
布置任务查找资料 星期一
星期二 确定总体
进行详细设计
星期三 编写程序上机调试
星期四 编写程序上机调试 星期五 答辩总结
星期六,星期天 写课程设计报告 目 录
一设计目的1
二总体设计 1
21程序设计组成框图 5 22 流程图 6
三详细设计 8
31功能介绍 8
32用户使用说明书9
四调试与测试 10
41参考文献 10
42结果分析与问题讨论 11
43心得体会 12
附件源程序清单和评分表
一 课程设计目的
全面熟悉C语言基本知识进一步掌握程序设计与调试结果分析的
和技巧进一步提高上机动手能力养成提供文档资料的习惯掌握程序化设计的重要思想采用自顶向下逐步求精的方法编制程序解决一些实际问题为以后的学习和工作打下较好的基础为将来使用和开发软件积累一些典型的案例处理经验
二 总体设计
2删除函数流程图
3修改函数流程图
4查找函数流程图
三 详细设计
31功能介绍
问题描述
对一个有N个学生的班级通过该系统实现对该班级学生的基本信息进行录入显示修改删除保存等操作的管理
基本功能
1本系统采用一个包含N个数据的结构体数组每个数据的结构应当包括学号姓名性别年龄备注
2本系统显示这样的菜单
请选择系统功能项
学生基本信息录入要求先输入密码
学生基本信息显示
学生基本信息删除要求先输入密码
学生基本信息修改要求先输入密码
学生基本信息查询
按学号查询
按姓名查询
f 退出系统
3执行一个具体的功能之后程序将重新显示菜单
4将学生基本信息保存到文件中
5进入系统之前要先输入密码
32(用户使用说明书
Main 函数是程序的入口程序从它开始执行它里面包含了各个模块其中也要声明一些变量通过调用各个函数实现各个模块的作用并且包含一个switch选择语句实现选择功能
Strcmp 字符串比较函数进行密码等字符串的比较
Strcpy 字符串拷贝函数进行字符串的拷贝
add添加函数用于添加学生信息
disp显示函数用于显示学生信息
modi修改函数用于修改学生信息
find查找函数用于根据学号姓名进行查找
dele删除函数用于删除学生基本信息
进入此程序主菜单时首先必须正确输入正确的密码如果输入错误系统便提醒你再次输入密码如果输入了正确的密码便进入了主菜单进入之后系统便提醒你从abcdeg中选择你要进行的操作选择a便进入了显示学生基本信息的函数系统便将储存的所有学生的基本信息显示出来然后按Enter键便会回到主函数菜单选择b便进入了增加学生基本信息的函数进入此函数后按照系统的要求依次输入你要增加学生信息的人数新增加学生的学号姓名性别年龄和其他信息然后核对系统显示学生的信息是否与你所输入的一致无误后按Enter键接着输入下
一个学生的信息输入完毕后按Enter键回到主菜单选择便进入了删除学生基本信息函数选择你要删除学生信息的学号系统便进行删除如删除成功系统便显示Dele sucessful否则显示Dele failed显示Dele failed则说明系统中没有你所要删除的学生的信息按Enter键再回到主菜单选择d便进入了修改学生基本信息菜单进行修改前必须再次输入正确得密码输入正确进入修改函数错误系统便提醒你再次输入密码进入修改函数后输入你要修改学生信息的学号根据系统的显示依次输入新的学生的学号姓名性别年龄和其他信息核对系统所显示的学生的信息无误后按Enter键返回主菜单选择e便进入了查找学生基本信息函数进入此函数后根据系统的提示选择你所要查找的方式比如你若选择了2则接着输入你所要查找的姓名查找完之后按Enter键返回主菜单
调试与测试 四
41参考文献
[1] 谭浩强C语言程序设计第二版清华大学出版社[M]1999 121298-327
[2] 苏小红C语言程序设计电子工业出版社2002 2
[3] 刘振安C语言程序设计实训清华大学出版社2002 10
[4] 杨路明C语言程序设计教程北京邮电大学出版社
[5] 马靖善C语言程序设计清华大学出版社2005
42结果分析与问题讨论
在调试过程中出现了很多问题首先在调试时忘了在main前加void导致程序不能运行其次有段程序后面忘记加 了而有的又忘记加了竟然范了这么幼稚的错误实属不该啊同时一些很常见的问题也不时出错
43 心得体会
按照教学安排
我们轻化班在十一周进行了一周的关于C语言的课程设计
这次实习周给我们充足的时间自己构思自己设计自己调试自己分析同时还
有专门的老师指导我们通过这次的课程设计我体会很多虽然书上的知识我们学完了但由于C语言课上期就学完了很多东西都慢慢的忘记了虽然都只是些基础但要真正掌握并且会灵活应用它来编程还真的难我们平常没有什么机会去进行编程这次刚开始时很无奈但经过几天的上机实践以后自己也开始慢慢的去学习去实践
C语言课程设计不仅能提高教学质量增强教学效果而且能培养和提高我们分析问题解决问题能力和创新能力老师在给我们定制的任务书中中围绕我们的所学的书本的基本
引导引导我们思考和探索是我们的思想活跃起来
课程设计完了自己也掌握了一些知识但自己要说真正掌握了很多知识的话也没什么太多但学习就是要不断的发现问题才能不断的解决问题不然不会有什么成效更谈不上进步啦实际上问题是最好的老师是学生学习的引导没有问题便没有深入在C语言程序设计过程中我们就是在问题解决中学习即提出问题老师也留了大量的时间给我们思考讨论解决问题从而更深入地展开学习这样就充分的调动了我们学习的积极性和主动性
老师教给学生正确的学习方法给我们这么好的机会让我们掌握C语言的的思想精髓在这次的实践过程中我独立的思考着这些问题自己试着设计着这些比较有趣的课题把课堂上学的forSwitch和while语句还有数组的使用和指针的用法与作用都有了进一步的认识从这次编程中我认识到做什么事情要求绝对的细心马虎不得程序设计课程的实践性很强通过这次实践也增强自己的动手能力让自己在以后的学习中要努力认真
这次的课程设计题是《班级档案管理系统》设计选题既接近实际需要又能够让我们感兴趣能够运用所学知识解决锻炼了我们的动手能力进一步培养我们分析问题解决问题研究和探索问题的能力和团队协作精神C语言不仅仅要求我们掌握基本的语法知识更要通过课程设计培养抽象思维和逻辑推理能力掌握程序设计的思想和方法尽管在设计中遇到了不少的问题回想起来最主要的原因
就是对C语言程序设计的不熟悉和不了解这样就算是遇到了错误了不知道修改所以程序设计就无法进行下去但是通过一周的课程设计使我对C语言有了很大程度上的了解也能掌握一写基本的有关C语言的知识
通过这次的程序设计周让我明白了只有努力只要自己真正的去做一件事情认真仔细这样才能让自己不仅在这一周更在以后的学习和工作中有很好的耐心才能做出一番成就
附件
源程序清单
include
include
include
char f[20] "8681208"
struct
char number[10] 学生学号
char name[20] 姓名
char sex[5] 性别
int age 年龄
char zb[100] 备注
stu[50] "010101""hujiping""Boy"22"12-503"
"010102""huzhiquan""Boy"23"12-303"
"010103""liuxiang""Boy"19"12-303"
"010104""chenrenming""Boy"20"12-303"
"010105""yulinghua""Boy"22"12-303"
"010106""yaomin""Boy"23"12-303"
"010107""yijianlian""Boy"22"12-303"
"010108""wurongsheng""Boy"19"12-303"
"010109""liulinan""girl"18"12-303"
"010110""weigong""girl"23"12-303" 数组初始化
int add int a 学生基本
信息录入函数
char j[10]m[1] k[20]l[4]p[50]
int win
clrscr 清屏处理
printf "\n add students number"
scanf "d"n
for i ai nai
printf "\n Add the information of students"
printf "\n\n please enter the No "
scanf " s"j
printf "\n Enter the name"
scanf " s"k
printf "\n Enter the sex"
scanf " s"l
printf "\n Enter the age "
scanf " d"w
printf "\n Enter the more information "
scanf " s"p
strcpy stu[i]numberj 拷贝学生基本信息
strcpy stu[i]namek
strcpy stu[i]sexl
stu[i]age w
strcpy stu[i]zbp
getchar
printf "\n Please check it"
printf "\n No name sex age more information \n"
printf
"-1010s-1515s-1010s-8d-2525s\n"stu[n]numberstu[n]namestu[n]sexstu[n]agestu[n]zb
getchar
return na
disp int mint n 学生基本信
息显示函数
int i
printf "\n\n The information of all students"
printf "\n\n No name sex age more information\n"
for i mi ni
printf
"-1010s-1515s-1010s-8d-2525s\n"stu[i]numberstu[i]namestu[i]sexstu[i]agestu[i]zb
getchar
modi n 学生基本
信息修改函数
char j[10]m[1]k[20]l[4]p[50]
int oix 0
char h[20]
clrscr 清屏处理
printf "\n please enter your password" 身份验证
scanf "s"h
if strcmp hf x 3 密码比较
printf " error please try again"
if x 3 return
printf "\n Motify the information of students"
printf "\n\n please enter the NO"
scanf "s"j
for i 0i ni 修改基本信息输入
if strcmp jstu[i]number break
printf "\n enter the new name"
scanf "s"k
printf "\n enter the sex"
scanf "s"l
printf "\n enter the age"
scanf "d"o
printf "\n enter the more information\n"
scanf "s"p
strcpy stu[i]numberj 拷贝学生基本信息
strcpy stu[i]namek
strcpy stu[i]sexl
stu[i]age o
strcpy stu[i]zbp
printf "\n please check it"
printf
"-1010s-1515s-1010s-8d-2525s\n"stu[i]numberstu[i]namestu[i]sexstu[i]a
gestu[i]zb
getchar
find n 学生
基本信息查找函数
int lsclrscr
printf "\n\n Search the information of the students\n"
printf " 1 Search by No\n"
printf " 2 Search by name\n"
printf " Other key to main menun\n"
printf " Please choose one"
scanf "d"l
switch l switch语
句查找
case 1 按学号查找
char r[10] int s
printf "\nPlease enter the No"
scanf "s"r
for s 0s ns
if strcmp stu[s]numberr 0
disp ss-1
return
printf "\n Enter error\n Please press any key with
Enter key back"
getchar
return
case 2 按姓名查找
char r[10]m[1] int s
printf "\n Please enter the Name"
scanf "s"r
for s 0s ns
if strcmp stu[s]namer 0
disp ss-1 return
printf "\n Enter error\n Please press any key with
Enter key back"
getchar
return
dele n 学生基
本信息删减函数
char r[10]l[1]int stu
clrscr
printf " Please press the No you want to del"
scanf "s"r
for s 0s ns
if strcmp stu[s]numberr 0
for t st nt
strcpy stu[t]numberstu[t1]number 拷贝学生基本信息
strcpy stu[t]namestu[t1]name
strcpy stu[t]sexstu[t1]sex
strcpy stu[t]zbstu[t1]zb
stu[t]age stu[t1]age
printf "\n\n Del sucessful\n" 删减成功
getchar
return n-1
printf "\n\n Del failed" 删减失败
getchar
return n
main 主函
数
static int n 9
int i 0j 0
char mk[20] "8681208" 设置密码
printf "\n please input your password" 输入密码
while k[i] getch \r 密码比较
printf "" i
k[i] 0
while strcmp kf
i 0 j
printf "\n Please press any key with Enter key back"
getch
printf "\n please input your password" 输入密码
while k[i] getch \r
printf "" i 密码比较
if j 2
printf "error"
getchar
exit 0
for
clrscr 班级档案
管理系统欢迎界面
printf "\n\n\r\r\r\t \211 HuaGong0501 Dangan guanli \2221\n"
printf "\t Please make a choice\n" 选择菜单
printf "\n\n\tAAdd the information of the students\n"
printf "\tBShow the information of the students\n"
printf "\tCMotify the information of the students\n"
printf "\tDDel the information of the students\n"
printf "\tESearch the information of the students\n"
printf "\tGExit the program\n\n"
printf " Please choose abcde or g to enter\n"
printf " Please press the key"
m getchar getchar
switch m switch
语句选择
case a
case An add n break
case b
case Bdisp 0n break
case c
case Cmodi n break
case d
case Dn dele n break
case e
case Efind n break
case g
case Gexit 0
defaultprintf "your choice error try again"
课程设计评分表
课程名称 C语言程序设计
目 评 价 设计方案的合理性与创造性 设项
计与调试结果 设计说明书的质量 答辩陈述与回答问题情况
课程设计周表现情况 综合成绩
教师签名
日 期
21
录入功能
结束
密码函数
打开文件
开始
退出功能
删除功能
修改功能
查找功能
显示功能
功能菜单
结束
调用strcpy函数 学生的信息
for循环调用strcmp函数
Del failed Del successful
结束
for循环调用strcpy函数
调用strcmpy函数 学号
开始
学号
密码
开始
结束
调用函数
调用函数
姓名
年龄
性别
学号
By age
By sex
By No
By name
选择查找方式
开始