C语言课程设计报告(2018)——学生管理系统_第1页
C语言课程设计报告(2018)——学生管理系统_第2页
C语言课程设计报告(2018)——学生管理系统_第3页
C语言课程设计报告(2018)——学生管理系统_第4页
C语言课程设计报告(2018)——学生管理系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、兰州交通大学博文学院C语言程序设计课 程 设 计 报 告系 别: 交通运输系 班 级: 16交通运输(3)班 姓 名: 学 号: 指导老师: 2018年1月5日兰州交通大学博文学院交通运输系课程设计成绩评定表学生姓名 班 级 学 号 导师姓名 职 称 日 期 课程设计论文题目学生管理系统的C语言实现指导教师简要评语指导教师签名:成 绩备 注 目 录一、课程性质1二、课程设计的目标1三、课程设计的要求2四、课程设计2(一)学生管理系统的功能设计2(二)学生管理管理系统的数据实现2(三)详细设计3(四)测试及调试7五、小结13一、课程性质C语言程序设计是理工类专业的主要专业基础课之一,该课程开设的

2、目的是使学生掌握一种基本的程序设计语言。通过该课程的学习,掌握C语言的数据类型、运算和表达式,掌握结构化程序设计的基本结构,学会数组、结构体及函数的使用,培养学生的程序编译素质,提高学生的程序开发能力。C语言程序设计课程实践性强,既可以培养学生的踏实工作作风,又可以培养学生的观察和思考能力以及团队合作的能力。二、课程设计的目标通过本次课程设计,进一步巩固和强化C程序设计的思想及程序调试的方法和技巧,培养灵活的思维方式及动手编写调试程序的能力。初步掌握软件的设计和开发手段,培养应用C语言解决实际问题的能力,培养学生踏实的工作作风、良好的观察和思考能力、团队合作能力,为后续专业课程的学习打下扎实的

3、理论和实践基础。具体目标如下:1)能熟练应用VC+集成环境设计和调试C语言程序;2)能用C语言设计解决简单实际问题的程序,并能完成简单程序的测试;3)具有良好的数据结构基础和算法能力,以提高个人的结构化程序设计能力;4)有计算机语言类课程的学习方法,能通过互联网、文献资料巩固和拓展所学知识;5)养成良好的编程习惯,培养严谨务实的分析问题与解决问题能力。6)知识目标: 掌握C语言的程序的基本结构和数据类型、运算符、表达式 熟悉的结构化程序设计的三种基本结构 熟练掌握C程序调试的方法、步骤和技巧 掌握函数的概念和用法 掌握数组的概念和用法 掌握指针及结构体的概念和用法三、课程设计的要求1、用C语言

4、实现程序设计;2、利用结构体数组实现学生信息的数据结构设计;3、用函数实现系统功能模块的设计;4、界面友好(良好的人机交互),程序要有必要的注释。四、课程设计(一)学生管理系统的功能设计学生信息管理系统存放了每个学生的学号、姓名、性别、出生日期、成绩、生源地信息地数据库。每个人的信息定义在一个结构体变量中。其结构如下:学生管理系统退出系统学生信息浏览学生信息删除学生信息插入学生成绩查询学生信息查询学生成绩浏览系统通过显示程序、追加程序、查询程序、删除程序、修改程序来实现学生信息管理系统的浏览功能、追加功能、查询功能、删除功能、修改功能。(二)学生管理管理系统的数据实现学号姓名性别出生日期生源地

5、语文数学英语2016101赵泽云男1998、10、20甘肃5098902016102张爱平女1998、5、20甘肃9856202016103马正泽男1999、10、5湖北99100652016104王 云男1998、5、6甘肃6365662016105闫欣华女1998、7、20甘肃8676852016106姚雪银男1998、2、15上海7595652016107冯勇勇男1998、4、23甘肃8223762016108辛军平女1998、5、8甘肃7995882016109秦 博男1998、12、20甘肃7171532016110李 苏女1998、10、3河南746063 (三)详细设计学生管理系

6、统,程序通过#include <stdio.h> 头文件 struct student定义结构体,用一个printf函数把输出信息,再通过一个for循环把每一个学生的信息输出,首先定义了一个文件指针,通过while循环录入信息,最后关闭文件。显示录入信息成功! 输入值通过switch用选择相应模块。用for循环和字符串比较函数来不断的把输入的数据和系统储存的信息比较,如果相同,则输出信息。否则提示信息不存在!通过strcmp函数来判断该学号是否存在。同时将i后面的每一个学生信息都赋给前一个学生的信息,达到删除的效果。各个功能的调用通过主函数中的switch语句来实现。#includ

