ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:581.54KB ,
资源ID:3436229      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3436229.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计报告学生管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计报告学生管理系统.docx

1、C语言课程设计报告学生管理系统兰州交通大学博文学院C语言程序设计课 程 设 计 报 告系 别: 交通运输系 班 级: 16交通运输(3)班 姓 名: 学 号: 指导老师: 2018年1月5日兰州交通大学博文学院交通运输系课程设计成绩评定表学生姓名 班 级 学 号 导师姓名 职 称 日 期 课程设计论文题目学生管理系统的C语言实现指导教师简要评语指导教师签名:成 绩备 注 一、课程性质C语言程序设计是理工类专业的主要专业基础课之一,该课程开设的目的是使学生掌握一种基本的程序设计语言。通过该课程的学习,掌握C语言的数据类型、运算和表达式,掌握结构化程序设计的基本结构,学会数组、结构体及函数的使用,

2、培养学生的程序编译素质,提高学生的程序开发能力。C语言程序设计课程实践性强,既可以培养学生的踏实工作作风,又可以培养学生的观察和思考能力以及团队合作的能力。二、课程设计的目标通过本次课程设计,进一步巩固和强化C程序设计的思想及程序调试的方法和技巧,培养灵活的思维方式及动手编写调试程序的能力。初步掌握软件的设计和开发手段,培养应用C语言解决实际问题的能力,培养学生踏实的工作作风、良好的观察和思考能力、团队合作能力,为后续专业课程的学习打下扎实的理论和实践基础。具体目标如下:1)能熟练应用VC+集成环境设计和调试C语言程序;2)能用C语言设计解决简单实际问题的程序,并能完成简单程序的测试;3)具有

3、良好的数据结构基础和算法能力,以提高个人的结构化程序设计能力;4)有计算机语言类课程的学习方法,能通过互联网、文献资料巩固和拓展所学知识;5)养成良好的编程习惯,培养严谨务实的分析问题与解决问题能力。6)知识目标: 掌握C语言的程序的基本结构和数据类型、运算符、表达式 熟悉的结构化程序设计的三种基本结构 熟练掌握C程序调试的方法、步骤和技巧 掌握函数的概念和用法 掌握数组的概念和用法 掌握指针及结构体的概念和用法三、课程设计的要求1、用C语言实现程序设计;2、利用结构体数组实现学生信息的数据结构设计;3、用函数实现系统功能模块的设计;4、界面友好(良好的人机交互),程序要有必要的注释。四、课程

4、设计(一)学生管理系统的功能设计学生信息管理系统存放了每个学生的学号、姓名、性别、出生日期、成绩、生源地信息地数据库。每个人的信息定义在一个结构体变量中。其结构如下:系统通过显示程序、追加程序、查询程序、删除程序、修改程序来实现学生信息管理系统的浏览功能、追加功能、查询功能、删除功能、修改功能。(二)学生管理管理系统的数据实现学号姓名性别出生日期生源地语文数学英语2016101赵泽云男1998、10、20甘肃5098902016102张爱平女1998、5、20甘肃9856202016103马正泽男1999、10、5湖北99100652016104王 云男1998、5、6甘肃6365662016

5、105闫欣华女1998、7、20甘肃8676852016106姚雪银男1998、2、15上海7595652016107冯勇勇男1998、4、23甘肃8223762016108辛军平女1998、5、8甘肃7995882016109秦 博男1998、12、20甘肃7171532016110李 苏女1998、10、3河南746063 (三)详细设计学生管理系统,程序通过#include 头文件 struct student定义结构体,用一个printf函数把输出信息,再通过一个for循环把每一个学生的信息输出,首先定义了一个文件指针,通过while循环录入信息,最后关闭文件。显示录入信息成功! 输入

6、值通过switch用选择相应模块。用for循环和字符串比较函数来不断的把输入的数据和系统储存的信息比较,如果相同,则输出信息。否则提示信息不存在!通过strcmp函数来判断该学号是否存在。同时将i后面的每一个学生信息都赋给前一个学生的信息,达到删除的效果。各个功能的调用通过主函数中的switch语句来实现。#include #include #include #define Maxisize 50 /最多学生人数int st=10;/当前学生人数struct Date /日期类型声明int year,month,day;struct Student /学生类型声明 int num; char

