#班级信息系统_第1页
#班级信息系统_第2页
#班级信息系统_第3页
#班级信息系统_第4页
#班级信息系统_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、河南科技学院新科学院信工系 c 程序设计报告 题目:班级档案管理 学生姓名:卢艳雯 苗雪琴 张先敏 学号: 2018010310 2018010314 2018010321 班级:计科 111 计科 112 计科 112 指导老师:陈付贵 日期: 2018.5.31班级档案管理系统报告书1目的全面熟悉、掌握 C 语言基本知识,掌握 C 程序设计中的顺序、分 支、循环三种结构及数组、函数、指针和文件的操作,把编程和实际结 合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描 述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方 法,进一步提高上机动手能力,培养使用计算机解决实际

2、问题的能力, 规范编程思想,为以后在专业课程中应用计算机系统解决计算、分析、 实验和设计等学习环节打下较扎实的基础。2课程设计任务班级档案管理系统: 对一个有 N 个学生的班级,通过该系统实现对 该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管 理。该系统采用一个包含 N 个数据的结构体数组,每个数据的结构均包 括:学号、姓名、性别、年龄、备注。该系统显示这样的菜单: a 学生基本信息录入b 学生基本信息显示c 学生基本信息保存d 学生基本信息删除e 学生基本信息修改 先输入密码)f 学生基本信息查询- 1 - / 13(1按学号查询(2按姓名查询(3按性别查询(4按年龄查询G

3、退出系统;(1执行一个具体的功能之后,程序将重新显示菜单; (2将学生基本信息保存到文件中;(3进入系统之前先输入密码。3课程设计内容图 1 班4、调试分析 程序调试是指对程序的 为了便于查错、阅读,在学生信息的录入学生信息的显示Student_new(Show_one(学生信息的查询Search(了结构化按姓名查询name_search(班级档案管理系 统 Page_title(级档案系统模块图查错和排错。设计该程序的时候我采用学生信息的修改Student_deit(学生信息的删除Student_del(按学号查询Id_search(按年龄查询Age_search(按性别查询Sex_sear

4、ch(序方法编辑,添加了尽可能多的注释,这为我后来的调试过程带来了很 多方便。在检查的过程中,发现很多都是因为在写完一个语句时,忘了 加上分号 ;),在用到 scanf 时,忘了写上取地址 &)符号。过分重 视分号的重要性而在 for 、if 、while 语句中画蛇添足加分号;在使用 文件的时候忘记将文件先打开,对打开的方式与使用的情况不太注意而 造成不匹配;还有漏掉形参的定义使值不能传递等等。这些语法错误有 信息框的提示一般是能够排除的等低级错误。经过仔细检查之后进行上机调试。进行编译,如果在编译和连接过 程中发现错误,屏幕上显示了出错信息,根据提示找到出错的位置,加 以改正,再进行编译如

5、此反复,直到顺利通过编译和连接为止。在- 2 - / 13 本次实习过程中碰到的编译、连接的错误主要有:4.1 、定义变量时变量不容易联系起来,经常会写错变量名,但是在错误信息的提示 下一般还是很容易找到。但是在写各个函数时,发现一个变量名,只要 不是全局变量就可以无数次定义,只要分开在不同的函数中就可以了。 不过需要注意的是在定义的时候有些函数使用同样的变量名而表示不同 的作用,因而使用要很小心,定义及定义的位置要特别留意。在编写程 序时要静心,才不会出现低级错误。4.2 、语法错误语法错误在通过书本参考下能够修改,并且在上机的错误提示中得 到修改,但是在使用时要注意 c 语言与 c+的不同

6、,在主函数和一些定 义变量跟声明函数时有些不同,这不是语法的错误,而是作为一个程序 员必须要注意到的,要体会两种语言的区别。如:注意具体数据使用是 有一定的范围限定。在本次调试过程中我还碰到了一些以前上机过程中从未碰到过的错 误,逻辑上的错误机器不易检查出来,这时需要对数据结果进行分析。 这种错误的查找是最难的,需要编程序的人有相当的耐心和细心去把问 题找出来。这也是本次程序编辑过程中碰到的最大的难题。因此我使用 的是一个一个函数的检查,并通过调试修改。5程序代码#include #include #include #include #define M 10int num=-1 。/* 全局变

7、量 */struct studen /* 学生数,从 STU0 开始记录学生信息 */long id。/* 学号 */char name20 。/*姓名 */char sex10。/* 性别 */int age。/* 年龄 */long int password。 /* 密码 */char note80。/*备注 */- 3 - / 13STUM 。/* 函数声明 */void page_title( 。/显示主菜单void student_new( 。/输入学生信息void student_del( 。/删除学生信息void student_edit( 。/修改学生信息void search

8、( 。/查找学生信息void id_search( 。/按学号查询void name_search(。/按姓名查找void sex_search(。/按性别查找void age_search(。/按年龄查询void id_sort( 。/按学号排序void show(。/显示学生记录/void save( 。void left( 。void page_head1( 。/* 打印表头 1*/void page_head2( 。/* 打印表头 2*/int find(long 。/* 按学号查找学生 */void show_one(int。/* 显示一条记录 */void input_one(in

9、t 。/* 输入一个新学生的信息 */void in_menu( 。/* 按任意键进入主菜单 */* 主函数 */void main(while(1page_title(。/* 主菜单 */void page_title(char c。system(cls 。/*清屏 */printf(nn学生档案管理系统- 4 - / 13printf(tttt1录入学生信息nn 。printf(tttt2显示学生信息nn 。printf(tttt3修改学生信息nn 。printf(tttt4删除学生信息nn 。printf(tttt5查询学生信息nn 。printf(tttt6保存 nn 。printf(

10、tttt0退出nn 。printf(*nprintf( 请用数字键 0-6选择操作 :n 。 /*填充程序,完成主菜单显示 */ c=getchar( 。system(cls 。switch(ccase1:student_new( 。 break 。 case2:id_sort( 。 break 。case3:student_edit( 。 break 。 case4:student_del( 。 break 。 case5:search(。 break 。/case8:save(。 break 。case0:left( 。/* 录入学生基本信息 */ void student_new(int

11、 n 。printf( 请输入学生的个数 (1-%d,M 。scanf(%d,&n 。while(!(n0 & nprintf(n 输入的学生人数太多,请重新输入学生人数 : 。 scanf (%d,&n 。- 5 - / 13page_head1( 。while(n- num+ 。input_one(num 。/* 删除学生基本信息 */void student_del(long id。char c 。int n 。while(1printf( 请输入你要删除学生的学号 : 。 scanf(%ld,&id 。printf(n 。n=find(id 。if(n!=-1break 。elsesy

12、stem(cls 。page_head2( 。show_one(n 。printf(n 请确认删除吗?请输入 Y 或者 N 。c=getch( 。if(Y=c | y=cSTUn=STUnum 。num- 。/* 按学号查找学生 */- 6 - / 13int find(long idint n 。for(n=0 。nif(STUn.id=id return n 。return -1 。/* 输入一个新学生的信息 */void input_one(int nscanf(%ld%s%s%d%ld%s,&STUn.id,STU,STUn.sex,&STU n.age,&STUn.pas

13、sword,STUn.note 。printf(n 。/* 显示所有记录 */ void show(int i 。page_head2( 。for(i=0 。 ishow_one(i 。in_menu( 。/* 显示一条记录 */void show_one(int nif(strlen(STU=10printf(%ldtt%stt%stt,STUn.id,STU,STUn.sex 。elseprintf(%ldtt%stt%st,STUn.id,STU,STUn.sex 。- 7 - / 13printf(%3dt*tt%stn,STUn.age,STUn.

14、note 。printf(n/*退出 */void left(exit(0 。/* 修改信息 */void student_edit(long n,k=4 。long int h。while(1printf( 请输入你要修改学生的学号 : 。 scanf(%ld,&id 。printf(n 。n=find(id 。 if(n!=-1 break 。elsesystem(cls 。printf( 请输入学生的密码 : 。while(k- scanf(%ld,&h 。 if(h=STUn.passwordpage_head2(。show_one(n。 printf(n 请输入新的信息

15、 :n 。- 8 - / 13page_head1(。scanf(%ld%s%s%d%ld%s,&STUn.id,STU,STUn.sex,&STU n.age,&STUn.password 。break 。elseprintf( 密码错误,请重新输入 : 。/* 进入主菜单 */void in_menu(printf(n 请按任意键进入主菜单 。getch(。/* 查找学生信息 */void search(int n 。printf(nn 查询信息 。printf(tttt1按学号查找 :1nn 。printf(tttt2按姓名查找 :2nn 。printf(tttt3按性别查找

16、 :3nn 。printf(tttt4按年龄查找 :4nn 。printf(tttt0 退出 :nn 。printf(*nprintf( 请用数字键 0-4 选择操作 :n 。scanf(%d,&n 。 switch(n case 1:id_search(。 break 。 case 2:name_search(。 break 。- 9 - / 13 case 3:sex_search(。 break 。case 4:age_search(。 break 。case 0:left(。/* 按学号查询成绩 */void id_search(long n 。printf( 请输入你要

17、查询学生的学号 : 。scanf(%ld,&id 。printf(n 。n=find(id 。if(n!=-1page_head2( 。show_one(n。elseprintf( 不存在该学号学生信息! 。 in_menu( 。/* 按姓名查找学生信息 */void name_search(char name20 。int n 。printf( 请输入你要查询学生的名字 : 。scanf(%s,&name 。printf(n 。page_head2( 。for(n=0 。 nif(strcmp(name,STU=0- 10 - / 13show_one(n。 in_menu( 。

18、/* 按性别查找学生信息 */ void sex_search(char n 。printf( 请输入你要查询学生的性别 : 。 scanf(%s,&sex 。printf(n 。 page_head2( 。for(n=0 。n if(strcmp(sex,STUn.sex=0 show_one(n。 in_menu( 。/* 按年龄查询成绩 */ void age_search(int n 。printf( 请输入你要查询学生的年龄 : 。 scanf(%d,&age 。printf(n 。 page_head2( 。for(n=0 。n if(age=STUn.age show_one(n。in_menu( 。- 11 - / 13/* 按学号排序显示 */void id_sort(int i=0 。int n 。long min=STU0.id 。for(i=1 。 iif(STUi.id min=STUi.id 。page_head2( 。for(i=0 。 in=find(min+ 。if(n!=-1i+ 。show_one(n。in_menu( 。/* 打印表头 2*/void page_head2(printf(*nprintf( 学号tt 姓名 tt 性别 t 年龄 t 密码 (整数t 备

温馨提示

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

评论

0/150

提交评论