7、e <stdio.h>#include <stdlib.h>#include <string.h>#define Maxisize 50 /最多学生人数int st=10;/当前学生人数struct Date /日期类型声明int year,month,day;struct Student /学生类型声明 int num; char name20; char sex5; struct Date birthday; char address20;stuMaxisize=2016101,"赵泽云","男",1998,10,

8、20,"甘肃",2016102,"张爱平","女",1998,5,20,"甘肃",2016103,"马正泽","男",1999,10,5,"湖北",2016104,"王 云","男",1998,5,6,"甘肃",2016105,"闫欣华","女",1998,7,20,"甘肃",2016106,"姚雪银","男

9、",1998,2,15,"上海",2016107,"冯勇勇","男",1998,4,23,"甘肃",2016108,"辛军平","女",1998,5,8,"甘肃",2016109,"秦 博","男",1998,12,20,"甘肃",2016110,"李 苏","女",1998,10,3,"河南"struct Score /成绩类

10、型声明 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,"冯勇勇"

11、;,82,23,76,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("

12、tttt=4、学生成绩查询=n"); printf("tttt=5、学生信息插入=n"); printf("tttt=6、学生信息删除=n"); printf("tttt=7、退出系统 =n"); printf("tttt=nn");void browsestudent( ) /学生信息浏览函数int i;printf("nttt学生信息浏览表nn");printf("%10s%15s%12s%15s%18sn","学号","姓名&qu

13、ot;,"性别","出生日期","生源地");for(i=0;i<st;i+)printf("%12d%15s%8s%12d.%2d.%2d%15sn",stui.num,,stui.sex,stui.birthday.year,stui.birthday.month,stui.birthday.day,stui.address);void browsescore( ) /学生成绩浏览函数int i;printf("nttt学生成绩浏览表nn");printf("

14、;%10s%15s%15s%15s%15sn","学号","姓名","语文","数学","英语");for(i=0;i<st;i+)printf("%12d%15s%15f%15f%15fn",scoi.num,,scoi.chinese ,scoi.math,scoi.english);void searchstudent( ) /学生信息查找函数char name20;int i;getchar( );printf("请输入要查

15、找的学生姓名:");gets(name);for(i=0;i<st;i+)if(strcmp(,name)=0) break;if(i<st)printf("%10s%15s%15s%15s%15sn","学号","姓名","语文","数学","英语");printf("%12d%15s%15f%15f%15fn",scoi.num,,scoi.chinese ,scoi.math,scoi.eng

16、lish);else printf("没有名叫%s的学生n",name);void searchscore( ) /学生成绩查找函数char name20;int i;getchar();printf("请输入要查找的学生姓名:");gets(name);for(i=0;i<st;i+)if(strcmp(,name)=0) break;if(i<st)printf("%10s%15s%15s%15s%15sn","学号","姓名","语文",&

17、quot;数学","英语");printf("%12d%15s%15f%15f%15fn",scoi.num,,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,stus

18、,stust.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;i<st;i+)if(strcmp(,name)=0) break;if(i

19、<st)for(j=i+1;j<st;j+) stuj-1=stuj; st-; printf("删除成功n");else printf("没有名叫%s的学生n",name);int selection( ) /功能选择函数 int select; system("CLS"); welcome(); printf("请输入您要的操作序号:");scanf("%d",&select);return select;void main( ) / 程序执行的入口函数int i; we

20、lcome(); while(i=selection()!=-1) switch(i) case 1:browsestudent();system("Pause");break; case 2:browsescore();system("Pause");break; case 3:searchstudent();system("Pause");break; case 4:searchscore();system("Pause");break; case 5:insertstudent();system("

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

22、。其输出界面如下:5此时如果输入3,并按回车键,程序将进入查询模块,通过查询模块,由于输入所查学生姓名有误。其输出界面如下:6此时如果输入4,并按回车键,程序将进入查询模块,通过查询模块显示所查学生的成绩信息。其输出界面如下:7此时如果输入4,并按回车键,程序将进入查询模块,通过查询模块,由于输入所查学生姓名有误。其输出界面如下:8此时如果输入5,并按回车键,程序将进入修改模块,通过修改模块添加学生的信息。其输出界面如下:9此时如果输入1,并按回车键,程序将进入显示模块,通过显示模块显示添加学生的信息是否成功。其输出界面如下:10此时如果输入6,并按回车键,程序将进入修改模块,通过修改模块删除学生的信息。其输出界面如下:11此时如果输入1,并按回车键,程序将进入显示模块,通过显示模块显示删除学生的信息是否成功。其输出界面如下12此时如果输入7,并按回车键,程序将退出系统。其输出界面如下五、小结通过一学期的学习,我对C语言又有了崭新的认识。C语言的学习是一个系统的过程,需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论