7、name20; char sex5; struct Date birthday; char address20;stuMaxisize= 2016101,赵泽云,男,1998,10,20,甘肃, 2016102,张爱平,女,1998,5,20,甘肃, 2016103,马正泽,男,1999,10,5,湖北, 2016104,王 云,男,1998,5,6,甘肃, 2016105,闫欣华,女,1998,7,20,甘肃, 2016106,姚雪银,男,1998,2,15,上海, 2016107,冯勇勇,男,1998,4,23,甘肃, 2016108,辛军平,女,1998,5,8,甘肃, 2016109,

8、秦 博,男,1998,12,20,甘肃, 2016110,李 苏,女,1998,10,3,河南;struct Score /成绩类型声明 int num; char name20; float chinese; float math; float english;scoMaxisize= 2016101,赵泽云,50,98,90, 2016102,张爱平,98,56,20, 2016103,马正泽,99,100,65, 2016104,王 云,63,65,66, 2016105,闫欣华,86,76,85, 2016106,姚雪银,75,95,65, 2016107,冯勇勇,82,23,76,

9、2016108,辛军平,79,95,88, 2016109,秦 博,71,71,53, 2016110,李 苏,74,60,63;void welcome( ) /系统功能界面展示函数 printf(nntttt=学生管理系统=nn); printf(tttt=1、学生信息浏览=n); printf(tttt=2、学生成绩浏览=n); printf(tttt=3、学生信息查询=n); printf(tttt=4、学生成绩查询=n); printf(tttt=5、学生信息插入=n); printf(tttt=6、学生信息删除=n); printf(tttt=7、退出系统 =n); printf(

10、tttt=nn);void browsestudent( ) /学生信息浏览函数int i;printf(nttt学生信息浏览表nn);printf(%10s%15s%12s%15s%18sn,学号,姓名,性别,出生日期,生源地);for(i=0;ist;i+)printf(%12d%15s%8s%12d.%2d.%2d%15sn,stui.num,stui.name,stui.sex,stui.birthday.year,stui.birthday.month,stui.birthday.day,stui.address);void browsescore( ) /学生成绩浏览函数int i

11、;printf(nttt学生成绩浏览表nn);printf(%10s%15s%15s%15s%15sn,学号,姓名,语文,数学,英语);for(i=0;ist;i+)printf(%12d%15s%15f%15f%15fn,scoi.num,scoi.name,scoi.chinese ,scoi.math,scoi.english);void searchstudent( ) /学生信息查找函数char name20;int i;getchar( );printf(请输入要查找的学生姓名:);gets(name);for(i=0;ist;i+)if(strcmp(scoi.name,name

12、)=0) break;if(ist)printf(%10s%15s%15s%15s%15sn,学号,姓名,语文,数学,英语);printf(%12d%15s%15f%15f%15fn,scoi.num,scoi.name,scoi.chinese ,scoi.math,scoi.english);else printf(没有名叫%s的学生n,name);void searchscore( ) /学生成绩查找函数char name20;int i;getchar();printf(请输入要查找的学生姓名:);gets(name);for(i=0;ist;i+)if(strcmp(scoi.nam

13、e,name)=0) break;if(ist)printf(%10s%15s%15s%15s%15sn,学号,姓名,语文,数学,英语);printf(%12d%15s%15f%15f%15fn,scoi.num,scoi.name,scoi.chinese ,scoi.math,scoi.english);else printf(没有名叫%s的学生n,name);void insertstudent( ) /学生信息插入函数printf(请输入要插入学生的学号、姓名、性别、出生日期、生源地n);scanf(%d%s%s%d%d%d%s,&stust.num,stust.name,stust.

14、sex,&stust.birthday.year,&stust.birthday.month,&stust.birthday.day,stust.address);st+;printf(插入成功n);void deletestudent( ) /学生信息删除函数char name20;int i,j;getchar();printf(请输入要删除的学生姓名:);gets(name);for(i=0;ist;i+)if(strcmp(stui.name,name)=0) break;if(ist)for(j=i+1;jst;j+) stuj-1=stuj; st-; printf(删除成功n);

