C语言课程设计报告-选题8学生籍贯信息记录簿(共28页).docx
《C语言课程设计报告-选题8学生籍贯信息记录簿(共28页).docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告-选题8学生籍贯信息记录簿(共28页).docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目 录专心-专注-专业第1章 课题分析1.1软件的目的课程设计题目:学生籍贯信息记录簿;该软件主要是编辑一个学生籍贯信息记录簿每个学生信息包括:学号、姓名、籍贯。具体功能:(1) 创建信息链表并以磁盘文件保存;(2) 读取磁盘文件并输出所有学生的籍贯信息;(3) 按学号或姓名查询其籍贯(4) 按籍贯查询并输出该籍贯的所有学生(5) 能添加、删除和修改学生的籍贯信息(6) 显示输出四川籍和非四川籍的所有学生的信息并可分别存盘. 1.2各项功能分析(1)学生基本信息的录入:这部分的功能主要包括信息的录入,首先按程序提示输入学生的学号,接着是分别输入有关学生的相关信息包括姓
2、名、籍贯等。在录入数据的同时,系统将对信息的合法性进行检验,若用户录入了不合法的数据系统将会作出提示,并且要求重新输入。如果合法性成立则录入完毕后系统将返回主业面。主业面中还有显示学生全部信息,按学号和姓名查询,输出四川籍和非四川籍的学生,退出等功能,并且这些函数用后的信息都会写到你所指定的文本文件中。(2)显示学生信息: 此功能是将原录入的学生信息读出,并在屏幕上显示出来,并且录入到你所指定的文本文件中。(3)学生信息读取: 进入该项功能界面后,用户可以对学生的个人信息进行查看,并且录入到你所指定的文本文件中。(4)按学号或姓名查找学生信息: 此项功能可以根据用户输入的选择查出该学生的所有信
3、息。并且录入到你所指定的文本文件中。(5)删除和修改个人信息: 选择次项功能后,系统将自动在屏幕上显示按姓名学号录入原来同学的个人信息,输入后进行修改,并且录入到你所指定的文本文件中。(6)显示输出四川籍和非四川籍的所有学生的信息: 选择此项功能后,系统将自动在屏幕上显示四川籍学生分为一组,非四川籍学生分成一组。(7)退出系统,结束任务。第2章 软件设计环境与原理2.1软件设计环境Microsoft Visual C+ 6.02.2各项功能(模块层次图):该软件主要组成模块和各个模块之间的调用关系如图2-1:学生籍贯信息记录簿系统 主菜单 主函数(在主函数调用的框架函数中包含以下所有函数) 按
4、籍贯查询并输出该籍贯的所有学生显示输出四川籍和非四川籍的所有学生的信息并可能添加、删除和修改学生的籍贯信息学生信息查找与读取取 按学号或姓名查询其籍贯数据的显示与读取学生基本信息录入 退出系统 图2-1模块层次图2.3 各函数程序流程图Main()流程如图2-2所示:图2-2 Main()程序流程图Save2()流程如图2-3所示:图2-3 Save2()程序流程图Input()流程如图2-4所示:图2-4 Input()程序流程图Save1()流程如图2-5所示:图2-5 Save1()程序流程图Display()流程如图2-6所示:图2-6 Display()程序流程图Find()流程如图
5、2-7所示:图2-7 Find()程序流程图Modify()流程如图2-8所示:图2-8 Modify()程序流程图Readfile()流程如图2-9所示:图2-9 Readfile()程序流程图Dis()流程如图2-9所示:图2-10 Dis()程序流程图第3章 详细设计及程序实现3.1 程序采用主要的结构类型分析该程序采用的是结构体类型来处理学生的所有基本信息,如下所述。包含的库函数有:#include#include#include /用于界面的设计#include /文件的使用 包含的函数有:main() /主函数 recordplatform() /系统标题函数 xuanzekuan
6、gjia() /选择框架函数 tuichuxitong() /0.退出学生籍贯管理系统函数 shuruxinxi() /1.输入学生信息函数 Xianshixinxi() /2.显示信息函数 xinxitongji() /3.学生信息统计函数 xiugaishanchuxinxi()/4.学生信息修改删除函数 tiaojianchaxun() /5.学生条件查询函数 tiaojianshuchu() /6.条件输出函数 gengxinxinxi() /7.更新学生信息函数3.2 程序中各函数分析表3-1 程序中的函数列表(1)main()该函数的主要功能是调用其他8个函数来实现主菜单的5项功能
7、,通过switch选择语句选择操作,然后通过调用各种函数实现调用: scanf(%s,&choose); switch(choose) case 1:Input();Save1();break; case 2: Readfile();Display();break; case 3:Find(1);Readfile();break; case 4: Find(0); Readfile();break; case 5:Readfile(); Dis();break; default:printf(输入错误,请重新输入:n);(2)Input()该函数的功能是输入信息。输入结束的条件是输入”EXIT
8、”,用了一个strcmp()实现了字符串的比较:void Input() /输入信息 n=0;doprintf(请输入第%d个学生信息,输入EXIT结束输入(输入格式:学号 姓名 籍贯)n,n+1);scanf(%s,stun.num);if(strcmp(stun.num,EXIT)=0) break;scanf(%s,stun.name);scanf(%s,stun.address);n+;while(1);(3)Display()该函数的功能是读取最初输入的信息并显示,具体实现如下:void Display() /2.读取信息并显示 int i;printf( 学号 姓名 籍贯:n);f
9、or(i=0;in;i+) printf(%5s %5s %5sn,stui.num ,stui.name ,stui.address);(4)Readfile()该函数的功能是读取文件student.dat的信息, 利用fscanf()函数输入信息,如下:fscanf(fp,%s%s%s,stun.num,stun.name,&stun.address);(5)Modify(int i)() 该函数的功能是修改第i个学生的姓名和籍贯,通过结构体成员stu的替换实现,如下:for(i=t;in-1;i+)stui=stui+1;n-;(6)Save1()将最初输入的内容存档到student.d
10、at文件中,利用了格式化输出实现功能,如下:for(i=0;in;i+) fprintf(fp,%s %s %sn,stui.num,stui.name,stui.address);/用格式化输出函数输出内容到student.dat(7)Save2()该函数的功能是传送格式化输出到student.dat文件,如下:void Save2(int t) /传送格式化输出到student.dat文件中FILE* fp;fp=fopen(student.dat,w); /以只写的方式打开文件fprintf(fp,%s %s %sn,stut.num,stut.name,stut.address);/格
11、式化输出:学号姓名地址fclose(fp);(8)Dis()该函数的功能是显示输出四川、非四川学生信息,显示的两个都分别用了strcmp用于字符串大小比较来实现功能,如下:for(i=0;in;i+)if(strcmp(stui.address,四川)=0)/比较字符串大小printf(%s %5s %5sn,stui.num,stui.name,stui.address);printf(n);printf(n);printf(非四川学生:n);printf(学号 姓名 籍贯n);for(i=0;in;i+)if(strcmp(stui.address,四川)!=0)printf(%s %7s
12、 %5sn,stui.num,stui.name,stui.address);(9)Find(int i)该函数的功能是按学号或姓名查询籍贯,首先用了一个if选择语句用于选择按学号或者姓名查询,之后用了strcmp()用于查找符合条件的信息,如下:void Find(int f) /3.按学号或姓名查询籍贯int i;int choose,k;char ans50; /定义字符串型数组,用于查找doprintf(1.按学号查询n);printf(2.按姓名查找n);printf(3.返回主菜单n);scanf(%d,&choose);if(choose=1|choose=2)printf(请输
13、入姓名或学号n);scanf(%s,ans);k=-1;if(choose=1)for(i=0;in;i+)if(strcmp(ans,stui.num)=0) k=i;break;else for(i=0;in;i+) if(strcmp(ans,stui.name)=0) k=i;break; if(k=-1) printf(不存在该学生信息n);else if(f=1)printf(%s %s %sn,stuk.num,stuk.name,stuk.address);else Modify(k);/执行修改第t个学生的姓名和籍贯的函数else return;while(1);第4章 问题
14、与解决编写程序的过程中遇到了很多问题,但是通过询问老师和与同组同学讨论都一一解决了,这些问题主要是以下几种类别:一、对题目的要求的理解Q1:一开始仔细查阅资料和思考,还是难以构架出各软件模块之间的调用方式;A1:程序中各个模块之间的调用方式主要是通过函数的调用实现的。先使用主函数调用框架函数,然后在框架函数中调用不同功能的函数,达到对学生信息管理的目的;Q2:之后又有一个问题就是各种数据保存的方式以及格式;A2:本学生信息系统将能自动把输入的学生信息保存为C:/1 .txt文件中,在文件的读取时,系统将能自动把该二进制文件读出,并在屏幕上显示出学生信息。前提是必须在C盘中创建1 .txt文件。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 选题 学生 籍贯 信息 记录簿 28
限制150内