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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言程序设计学生籍贯信息记录簿Word格式.docx

1、6、系统以菜单方式工作2 系统总框图和功能模块说明2.1 系统总框图图1 系统总框图2.2 功能模块说明系统初始化模块:完成系统初始化。创建信息链表模块:在本地创建学生籍贯文件,保存学生籍贯信息。输入学生信息模块:完成学生籍贯信息的录入。修改学生信息模块:完成学生籍贯信息的修改。查询学生信息模块:完成学生籍贯信息的查询。删除学生信息模块:完成学生籍贯信息的删除。重置学生信息模块:完成学生籍贯信息的重置。保存学生信息模块:完成学生籍贯信息的保存。3 系统设计3.1 主要结构体学生信息:学号、姓名、籍贯typedef struct short zhku_status; char zhku_numb

2、er12; char zhku_name10; char zhku_address20; StuType;3.2主要功能函数void zhku_AddData(void) /*录入数据*/void wxw_ListData(void) /*显示所有数据*/void wp_Delete(void) /*做删除标记*/void wp_Pack(void) /*重置信息*/void zhku_UpdateData(void) /*修改*/void SH_Search(void) /*查询*/3.3 关键函数的流程图4 系统调试打开程序后按任意键,将会出现上述界面。按“1”键,再按回车键,出现以上录入

3、菜单。录入成功后提示是否继续,选择后按回车键进行操作。此为查询功能菜单,若输入程序没有录入的学号、姓名、籍贯时,则会显示出“无此人的籍贯信息”。此为删除学生信息菜单界面,按照菜单操作即可。如果要退出该程序,直接按“7”后在按回车键即可。5 总结这次我做的c语言工程实训是“籍贯信息记录簿”,在编写程序时也遇到不少的困难。其中最困扰我的文件操作方面,因为是记录簿程序,所以文件方面用得较多。通过再回去认真的复习一遍相关知识后,终于完成了各个模块的编写。因为这次的程序细分为void wp_Delete(void) /*做删除标记*/ void wp_Pack(void) /*重置信息*/void zh

4、ku_UpdateData(void) /*修改*/ void SH_Search(void) *查询*/六个模块,在完成了全部模块的编写后,又一个困扰我的问题出现了-就是各模块功能完整,到整合在一起组建时却发生了错误。经过半天的排查,发现有些模块用了全局变量,致使程序发生错误。再删除掉全局变量后,程序经过简单的修改又重生了。 总的来说,这次实训给了我亲手完成一个简单系统的编写,经过需求分析、系统总框图和功能模块明、系统设计、系统调试等几个流程,让我实实在在地体验了一番写程序的过程。同时也发现自己的水平还很有限,应该再加把劲学习好计算机编程。6 源程序清单#includestdio.h /标准

