您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > C语言课程设计报告-学生成绩管理系统
1《高级语言程序设计》课程设计报告书设计题目:学生信息管理系统指导老师:张俊峰、陈红军学生学号:083414131学生姓名:李磊同组人员:乔心成、陈兆提时间:2015年06月25日2目录摘要.........................................................................................................31系统名称及其说明..............................................................................32实验目的..............................................................................................43系统开发环境......................................................................................43.1开发人员........................................................................................43.2开发时间........................................................................................43.3开发环境........................................................................................43.4结构图...............................................................................................53.5程序运行结果...................................................................................64系统代码结构.....................................................................................75系统开发进程....................................................................................186总结心得体会....................................................................................183摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施技术已逐步成熟。管理信息系统是一个不断发展的新兴学科,任何一个单位要生存发展要高效的把内部活动有机的组织起来。就必须建立与其自身特点相适应的管理系统。本文介绍了在VisulC++6.0环境下来开发一个学生信息管理系统的大致过程。1系统名称及其说明系统名称:学生信息管理系统(studentinformationmanagementsystem)学生信息包括:学号,姓名,年龄,性别,成绩等。设计学生信息管理系统,使之能提供以下几项功能:1.系统以菜单方式工作。2.学生信息录入功能--输入。3.学生信息浏览功能--输出。4.学生信息查询功能--算法。○1按学号查询。○2按姓名查询。5.学生信息的删除与修改。42实验目的通过此次C语言课程设计实验,让我们更加熟练地掌握C语言这一门计算机编程语言,能够根据其语言的基本数据结构构成来完成与之相关的语言功能,初步形成并加深自我编程思想,形成能够独立编程的能力,对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力。3系统开发环境3.1开发人员组长:李磊。成员:乔心成,陈兆提,李磊。3.2开发时间第十六周和第十七周(两周)。3.3开发环境Visulc++6.0机型:方正电脑处理器名称:Intel(R)Core(TM)2DuoCPUE7200@2.53GHz硬盘驱动器:WDCWD1600AAJS-22WAAO系统内存:金士顿内存2GB显示卡:NVIDIAGeFORCE9400GT显示器:方正科技FG981-W9操作系统:MicrosoftWindowsXPProfessional53.4结构图学生信息管理系统进入系统菜单保存资料查询资料修改资料删除资料登记资料方式1学号2姓名3性别4成绩退出系统2姓名1学号63.5程序运行结果74系统代码结构#includestdio.h(头文件)#includestdlib.h#includestring.hintshoudsave=0;/**/structstudent(系统结构){charnum[10];/*学号*/charname[20];/*姓名*/charsex[4];/*性别*/intcgrade;/*C语言成绩*/intmgrade;/*高数成绩*/integrade;/*英语成绩*/inttotle;/*总成绩*/intave;/*平均成绩*/charneartime[10];/*最近更新时间*/};typedefstructnode{structstudentdata;structnode*next;}Node,*Link;/*链表*/voidmenu()(菜单){printf(********************************************************************************);printf(\t1登记学生资料\t\t\t\t\t2删除学生资料\n);printf(\t3查询学生资料\t\t\t\t\t4修改学生资料\n);printf(\t5保存学生资料\t\t\t\t\t0退出系统\n);printf(********************************************************************************\n);}voidprintstart(){printf(-----------------------------------------------------------------------\n);/*打印星号*/}voidWrong()8{printf(\n=====提示:输入错误!\n);}voidNofind(){printf(\n=====提示:没有找到该学生!\n);}voidprintc()/*本函数用于输出中文*/{printf(学号\t姓名性别英语成绩数学成绩C语言成绩总分平均分\n);}voidprinte(Node*p)/*本函数用于输出英文*/{printf(%-12s%s\t%s\t%d\t%d\t%d\t%d\t%d\n,p-data.num,p-data.name,p-data.sex,p-data.egrade,p-data.mgrade,p-data.cgrade,p-data.totle,p-data.ave);}Node*Locate(Linkl,charfindmess[],charnameornum[])/*该函数用于定位连表中符合要求的接点,并返回该指针*/{Node*r;if(strcmp(nameornum,num)==0)/*按学号查询*/{r=l-next;while(r!=NULL){if(strcmp(r-data.num,findmess)==0)returnr;r=r-next;}}elseif(strcmp(nameornum,name)==0)/*按姓名查询*/{r=l-next;while(r!=NULL){if(strcmp(r-data.name,findmess)==0)returnr;r=r-next;}}return0;}9voidAdd(Linkl)/*增加学生*/{Node*p,*r,*s;charnum[10];r=l;s=l-next;while(r-next!=NULL)r=r-next;/*将指针置于最末尾*/while(1)/*while语句的原型是while(表达式)语句,当表达式为非0值时,执行while语句中的嵌套语句。那么while(1)其中1代表一个常量表达式,他永远不会等于0。所以,循环会一直执行下去。除非你设置break等类似的跳出循环语句循环才会中止*/{printf(请你输入学号(以'0'返回上一级菜单:));scanf(%s,num);if(strcmp(num,0)==0)break;while(s){if(strcmp(s-data.num,num)==0){printf(=====提示:学号为'%s'的学生已经存在,若要修改请你选择'4修改'!\n,num);printstart();printc();printe(s);printstart();printf(\n);return;}s=s-next;}p=(Node*)malloc(sizeof(Node));strcpy(p-data.num,num);printf(请你输入姓名:);scanf(%s,p-data.name);getchar();10printf(请你输入性别:);scanf(%s,p-data.sex);getchar();printf(请你输入c语言成绩:);scanf(%d,&p-data.cgrade);getchar();printf(请你输入数学成绩:);scanf(%d,&p-data.mgrade);getchar();printf(请你输入英语成绩:);scanf(%d,&p-data.egrade);getchar();p-data.totle=p-data.egrade+p-data.cgrade+p-data.mgrade;p-data.ave=p-data.totle/3;/*信息输入已经完成*/p-next=NULL;r-next=p;r=p;shoudsave=1;}}voidQur(Linkl)/*查询学生*/(查询){intsel;charfindmess[20];Node*p;if(!l-next){printf(\n=====提示:没有资料可以查询!\n);return;}printf(\n=====1按学号查找\n=====2按姓名查找\n);scanf(%d,&sel);if(sel==1)/*学号*/{printf(请你输入要查找的学号:);scanf(%s,findmess);p=Locate(l,findmess,num);if(p){printf(\t\t\t\t查找结果\n);printstart();printc();11printe(p);printstart();}elseNofind();}elseif(sel==2)/*姓名*/{printf(请你输入要查找的姓名:);scanf(%s,findmess);p=Locate(l,findmess,name);if(p){printf(\t\t\t\t查找结果\n);printstart();printc();printe(p);printstart();}elseNofind();}elseWrong();}voidDel(Linkl)/*删除*/(删除){intsel;Node*p,*r;charfindmess[20];if(!l-next){printf(\n==
本文标题:C语言课程设计报告-学生成绩管理系统
链接地址:https://www.777doc.com/doc-2909201 .html