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

    C语言知识程序设计实习报告-学生信息管理计划系统.doc

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

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

    C语言知识程序设计实习报告-学生信息管理计划系统.doc

    -+ C 语 言 课 程 设 计题 目: 学生信息管理系统设计者 : 梁天江专 业: 机械设计制造及其自动化班级学号: 072084-31所属院系: 机电学院指导教师: 吴湘宁 2010年7月17日1. 题目和要求:1.1问题提出与要求:学生成绩管理系统要求 设计一个学生成绩管理系统,对在校某班学生几门课程的考试成绩进行统一管理。每个学生记录包括学号、姓名、年龄、数学、英语、物理成绩,默认以学号为序存放。(1)一个文件按以班为单位存储学生记录。(2)将允许的操作分为六种A:插入一个新的学生记录(录入学生信息)B:修改学生记录C:删除一个学生记录D:登记成绩E:修改成绩F:浏览全班成绩 (3)计算学生的总成绩 (4)输出全班成绩表1.2需求分析.根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择.2.功能实现设计:2.1总体设计:分析系统:根据题目的需求分析,可将这个系统设计为六大模块(见下图):插入学生信息,修改,删除,登记,浏览,统计。学生信息管理系统显示修改删除浏览退出插入2.2详细设计: 1、主函数主函数设计得比较简洁,只提供输入、功能处理和输出部分的函数调用。其中各功能模块用菜单方式选择;其流程图如下:开始显示一系列功能选项输入n,判断n是否是16? 根据n的值调用各功能模块函数结束程序void main()int a; do printf("ttttn"); printf("tttt学生成绩管理系统n"); printf("n"); printf("ttt作者:梁天江 班级:072084-31 学号:20081004528n"); printf("ttt-nn"); printf("t 1.插入新的学生记录n"); printf("t 2.修改学生记录n"); printf("t 3.删除学生记录n"); printf("t 4.显示学生成绩和总分n"); printf("t 5.浏览全班成绩n"); printf("t 6.退出nn"); printf(" 输入你要操作的序号 : "); scanf("%d",&a); switch(a) case 1:printf("n");input();break; case 2:printf("n");change();break; case 3:printf("n");del();break; case 4:printf("n");allgrade();break; case 5:printf("n");paixu();break; case 6:printf("n");exit(0);break; default:printf("nThe choice is between 1 to 6.n"); while(a!=0);2、各功能模块设计(1)插入模块void input() int j; char ch20;printf("n输入学生信息:n");do printf("n学号: "); scanf("%s",stuk.num); printf("n姓名: "); scanf("%s",stuk.name); printf("n年龄: "); scanf("%d",&stuk.age); for(j=0;j<3;j+) printf("n成绩%d: ",j+1); scanf("%d",&stuk.gradej); k+; printf("n如要继续,请输入学生信息(y/n): "); scanf("%s",ch); while(strcmp(ch,"y")=0|strcmp(ch,"Y")=0); outputgrade();void outputgrade() int i; printf(" 学生信息是:n"); for(i=0;i<k;i+) printf("t%s t%s t%d t%d t%d t%d",stui.num,stui.name,stui.age,stui.grade0,stui.grade1,stui.grade2);printf("n"); (2)修改模块输入要修改的学号找到? Y N提示没有找到显示记录,调用修改函数继续? Y N返回主菜单void change()int i,j;char a20,ch10; printf("n输入你要修改的学生学号:"); scanf("%s",a); for(i=0;i<k;i+) if(strcmp(stui.num,a)=0) printf("n你确定要修改学号吗?(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")=0|strcmp(ch,"Y")=0) printf("nnum:"); scanf("%s",stui.num); printf("n你确定要修改学生姓名吗?(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")=0|strcmp(ch,"Y")=0) printf("nname"); scanf("%s",stui.name); printf("n你确定要修改学生成绩吗?(y/n): "); scanf("%s",ch); printf("n"); if(strcmp(ch,"y")=0|strcmp(ch,"Y")=0) for(j=0;j<3;j+) printf("grade%d:",j+1); scanf("%d",&stui.gradej); printf("n"); outputgrade();(3)删除模块 输入要删除的学号找到? Y N提示没有找到显示记录,调用删除函数返回主菜单继续? Y Nvoid del()int i,j;char c20; printf("n输入你要删除的学生学号 :n"); printf("num:"); scanf("%s",&c); for(i=0;i<3;i+) if(strcmp(c,stui.num)=0) break; for(j=i;j<=2;j+) stuj=stuj+1; printf("ttt你已经删除 %s的信息n",c); k-; outputgrade();(4)显示模块 (显示学生成绩总分)void allgrade() int i; float sum=0; for(i=0;i<k;i+) printf("t%d t%d t%dn",stui.grade0,stui.grade1,stui.grade2); sum=sum+stui.grade0+stui.grade1+stui.grade2 ; printf("总成绩是 %f",sum);(5)浏览模块(浏览全班学生成绩并按学号排序)void paixu() struct student temp; int i,j;for(i=0;i<k-1;i+) for(j=i+1;j<k;j+) if(stui.num<stuj.num) temp=stui; stui=stuj; stuj=temp; outputgrade();2.上机操作1、数据源全班学生信息文件student.txt格式:每行储存一个学生信息,内容包括学生学号、姓名、年龄、数学成绩、英语成绩、物理成绩。例如:01 zhao 18 90 80 852、编译、链接和运行(略)3、结果(1)主菜单函数效果如下图所示:(2)插入模块在主界面出现后输入1回车,即可插一个学生信息,包括学号、姓名、年龄、数学、英语、物理成绩。如下图所示:(3)修改模块(4)删除模块(5)显示模块(显示全班学生成绩和总分)(6)浏览模块4.下面附上此次C语言课程设计的源程序#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>struct student char num10; char name12; int age; int grade3; stu20;int k=0;void input();void outputgrade();void change();void del();void allgrade();void paixu();void main()int a; do printf("ttttn"); printf("tttt学生成绩管理系统n"); printf("n"); printf("ttt作者:梁天江 班级:072084-31 学号:20081004528n"); printf("ttt-nn"); printf("t 1.插入新的学生记录n"); printf("t 2.修改学生记录n"); printf("t 3.删除学生记录n"); printf("t 4.显示学生成绩和总分n"); printf("t 5.浏览全班成绩n"); printf("t 6.退出nn"); printf(" 输入你要操作的序号 : "); scanf("%d",&a); switch(a) case 1:printf("n");input();break; case 2:printf("n");change();break; case 3:printf("n");del();break; case 4:printf("n");allgrade();break; case 5:printf("n");paixu();break; case 6:printf("n");exit(0);break; default:printf("nThe choice is between 1 to 6.n"); while(a!=0); void input() int j; char ch20;printf("n输入学生信息:n");do printf("n学号: "); scanf("%s",stuk.num); printf("n姓名: "); scanf("%s",stuk.name); printf("n年龄: "); scanf("%d",&stuk.age); for(j=0;j<3;j+) printf("n成绩%d: ",j+1); scanf("%d",&stuk.gradej); k+; printf("n如要继续,请输入学生信息(y/n): "); scanf("%s",ch); while(strcmp(ch,"y")=0|strcmp(ch,"Y")=0); outputgrade();void outputgrade() int i; printf(" 学生信息是:n"); for(i=0;i<k;i+) printf("t%s t%s t%d t%d t%d t%d",stui.num,stui.name,stui.age,stui.grade0,stui.grade1,stui.grade2); printf("n"); void change()int i,j;char a20,ch10; printf("n输入你要修改的学生学号:"); scanf("%s",a); for(i=0;i<k;i+) if(strcmp(stui.num,a)=0) printf("n你确定要修改学号吗?(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")=0|strcmp(ch,"Y")=0) printf("nnum:"); scanf("%s",stui.num); printf("n你确定要修改学生姓名吗?(y/n): "); scanf("%s",ch); if(strcmp(ch,"y")=0|strcmp(ch,"Y")=0) printf("nname"); scanf("%s",stui.name); printf("n你确定要修改学生成绩吗?(y/n): "); scanf("%s",ch); printf("n"); if(strcmp(ch,"y")=0|strcmp(ch,"Y")=0)for(j=0;j<3;j+) printf("grade%d:",j+1); scanf("%d",&stui.gradej); printf("n"); outputgrade();void del()int i,j;char c20; printf("n输入你要删除的学生学号 :n"); printf("num:"); scanf("%s",&c); for(i=0;i<3;i+) if(strcmp(c,stui.num)=0) break; for(j=i;j<=2;j+) stuj=stuj+1; printf("ttt你已经删除 %s的信息n",c); k-; outputgrade();void allgrade() int i; float sum=0; for(i=0;i<k;i+) printf("t%d t%d t%dn",stui.grade0,stui.grade1,stui.grade2); sum=sum+stui.grade0+stui.grade1+stui.grade2 ; printf("总成绩是 %f",sum);void paixu() struct student temp; int i,j;for(i=0;i<k-1;i+) for(j=i+1;j<k;j+) if(stui.num<stuj.num) temp=stui; stui=stuj; stuj=temp; outputgrade();5.实习心得: 通过7次的C语言课程设计上机实习,我学到了很多东西。开始上机实习时,面对着繁琐的程序结构,我无从下手,一头雾水的我看到了C语言课程设计与学习指导中的第五章,“举一反三”部分。看完后,我“依葫芦画瓢”地在VISUAL C+上写了简单的程序模块。在同学的帮助下我做完了程序的主体部分。 C语言课程的学习已经过去了几个星期。刚开始学习这门课程的时候,我发现老师在课堂上讲授的东西很抽象,不能应用于实际的生活中,并且C语言中的结构,算法等很高深,不容易被我们消化吸收。在上机实习的过程中,我发现C语言才是真正能够为现实生活中的问题提供一个简单快捷并且蕴涵着深深智慧的一个工具,作为当今时代的大学生,我们应该好好学习并掌握C语言。实际应用中我发现,很多的操作系统都能够C语言编出来,真正实现了办事效率的优化。在上机实习的过程中,我发现C语言中的算法和结构具有很深的智慧,一个看似复杂的问题,用很巧妙的C程序算法和结构能奇妙地解决。我们应该在以后的学习和生活中将C语言所特有的解决问题的思路和办法融入自己的智慧中。另外,C语言编出来的程序很清晰,整洁,将问题有条不紊地分离开来,在一个大框架的总体思路下,将要求化为几个并列的函数,一个函数又一个函数地将问题一一解决。 C语言这门课程所包含的东西还很多,很深。作为一名初次接触的学生,我在C语言课程的学习和这7次的实际上机操作中,对C语言有了进一步的理解。从老师开始从C语言的历史开始讲解,到现在,能在老师和同学的帮助下完成一个简单的程序设计,我获益匪浅。 遇到问题,分析问题,着手解决问题,并总结问题,C语言程序设计将解决问题并完善问题的总体过程告诉了我们,这对我们都是大有裨益的。

    注意事项

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

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




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

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

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

    收起
    展开