5、输入输出文件包含预处理命令stdlib.hstring.h /字符串文件包含预处理命令conio.hctype.h /包含tolower()的原型 char zhku_number10; FILE*fp; char a; StuType stu; char zhku_tag; stu.zhku_status=0; do printf(nnnn *按ESC返回主菜单*n);nn *按Space确认开始录入信息*nnn 请输入学生学号: if(a=getch()=27) return; /*这个函数可以让用户按下任意键而不需要回车就可以接受到用户的输入*/ scanf(%s,stu.zhku_nu

6、mber); while (stu.zhku_number=NULL) printf(输入非法,重新输入: /zhku_tag=getchar(); scanf( /while (getchar() !=n n 请输入学生姓名: ,stu.zhku_name); while (stu.zhku_number=NULL) printf(n 请输入学生籍贯:,stu.zhku_address); fseek(fp,0,SEEK_END);/移动文件内部位置指针 fwrite(&stu,sizeof(StuType),1,fp); /将信息存入文件中n录入成功,继续吗?(y/n): while (g

7、etchar()! /跳过当前行 /zhku_tag=getchar();,&zhku_tag); /大写字母转化为小写字母 zhku_tag=tolower(zhku_tag); while (zhku_tag !y&zhku_tag !n)输入非法,重新输入(y/n): while (getchar() ! zhku_tag=tolower(zhku_tag); while (zhku_tag=nnnn *按ESC返回主菜单*nnnnnnn do a=getch(); while(a!=27); return;n%-15s%-15s%-25sn,学号姓名籍贯-n rewind(fp); f

8、read(&/读入信息 while(!feof(fp)/文件未结束 if (stu.zhku_status=0)%-15s%-15s%-25sn,stu.zhku_number,stu.zhku_name,stu.zhku_address); fread(& clearerr/*复位错误标志(清除文件结束标志)*/(fp); char elc; char wp_number10;n *请选择要删除的方式*nn 1.删除个人信息nn 2.删除全部信息nnnn *按ESC返回主菜单*nn *按Space确认开始功能选择*nnn 请选择功能: if(a=getch()=27) return;elc)

9、; switch(elc) case 1:printf(n 输入要删除的学生学号:,wp_number);/使位置指针返回到文件的开头feof(fp) if(strcmp(stu.zhku_number,wp_number)=0&stu.zhku_status=0)/数据状态正常,未作删除标志 break; if(!nn被删除的记录为:n/输出信息n 删除成功,请重置信息!n stu.zhku_status=1; fseek(fp,-sizeof(StuType),SEEK_CUR);/把文件的位置指针从当起始点开始,移动指定位移量的字节数。成功返回0,失败返回非0 fwrite(& else

10、无此学号的学生! clearerr(fp); do getchar(); while(a! break;2fclose(fp); remove(input.dat if(fp=fopen(rb+)=NULL)wb+ printf(打开文件失败! system(PAUSE exit(1); doa=getch();while(a!return; break; FILE *fpTmp; if(fpTmp=fopen(xuesheng_tmp.datwb)=NULL) /打开文件xueshneg_tmp.dat失败打开文件xueshneg_tmp.dat失败! system( exit(2); /读

11、入信息 if(stu.zhku_status=0)stu,sizeof(StuType),1,fpTmp); /写入信息 /继续读入信息 fclose(fp); fclose(fpTmp); /关闭文件 remove( /删除文件 rename( /更改文件名 if(fp=fopen( printf( exit(3); char zhku_number10;nnnn *按ESC返回主菜单*nn输入要修改的学生的学号:,zhku_number); while (! if (strcmp(stu.zhku_number,zhku_number)=0 &stu.zhku_status=0) brea

12、k; if (!, stu.zhku_number,stu.zhku_name,stu.zhku_address);n输入修改后的数据:n学生学号: scanf(n学生姓名:n籍贯:nn 修改成功,请重置信息!n 无此学号的学生!nnn clearerr(fp); char SH_tag; char SH; char SH_number10; char SH_name10; char wxw_address20;do 1.按学号查询nn 2.按姓名查询nn 3.按籍贯查询nnprintf(nn *按ESC返回主菜单*nn 请选择:nn /getchar();if(a=getch()=27) S

13、H); while(SH3 输入错误,请输入13的数: switch(SH) nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn输入要查询的学生的学号:,SH_number); rewind(fp); while(! if(strcmp(stu.zhku_number,SH_number)=0 & break; fread(& if(! while(! if(feof(fp)break; if (strcmp(stu.zhku_number,SH_number)=0 & ,stu.zhku_name,stu.zhku_number,stu.zhku_address); else 无此人的籍贯信息! clearerr(fp); break; nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn输入要查询的学生的姓名:,SH_name); if(strcmp(stu.zhku_name,SH_name)=0 if (strcmp(stu.zhku_name,SH_name)=0 break; printf ( n输入要查询的学生的籍贯:,wxw_address); if (strcmp(stu.zhku_address,wxw_address)=0stu.zhku_status=0 )break; if(! rewind(fp);stu,sizeof(S

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

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