15、 else printf(没有名叫%s的学生n,name);int selection( ) /功能选择函数 int select; system(CLS); welcome(); printf(请输入您要的操作序号:); scanf(%d,&select); return select;void main( ) / 程序执行的入口函数int i; welcome(); while(i=selection()!=-1) switch(i) case 1:browsestudent();system(Pause);break; case 2:browsescore();system(Pause)

16、;break; case 3:searchstudent();system(Pause);break; case 4:searchscore();system(Pause);break; case 5:insertstudent();system(Pause);break; case 6:deletestudent();system(Pause);break; case 7:printf(nnttt感谢使用学生管理系统nnn);exit(1); (四)测试及调试1如果运行程序,将出现如下的界面:2此时如果输入1,并按回车键,程序将进入浏览模块,通过浏览模块显示所有学生的所有信息。其输出界面如下

17、:3此时如果输入2,并按回车键,程序将进入浏览模块,通过浏览模块显示所有学生的成绩信息。其输出界面如下:4此时如果输入3,并按回车键,程序将进入查询模块,通过查询模块查询所查学生的所有信息。其输出界面如下:5此时如果输入3,并按回车键,程序将进入查询模块,通过查询模块,由于输入所查学生姓名有误。其输出界面如下:6此时如果输入4,并按回车键,程序将进入查询模块,通过查询模块显示所查学生的成绩信息。其输出界面如下:7此时如果输入4,并按回车键,程序将进入查询模块,通过查询模块,由于输入所查学生姓名有误。其输出界面如下:8此时如果输入5,并按回车键,程序将进入修改模块,通过修改模块添加学生的信息。其

18、输出界面如下:9此时如果输入1,并按回车键,程序将进入显示模块,通过显示模块显示添加学生的信息是否成功。其输出界面如下:10此时如果输入6,并按回车键,程序将进入修改模块,通过修改模块删除学生的信息。其输出界面如下:11此时如果输入1,并按回车键,程序将进入显示模块,通过显示模块显示删除学生的信息是否成功。其输出界面如下12此时如果输入7,并按回车键,程序将退出系统。其输出界面如下五、小结通过一学期的学习,我对C语言又有了崭新的认识。C语言的学习是一个系统的过程,需要长期的知识积累和储备并辅以大量的上级实际操作练习,自己也应该有所体会,在实践中成长,在实践中求知。这次我设计的课题是学生信息管理

19、系统。课题要求对学生信息实现一系列基本操作。我选择通过结构体数组来实现这个设计。通过大量的符号和printf语句,使得操作界面更加和谐友善,这些都是我通过这次实习积累的经验。同时,设计完成后我也发现了代码中的一些不足,例如在录入数据时要求输入序号的值,这个我认为操作比较复杂,但由于时间紧迫,未能提出完美的解决方案,但此问题并不影响程序的运行和要求的实现。经过实际检验,只要按照程序要求输入,就能够实现。通过C语言编程的能力有了提高,特别是在指针、数组、函数和结构体方面有了很大提高,另外还学习了课本没有讲到的知识,学会了使用模块化编程的简单方法,另外在对话框的编程要求美观、方面也有了体会。指针是C

20、语言的灵魂,也是本程序的灵魂,它在本程序中既有“穿针引线”的作用(利用指针传值),也起到了对数据进行分析、存贮、读取等重要的作用,本程序在使用指针过程中对指针进行了简化也是一个“亮点”,它使程序变得通俗易懂,也降低了程序的难度。以后要对这种方法进行深刻的体会。数组在程序中有着很重要的作用,对数据的贮存、输入、读取起着很重要的作用,本程序几乎所有数据都以数组进行输入、贮存、读取方便了对数据的处理和输入,数组的的使用本程序中有很大的好处。函数是实现模块化编程的基础,它使程序变得方面易懂。 总之,通过这次实习,我也认识到了我自己在程序设计这门课程上的不足,在以后的学习实践中,要更加的严谨踏实,对知识的把握要更加的细致入微,要活学活用,争取在这个学科上取得更大的进步。本次程序存在的问题;1. 功能作用还不够完善2. 学生管理系统的界面很单一,不够丰富吸引眼球

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1