欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言课程设计实验报告-学生信息管理系统.rtf

    • 资源ID:79335086       资源大小:497.67KB        全文页数:12页
    • 资源格式: RTF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言课程设计实验报告-学生信息管理系统.rtf

    C报告人:09114115 孟凡超 指导老师:姜 林 报告日期:2009 年 12 月 26 日 语言程序设计实验报告C 语言程序设计实验报告2C语言课程设计实验报告1.设计目的:学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。试设计一学生信息管理系统,使之能提供以下功能:1.系统以菜单方式工作2.学生信息录入功能-输入3.学生信息浏览功能-输出4.查询、排序功能-算法按学号查询按姓名查询5.学生信息的删除与修改(可选项)2.总体设计:程序设计组成框图主菜单学生信息录入学生信息浏览信息查询学分查询姓名查询信息编辑信息添加信息删除信息编辑信息添加信息删除C 语言程序设计实验报告3流程图case 4case 3case 2case 1结束N调用writeinfo()YFileopen()清屏判断 n0?n=1pr()输入选择 ch调用viewinfo()N=0调用pr2()ch开始Filesave()C 语言程序设计实验报告43.详细设计:1函数入口说明pr()输出主菜单pr2()输出检索菜单界面fileopen()文件操作:打开filesave()文件操作:保存editname(int n)编辑子菜单:对姓名编辑editage(int n)编辑子菜单:对年龄编辑editsex(int n)编辑子菜单:对性别编辑editbir(int n)编辑子菜单:对出生年月编辑editadd(int n)编辑子菜单:对住址编辑edittel(int n)编辑子菜单:对电话进行编辑editemail(int n)编辑子菜单:对电子邮件地址编辑last(int n)显示翻页致末尾的信息edit(int n)信息编辑函数del(int n)删除信息的函数editpr(int n)输出编辑界面jsid()检索:按学号jsname()检索:按姓名writeinfo()录入、添加信息viewinfo()学生信息查看main()主函数2调用关系 3参数说明 editname(int n)、editage(int n)、editsex(int n)、editbir(int n)、editadd(int n)、edittel(int n)、editemail(int n)、last(int n)、edit(int n)、del(int n)、editpr(int n)函数中的 n 都为检索中确定的学生数组下标。editpr(int n)editpr(int n)main()fileopen()filesave()pr()writeinfo()viewinfo()pr2()jsname()jsid()edit(int n)del(int n)edit(int n)(同上)del(int n)editsex(int n)editname(int n)editbir(int n)editadd(int n)edittel(int n)editemail(int n)editage(int n)C 语言程序设计实验报告54.调试与测试:1调用pr2()函数(检索界面)一闪而过。解决方法:添加 getchar()语句使程序暂停。2无法有效的控制输出函数循环终止。解决方法:添加全局变量“stunum”,使用该全局变量来记录学生总数,从而控制输出循环的次数。3查询函数数据量过多时同时输出,先输出的内容无法查看,或需用户自行查看。解决方法:添加 getchar()语句使程序暂停,当用户按 Enter 时继续。4文件在打开和保存时有问题。解决方法:调整文件的打开方式,从原来的单纯的 w+修改为添加一个 if 语句,当没有文件时执行 w+的操作,否则执行 r+。避免了原存储文件被覆盖的问题。C 语言程序设计实验报告65.源程序清单和执行结果:#include#include#include#includeint stunum=0;struct studentint id;char name30;int age;char sex2;char birthday9;char add80;char tel15;char email25;stu100;void pr()system(cls);printf(*学生信息管理系统*);printf(n-V 1.0.0-);printf(n 您想要:);printf(n 1.录入学生信息);printf(n 2.浏览学生信息);printf(n 3.检索学生信息);printf(n 4.退出信息管理);printf(n-By 09114115 孟凡超-);printf(n*n);void pr2()void jsid();void jsname();int a;char ch;while(a)system(cls);printf(*学生信息管理系统*);printf(n-检 索-);printf(n 您想要:);printf(n 1.按学号检索);printf(n 2.按姓名检索);printf(n 3.返回主菜单);printf(nn-By 09114115 孟凡超-);printf(n*n);ch=getchar();switch(ch)case 1:jsid();break;case 2:jsname();break;case 3:a=0;break;void fileopen()FILE*fp;int n;if(fp=fopen(data,r+)=NULL)fp=fopen(data,w+);for(n=0;n100;n+)fread(&stun,sizeof(struct student),1,fp);fread(&stunum,4,1,fp);fclose(fp);void filesave()int n;FILE*fp;fp=fopen(data,r+);C 语言程序设计实验报告7for(n=0;n100;n+)fwrite(&stun,sizeof(struct student),1,fp);fwrite(&stunum,4,1,fp);fclose(fp);void editname(int n)printf(n 新姓名:);scanf(%s,stun.name);void editage(int n)printf(n 新年龄:);scanf(%d,&stun.age);void editsex(int n)printf(n 新性别:);scanf(%s,stun.sex);void editbir(int n)printf(n 新出生年月);scanf(%s,stun.birthday);void editadd(int n)printf(n 新地址:);scanf(%s,stun.add);void edittel(int n)printf(n 新电话:);scanf(%s,stun.tel);void editemail(int n)printf(n 新 E-mail:);scanf(%s,stun.email);void last(int n)if(n=stunum)system(cls);/清屏printf(*学生信息管理系统*);printf(n-检 索-);printf(n 已检索到末尾。);printf(nPress any key to continue.);printf(nn-By 09114115 孟凡超-);printf(n*n);void edit(int n)char ch;int a=1,b;while(a)system(cls);printf(*学生信息管理系统*);printf(n-修 改-);printf(n 请输入你想修改的内容:);printf(n1.姓名 2.年龄 3.性别 4.出生年月 5.地址 6.电话 7.E-mailn);printf(nn-By 09114115 孟凡超-);printf(n*n);getchar();ch=getchar();switch(ch)C 语言程序设计实验报告8case 1:editname(n);break;case 2:editage(n);break;case 3:editsex(n);break;case 4:editbir(n);break;case 5:editadd(n);break;case 6:edittel(n);break;case 7:editemail(n);break;b=1;while(b)printf(n 确认吗?(y/n);getchar();ch=getchar();switch(ch)case Y:case y:b=0;a=0;break;case N:case n:b=0;break;void del(int n)int a;for(a=n;astunum;a+)strcpy(stua.name,stua+1.name);/拷贝后一个学生信息到前一个人上。stua.age=stua+1.age;strcpy(stua.sex,stua+1.sex);strcpy(stua.birthday,stua+1.birthday);strcpy(stua.add,stua+1.add);strcpy(stua.tel,stua+1.tel);strcpy(stua.email,stua+1.email);stunum-;printf(删除成功!press Enter to continue.);int editpr(int n)int a=1;char ch;while(a)getchar();printf(n 您想要:);printf(nn1.修改学生信息);printf(n2.删除该条信息);printf(n3.返回上级菜单);printf(n4.查看下条信息);ch=getchar();switch(ch)case 1:edit(n),a=0;break;case 2:del(n),a=0;break;case 3:a=0;return(0);break;case 4:a=0;break;void jsid()int n,i,j=0;system(cls);printf(*学生信息管理系统*);printf(n-检 索-);printf(n 请输入想要检索的学号:);scanf(%d,&n);if(n=stunum)n=n-;C 语言程序设计实验报告9printf(学号 姓 名 年龄 性别 出生年月n);printf(%4d,stun.id);printf(%12s,stun.name);printf(%4d,stun.age);printf(%4s,stun.sex);printf(%8s n,stun.birthday);printf(nnn 学号 电 话 E-mail 地址n);printf(%4d,stun.id);printf(%15s,stun.tel);printf(%15s,stun.email);printf(%sn,stun.add);j=editpr(n);i+;if(i=0)printf(nError:无此学生。);printf(n-By 09114115 孟凡超-);printf(n*n);elseif(j=0)goto end;elsesystem(cls);last(n);getchar();end:getchar();void jsname()int n,j,i=0;char m30;system(cls);printf(*学生信息管理系统*);printf(n-检 索-);printf(n 请输入想要检索的姓名:);scanf(%s,m);for(n=0;nstunum;n+)if(strcmp(m,stun.name)=0)system(cls);printf(学号 姓 名 年龄 性别 出生年月n);printf(%4d,stun.id);printf(%8s,stun.name);printf(%4d,stun.age);printf(%4s,stun.sex);printf(%8s n,stun.birthday);printf(nnn 学号 电 话 E-mail 地址n);printf(%4d,stun.id);printf(%15s,stun.tel);printf(%15s,stun.email);printf(%sn,stun.add);i+;if(j=editpr(n)=0)break;if(i=0)printf(nError:无此学生。);if(j!=0)last(n);getchar();getchar();void writeinfo()int a,n=1,m;C 语言程序设计实验报告10char ch;while(n)a=stunum;system(cls);printf(ID:);stua.id=(a+1);printf(%d,stua.id);printf(nName:);scanf(%s,&stua.name);printf(nAge:);scanf(%d,&stua.age);printf(nSex:);scanf(%s,&stua.sex);printf(nBirthday(E.g 20090101):);scanf(%s,&stua.birthday);printf(nAddress:);scanf(%s,&stua.add);printf(nTel:);scanf(%s,&stua.tel);printf(nE-mail:);scanf(%s,&stua.email);m=1;while(m)/做一个循环,直到 m=0 时跳出system(cls);printf(ID:);printf(%d,stua.id);printf(nName:);printf(%s,stua.name);printf(nAge:);printf(%d,stua.age);printf(nSex:);printf(%s,&stua.sex);printf(nBirthday:);printf(%s,stua.birthday);printf(nAddress:);printf(%s,stua.add);printf(nTel:);printf(%s,stua.tel);printf(nE-mail);printf(%s,stua.email);printf(n 请选择:1.确认并继续 2.重新填写 3.放弃并返回 4.确认并返回);ch=getchar();switch(ch)case 1:m=0;stunum+;break;case 2:stunum,m=0;break;case 3:m=0,n=0;break;/选择此项时,m=0,循环终止case 4:m=0,n=0;a=stunum+;break;void viewinfo()int count=1,i,n=1,pagenum=1,page=stunum/5+1;/设定变量控制翻页char ch;while(n)system(cls);printf(学号 姓 名 年龄 性别 出生年月n);for(i=count-1;icount+4&istunum;i+)printf(%4d,stui.id);printf(%12s,stui.name);printf(%4d,stui.age);printf(%4s,stui.sex);printf(%8s n,stui.birthday);printf(nnn 学号 电 话 E-mail 地址n);for(i=count-1;icount+4&ipage)count=1,pagenum=1;else count=(pagenum-1)*5+1;break;case 0:n=0;break;void main()/主函数int n=1;char ch;fileopen();/文件打开while(n)pr();ch=getchar();switch(ch)/switch 语句选择功能case 1:writeinfo();break;case 2:viewinfo();break;case 3:pr2();break;case 4:n=0;break;filesave();文件保存C 语言程序设计实验报告126.实验心得:1)对 C 语言的编程实践有所认识。2)在遇到程序调试不通过时,会通过缩小范围的分析来锁定问题所在。3)通过这次实验,熟悉了从自然语言转换成伪代码再转换为流程图的过程。4)在程序中设定合适的全局变量,可以简化程序的编写难度。5)运用函数可以减少编写时的代码量,也使程序条理清晰。6)通过本次 C 语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。随着实验的成功与报告的完成,有点微微的成就感使人难忘。伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对 C 语言的学习,我会加倍努力。

    注意事项

    本文(C语言课程设计实验报告-学生信息管理系统.rtf)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开