欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    《C语言程序》课程设计报告书 学生信息管理.doc

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

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

    《C语言程序》课程设计报告书 学生信息管理.doc

    吉林工程技术师范学院C语言程序课程设计报告书设计题目: 学生信息管理 专业: 计算机科学与技术 班级: 学生姓名: 学号: 30 指导教师: 2009年7月信息工程学院目 录摘 要- 2 -第一章 绪 论- 3 -第二章 问题定义- 4 -2.1 功能需求- 4 -2.2 性能需求- 5 -第三章 总体设计与详细设计- 6 -3.1 总体设计- 6 -3.2 详细设计- 8 -第四章 编码- 23 -第五章 调试与测试- 23 -第六章 总结与心得- 25 -附 录- 26 -附录一- 26 -附录二- 36 -摘 要 学生信息管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我使用C语言开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键字:信息管理系统(MIS) 数据库 完整性强 安全性好 功能完备 易使用 第一章 绪 论 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,针对这些要求设计了学生信息管理系统。本系统的主要功能主要有:有关学籍等信息的输入,包括输入学生基本信息、所在班级、成绩等。显示学生信息2.成绩排序3.添加学生信息4.删除学生信息5.修改学生信息6.查询学生信息第二章 问题定义2.1 功能需求:根据主界面显示内容进行选择并进一步执行相应操作。一、 当前学生信息:通过结构体struct student 来保存学生的姓名,班级,学号,C语言成绩等等相关信息。并通过input函数录入学生信息。 二、显示学生信息:输入一个班级,显示该班学生的全部信息。再根据C语言成绩分数段来显示学生信息。三、成绩排序:根据C语言成绩高低进行排序。四、添加学生信息:输入一个新学号、班级、姓名、成绩,从而添加全部信息。五、删除学生信息:输入一个学号,删除该生的全部信息。六、修改学生信息:输入姓名,进而修改该生信息。七、查询学生信息:输入姓名,进而查询该生全部信息。八、退出系统.2.2 性能需求:具有良好的可靠性和安全性。对于系统要求比较低。使用范围比较广。第三章 总体设计与详细设计3.1 总体设计:将此系统化分为如下模块(即如下函数):1、输入初始的学生信息:其中包括学生的学号、班级、姓名、C语言成绩等相关信息;可用函数input( )函数来实现此操作。  2、显示模块:用display( )函数来实现。输出此学生全部信息。3、排序模块:可用sort( )函数来实现。其中通过成绩的高低来比较的,并且以此来排序。4、添加模块:用insert( )函数来实现。5、删除模块:用del( )函数来实现。通过学号来进行删除。6、修改模块:用modify( )函数来实现。通过输入学生姓名来删除该生信息。7、查询模块:用find( )函数来实现。通过输入学生姓名来查询该生全部信息。8、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。数据结构设计:     程序设计中用到的结构体类型:   存放学生信息的结构体: struct student     int no;    int classs;    char name20;     float score1;     float sort; ; 3.2 详细设计:Int as;1显示主界面as=1as=2YESIF system("cls");input();break;主函数流程图:输入模块流程图:system("cls");ch!='n'&&ch!='N'Int i=0;printf("tttt1.录入学员信息n输入第%d个学员的信息n",i+1);temp=stuj;stuj-1.score1<stuj.score1j+j<=now_no-ij=1i+i<now_noi=1Struct student ;排序模块流程图:添加模块流程图:Char ch;ch!='n'&&ch!='N'printf("ntt输入新插入学员队信息n");显示模块流程图:printf("按任意键继续.n");ch!='n'&&ch!='N'!asInt i;printf("tttt%d班学员信息列表n",j);printf("是否按分数段查看学生成绩?(Y/N)");查询模块流程图:i+i<now_noi=0system("cls");!asInt i;printf("输入要查询的学生姓名:");printf("tt按任意键返回主菜单.");删除模块流程图:stui=stunow_no-1;i=now_nostui.no=inumsystem("cls");i+i<now_noi=0Int num,i,j;修改模块流程图:break;system("cls");system("cls");i+i<now_noi=0Int i;第四章 编码头文件包含:#include <time.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #define MAX 80nt now_no=0; 数据结构:struct student     int no;    int classs;    char name20;     float score1;     float sort; ; struct student stuMAX,*p;原始数据录入模块:void input()                                                                      int i=0;     char ch;     do             printf("tttt1.录入学员信息n输入第%d个学员的信息n",i+1);        printf("n输入学生编号:");         scanf("%d",&stui.no);         printf("n输入学员班级(14):");         scanf("%d",&stui.classs);  printf("n输入学员姓名:");        gets(stui.name);         printf("n输入学员C语言成绩:");         scanf("%f",&stui.score1);       printf("nn");         i+;         now_no=i;         printf("是否继续输入?(Y/N)");         ch=getch();         system("cls");          while(ch!='n'&&ch!='N');     system("cls"); 排序数据函数:void sort()                                                                            struct student temp;    int i,j;         for(i=1;i<now_no;i+)              for(j=1;j<=now_no-i;j+)                      if(stuj-1.score1<stuj.score1)                              temp=stuj;                 stuj=stuj-1;                 stuj-1=temp;                            显示数据函数:void display()                                                                        int i;     int j;    int mark;    char as;     char ch;       printf("输入所查班级(14):");    scanf("%d",&j);    do              printf("tttt%d班学员信息列表n",j);         printf("   ttt编号t姓名tC语言n");         for(i=0;i<now_no&&stui.name0;i+)                    if(stui.classs=j)                printf("   ttt%dt%st%.2fn",stui.no,stui.name,stui.score1);                 printf("按任意键继续.n");        as=getch();          while(!as);     printf("是否按分数段查看学生成绩?(Y/N)");    ch=getchar();    if(ch!='n'&&ch!='N')            printf("tttt 90100分学员信息列表n");         printf("   ttt班级t编号t姓名tC语言值n");         for(i=0;i<now_no&&stui.name0;i+)                    mark=stui.score1/10;if(mark>=9)                           printf("   ttt%dt%dt%st%.2fn",stui.classs,stui.no,stui.name,stui.score1);                                        printf("tttt 8090分学员信息列表n");         printf("   ttt班级t编号t姓名tC语言值n");                 for(i=0;i<now_no&&stui.name0;i+)                    mark=stui.score1/10;  if(mark<9&&mark>=8)                           printf("   ttt%dt%dt%st%.2fn",stui.classs,stui.no,stui.name,stui.score1);                                     printf("tttt 7080分学员信息列表n",j);         printf("   ttt班级t编号t姓名tC语言值n");                 for(i=0;i<now_no&&stui.name0;i+)                    mark=stui.score1/10;  if(mark<8&&mark>=7)                           printf("   ttt%dt%dt%st%.2fn",stui.classs,stui.no,stui.name,stui.score1);                                        printf("tttt 6070分学员信息列表n",j);         printf("   ttt班级t编号t姓名tC语言值n");                 for(i=0;i<now_no&&stui.name0;i+)                    mark=stui.score1/10;            if(mark<7&&mark>=6)                           printf("   ttt%dt%dt%st%.2fn",stui.classs,stui.no,stui.name,stui.score1);                                        printf("tttt 不及格学员信息列表n",j);         printf("   ttt班级t编号t姓名tC语言值n");                 for(i=0;i<now_no&&stui.name0;i+)                    mark=stui.score1/10;            if(mark<6)                           printf("   ttt%dt%dt%st%.2fn",stui.classs,stui.no,stui.name,stui.score1);                                   printf("按任意键继续.n");     as=getch();     system("cls"); 插入数据函数:void insert()                                                                          char ch;     do              printf("ntt输入新插入学员队信息n");         printf("n输入学生编号:");         scanf("%d",&stunow_no.no);         printf("n输入学员班级:");         scanf("%d",&stunow_no.classs);         printf("n输入学员姓名:");         gets(stunow_no.name);         printf("n输入学员C语言成绩:");         scanf("%f",&stunow_no.score1);          printf("nn");         now_no=now_no+1;         sort();         printf("是否继续输入?(Y/N)");         ch=getch();         system("cls");          while(ch!='n'&&ch!='N'); 删除数据函数:void del()                                                                             int inum,i,j;     printf("输入要删除学员的编号:");     scanf("%d",&inum);         for(i=0;i<now_no;i+)              if(stui.no=inum)                      if(i=now_no)now_no-=1;             else                              stui=stunow_no-1;                 now_no-=1;                          sort();             break;                       system("cls"); 查询函数:void find()                                                                              int i;     char str20,as;     do              printf("输入要查询的学生姓名:");         gets(str);         for(i=0;i<now_no;i+)             if(!strcmp(stui.name,str)                              printf("t编号t班级t姓名tC语言成绩n");                 printf("t%dt%dt%st%.2fn",stui.no,stui.classs,stui.name,stui.score1);                          printf("tt按任意键返回主菜单.");             as=getch();          while(!as);     system("cls"); 修改数据函数:void modify()                                                                       int i;     char str20,as;     printf("输入要修改的学生姓名:");      gets(str);         for(i=0;i<now_no;i+)         if(!strcmp(stui.name,str)                      system("cls");             printf("ntt输入新插入学员队信息n");             printf("n输入学生编号:");             scanf("%d",&stui.no);             printf("n输入学员班级:");            scanf("%d",&stui.classs);             printf("n输入学员C语言成绩:");             scanf("%f",&stui.score1);             printf("nn");             sort();             break;                      system("cls"); 第五章 调试与测试第六章 总结与心得此次课程设计,使我仍感慨颇多,的确,从确定题目到完成整个编程,从理论到实践,在短短两周时间里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,尤其对函数调用的正确使用不够熟悉,通过这次课程设计之后,一定把以前所学过的知识重新温故。而且在课程设计过程中,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,编程看起来似乎是一件很枯燥、乏味的事情,但是经历了这次大程序的编辑之后,发现其实里面还是充满乐趣的,一旦真的专研下去什么事情都可以放下,来认真研究。总之,编程是一项细致深入的工作,需要下工夫、动脑子、善于积累经验,这往往能反映出一个人的水平、经验和科学态度。课程设计结束了。无论我以后会不会涉及到C语言程序编译的研究,我想,我至少掌握了一种系统的研究方法,我们学习的目的就在于运用,而且我们运用这种研究方法的时候会很多。 附 录附录一:源代码:#include <time.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #define MAX 80 void input(); void sort(); void display(); void insert(); void del(); void find(); void modify(); int now_no=0; struct student     int no;    int classs;    char name20;     float score1;     float sort; ; struct student stuMAX,*p; main()                                                                                      int as;     start: printf("nttt * 欢迎使用学生成绩管理系统 *n");                                                                                 do             printf("ntttt1.录入学员信息ntttt2.显示学员信息ntttt3.成绩排序信息ntttt4.添加学员信息ntttt5.删除学员信息ntttt6.修改学员信息ntttt7.查询学员信息ntttt8.退出n");         printf("tttt选择功能选项:");         scanf("%d",&as);         switch(as)                      case 1:system("cls");input();break;             case 2:system("cls");display();break;             case 3:system("cls");sort();break;             case 4:system("cls");insert();break;             case 5:system("cls");del();break;             case 6:system("cls");modify();break;             case 7:system("cls");find();break;     case 8:system("exit");exit(0);             default:system("cls");goto start;                  while(1);                                                                 void input()                                                                       int i=0;     char ch;     do             printf("tttt1.录入学员信息n输入第%d个学员的信息n",i+1);         printf("n输入学生编号:");         scanf("%d",&stui.no);         printf("n输入学员班级(14):");         scanf("%d",&stui.classs);  printf("n输入学员姓名:");         gets(stui.name);         printf("n输入学员C语言成绩:");         scanf("%f",&stui.score1);        printf("nn");         i+;         now_no=i;        printf("是否继续输入?(Y/N)");        ch=getch();         system("cls");       while(ch!='n'&&ch!='N');     system("cls"); void sort()                                                                            struct student temp;    int i,j;         for(i=1;i<now_no;i+)              for(j=1;j<=now_no-i;j+)                      if(stuj-1.score1<stuj.score1)                              temp=stuj;                 stuj=stuj-1;                 stuj-1=temp;                            void display()                                                                        int i;     int j;    int mark;    char as;     char ch;    printf("输入所查班级(14):");    scanf("%d",&j);  do              printf("tttt%d班学员信息列表n",j);         printf("   ttt编号t姓名tC语言n");         for(i=0;i<now_no&&stui.name0;i+)                    if(stui.classs=j)                printf("   ttt%dt%st%.2fn",stui.no,stui.name,stui.score1);                 printf("按任意键继续.n");         as=getch();          while(!as);     printf("是否按分数段查看学生成绩?(Y/N)");    ch=getchar();    if(ch!='n'&&ch!='N')            printf("tttt 90100分学员信息列表n");         printf("   ttt班级t编号t姓名tC语言值n");         for(i=0;i<now_no&&stui.name0;i+)                    mark=stui.score1/10; if(mark>=9)                           printf("   ttt%dt%dt%st%.2fn",stui.classs,stui.no,stui.name,stui.score1);                                        printf("tttt 8090分学员信息列表n");         printf("   ttt班级t编号t姓名tC语言值n");                 for(i=0;i<now_no&&stui.name0;i+)                    mark=stui.score1/10;  if(mark<9&&mark>=8)                           printf("   ttt%dt%dt%st%.2fn",stui.classs,stui.no,stui.name,stui.score1);                                            printf("tttt 7080分学员信息列表n",j);         printf("   ttt班级t编号t姓名tC语言值n");                 for(i=0;i<now_no&&stui.name0;i+)                    mark=stui.score1/10;  if(mark<8&&mark>=7)                           printf("   ttt%dt%dt%st%.2fn",stui.classs,stui.no,stui.name,stui.score1);                                        printf("tttt 6070分学员信息列表n",j);         printf("   ttt班级t编号t姓名tC语言值n");                 for(i=0;i<now_no&&stui.name0;i+)                    mark=stui.score1/10; if(mark<7&&mark>=6)                           printf("   ttt%dt%dt%st%.2fn",stui.classs,stui.no,stui.name,stui.score1);                                        printf("tttt 不及格学员信息列表n",j);         printf("   ttt班级t编号t姓名tC语言值n");                 for(i=0;i<now_n

    注意事项

    本文(《C语言程序》课程设计报告书 学生信息管理.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开