C语言课程设计论文学生学籍管理系统.doc_第1页
C语言课程设计论文学生学籍管理系统.doc_第2页
C语言课程设计论文学生学籍管理系统.doc_第3页
C语言课程设计论文学生学籍管理系统.doc_第4页
C语言课程设计论文学生学籍管理系统.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

中 国 地 质 大 学课程名称 C语言课程设计 教师姓名 马钊 本科生姓名 廖星 本科生学号 2009100243 本科生专业 宝石及材料工艺学 所在院系 珠宝学院 类别: C.本科生 日期: 2015年 05月 30 日 课程设计评语对课程论文的评语:平时成绩:课程论文成绩:总 成 绩:评阅人签名:目录目录1一、 分析系统功能,绘制系统功能结构框架图21.1 分析系统功能21.2 结构框架图2二、 程序代码以及界面形式22.1 程序代码如下22.2 界面形式7三、 使用说明7四、编程中遇到的困难及解决方法9五、总结心得及良好建议11六、致谢12七、参考文献一、 分析系统功能,绘制系统功能结构框架图1.1、 分析系统功能(1) 用户进入主菜单后,就会在看到,菜单选项中添加有系统的各项功能,进入的应的选项就可进行相应的操作.其主要功能有:1、录入学生信息 2、删除学生信息3、查询学生信息 4、学生信息排序5、改学生信息 6、保存退出系统(2) 用户选择所需操作的选项,进入相应的操作界面,在这里用户就可开始进行操作。1.2、 结构框架图录入学生信息主 菜 单保存退出系统修改学生信息学生信息排序查询学生信息删除学生信息二、 程序代码以及界面形式2.1程序代码如下#include stdio.h#include conio.h#include string.h #include stdlib.h#define PF printf#define SF scanfstatic int n,i;struct address_book char name20; int num; char sex; char clas40; long telephone; char addr40;stud200;void add() char j; front1:system(cls); /*清屏*/ PF(n); PF(n请输入要添加的姓名:); SF(%s,); PF(n请输入要添加的学号(8位):); SF(%d,&studn.num); PF(n请输入要添加的性别(F/M):); SF(n%c,&studn.sex); PF(n请输入要添加的班级:); SF(%s,&studn.clas); PF(n请输入要添加的电话号码:); SF(%ld,&studn.telephone); PF(n请输入要添加的地址:); SF(%s,studn.addr); getchar(); n+; PF(是否继续(Y/N)?:); j=getchar(); getchar(); if(j=y|j=Y) goto front1; /*再输入记录*/ void del()int k=0,m,i;char j; front2: system(cls); /*清屏*/ PF(n请输入要删除的学号:); scanf(%d,&m); getchar(); for(i=0;in;i+) if(m=studi.num) k=1;break; /*查找记录*/ if(k=1) /*删除记录*/ for(k=i;kn-1;k+) studk=studk+1; n-;PF(已删除nn); else PF(找不到要删除的记录!n); PF(按回车键返回:); getchar(); PF(是否继续(Y/N)?:); j=getchar(); getchar(); if(j=y|j=Y) goto front2; void find()int i,k,s=0; char j; front3: s=0; system(cls); /*清屏*/ PF(n请输入要查询的学号: ); SF(%d,&k); for(i=0;in;i+) if(k=studi.num) PF( 姓名 学号 性别 班级 电话 地址 n); PF( %-10s%-8d %c %-20s%-8ld %-6sn,, studi.num,studi.sex,studi.clas,studi.telephone, studi.addr); s=1; if(s=0) PF(查无此人!n); getchar(); PF(是否继续查询(Y/N)?:); j=getchar();getchar(); if(j=y|j=Y) goto front3; getchar();void arrange()int k,i;struct address_book t;system(cls); /*清屏*/PF( 姓名 学号 性别 班级 电话 地址 n);for(k=0;kn-1;k+)for(i=0;istudi+1.num)t=studi;studi=studi+1;studi+1=t;else continue;for(i=0;i=n-1;i+)if(studk.num!=0)PF( %-10s%-8d %c %-20s%-8ld %-6sn,,studi.num,studi.sex,studi.clas,studi.telephone,studi.addr);PF(按回车键返回!);getchar();getchar();void change()int k=0,m;char j;front5: system(cls); /*清屏*/ PF(n请输入要修改记录的学号:); SF(%d,&m); getchar(); for(i=0;in;i+) if(m=studi.num) k=1;break; /*查找*/ if(k=1) /*修改*/ PF(n); PF(n请输入修改后的姓名:);SF(%s,); PF(n请输入修改后的学号:);SF(%d,&studi.num); PF(n请输入修改后的性别(F/M):);SF(n%c,&studi.sex); PF(n请输入修改后的班级:);SF(%s,&studi.clas); PF(n请输入修改后的电话号码:);SF(%ld,&studi.telephone); PF(n请输入修改后的地址:);SF(%s,studi.addr);PF(修改成功n); getchar(); if(k=0) PF(找不到要修改的记录!n); PF(按回车键返回:); getchar(); getchar();PF(是否继续(Y/N)?:); j=getchar(); getchar(); if(j=y|j=Y) goto front5;void main()char j; PF(nnnnnnttt 欢迎使用学生学籍管理系统); PF(nnntttt 制作人:廖星); PF(nnntttt 2015年5月); PF(nnnnnt按回车键进入主菜单:); getchar(); loop: system(cls); PF(n); PF(tttt *n); PF(tttt * 主菜单 *n); PF(tttt *n); PF(tt 1:录入学生信息 2:删除学生信息nn); PF(tt 3:查询学生信息 4:学生信息排序nn); PF(tt 5:修改学生信息 6:保存退出系统nn); PF(t 请选择1/2/3/4/5/6: ); j=getchar(); if(j=n) goto loop; /*返回主菜单*/ switch(j) case 1: add(); goto loop; /*返回主菜单*/ case 2: del(); goto loop; case 3: find(); goto loop; case 4: arrange(); goto loop; case 5: change(); goto loop; case 6: FILE *fp; fp=fopen(student.dat,w); for(i=0;in;i+) fwrite(&studi,sizeof(struct address_book),1,fp); fclose(fp);exit(0); default: goto loop; 2.2、界面形式三、 使用说明学生学籍管理系统是针对学生信息的管理,主要功能是添加学生信息、删除学生信息、查询学生信息、学生信息排序、修改学生信息、保存信息。用户打开程序,进入主界面(如图1)(1)、按回车进入主菜单,列出各项功能(2)、输入1进入录入界面,用户即可录入信息,当录入完即会提示“是否继续”,如果输入“Y”或者“y”,则会继续录入,若输入“N”或者“n”则会退出到主菜单。(2)、在主菜单中,输入2,则会进入删除界面,输入要删除的学生的学号即可将该学生的信息删除。(3)、在主菜单中,输入3,则会进入查询界面,输入要查的学生的学号即可查询到信息。(4)、在主菜单中,输入4,则会进入进入学生信息排序,在这里会显示按学号由小到大排列出的所有学生的信息。(5)、在主菜单中,输入5,则会进入学生信息修改界面,输入想修改学生的学号后,就可在这里可以对该学生信息进行修改。(6)、在主菜单中,输入6,则会退出系统,并且系统会自动对信息进行保存。四编程中遇到的困难及解决方法在学习C语言时,最初使用的是Microsoft visual 6+计算机编程软件,但我们是使用C+Sourse File 编一个.c程序。而老师则要求我们使用工程的MFC AppWizad exe 编程。这是c+里的知识。尽管当时听老师讲c+与C语言有许多共同之处,但我们还是无从下手。后来老师把程序发该我们,让我们用.C的编程就好多了。在编程的过程中,经常会在语句结束时少“;”或者把中文输入的引号输入文件,很难发现错误所在。在编程题时也出现了一些编译中的问题。例如,在开始未加头文件#include导致有许多未定义的errors;在输入字符串时用到“%S”,使功能无法输出。由于原来题目要求较少,题目较简单,在编译时,我先按照题目要求将它编写好,之后又给它添加了很多功能。在帮同学修改程序的过程中,也遇到过一个问题。在头文件后定义了子函数,可是之后忘了编写子函数,在纠错时,有的是不会发现错误的,但是连接过程中就会报告出错。我觉得在以后的编程过程中,最好用什么函数写什么函数,后者在写完一个子函数后再在头文件底下声明。五总结心得及良好建议C语言实习基本上由老师引导,自己很多都靠自学,不明白的问老师,自学能力得到了很大的培养。在实习过程中,我感觉到一点,程序是不能一气呵成的。至少一气呵成的程序不会尽善尽美。程序编写要一步一步的完成。首先,对于要编的程序要有一个总体思路。要明确想要什么。只要把思路理清楚了,程序就好编写了。把程序分割成几个块,即多个函数,一块一块的编写。然后将分散的函数用另外的函数连接起来或者用main函数连接。到这一步,程序也就初步编成了,之后便是调试,检查错误。最后我觉得还可以对于已经编写好的程序进行一些修改添加,使它更加人性化。优化程序的阶段是很重要的。在编写完一担挑游戏之后,我又编写了“八皇后”的程序,在“八皇后”的编写过程中,我用了完全不同于“一担挑”的编写思路。我采用纯数学的方法编写,在数学上总结“八皇后”的规律,把规律转换为数学公式,用穷举法最终将问题解决。我想不仅是“八皇后”这种数学问题可以用公式解决,其实很多问题应该也能用数学方式解决,但关键就是要找到那个数学模式。数学跟C语言编程是可以很好的结合在一起的。六致谢在C语言的实习过程中,让我巩固了C语言的基础知识,以前从来没有这样编过完整的程序,实习让我有这样的一个机会,自己独立编写程序。我觉得自己说学的东西不多,但是可以将它们运用出来。在实习过程中,首先我要感谢我的老师,一个是带我走进C语言大门的曹老师,因为她,我开始喜欢C语言,把所学知识掌握牢固。同时,在这次实习中,邵老师对我的帮助对我最难忘。题目本身是很简单的,在老师的教学风格影响下,我在编写完最初程序后,有自己添加了很多功能。之后,在邵老师介绍下,我又完成了“八皇后”的程序编译。“八皇后”让我感觉到原来程序可以更数学方法如此紧

温馨提示

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

评论

0/150

提交评论