C语言课程设计报告-学生成绩管理系统.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言课程设计报告-学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告-学生成绩管理系统.docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 高级语言程序设计课程设计报告书设 计 题 目:学生信息管理系统指 导 老 师:张俊峰、陈红军学 生 学 号:学 生 姓 名:李磊同 组 人 员:乔心成、陈兆提时 间:2015年06月25日目录摘要21系统名称及其说明32实验目的33系统开发环境43.1开发人员43.2开发时间43.3开发环境43.4结构图43.5程序运行结果64 系统代码结构75系统开发进程186总结心得体会18摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施技术已逐步成熟。管理信息系统是一个不断发展的新兴学科,任何一个单位要生存发展要高效的把内部活动有机的组织起来。就必须建立与其自身特点相适应的管理系统。
2、本文介绍了在Visul C+6.0环境下来开发一个学生信息管理系统的大致过程。1系统名称及其说明系统名称:学生信息管理系统( student information management system )学生信息包括:学号,姓名,年龄,性别,成绩等。设计学生信息管理系统,使之能提供以下几项功能:1.系统以菜单方式工作。2.学生信息录入功能输入。3.学生信息浏览功能输出。4.学生信息查询功能算法。按学号查询。按姓名查询。5.学生信息的删除与修改。2实验目的通过此次C语言课程设计实验,让我们更加熟练地掌握C语言这一门计算机编程语言,能够根据其语言的基本数据结构构成来完成与之相关的语言功能,初步形成
3、并加深自我编程思想,形成能够独立编程的能力,对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力。3系统开发环境3.1开发人员组长:李磊。成员:乔心成,陈兆提,李磊。3.2开发时间第十六周和第十七周(两周)。3.3开发环境Visul c+6.0机型: 方正电脑 处理器名称:Intel(R)Core(TM)2 Duo CPU E7200 2.53GHz 硬盘驱动器:WDC WD1600AAJS-22WAAO 系统内存:金士顿内存2GB 显示卡:NVIDIA GeFORCE 9400 GT 显示器:方正科技FG981-W9操作系统: Microsoft Windo
4、ws XP Professional3.4结构图学生信息管理系统进入系统菜单保存资料查询资料登记资料删除资料修改资料方式1学号2姓名1学号 2姓名3性别4成绩退出系统3.5程序运行结果4 系统代码结构#include (头文件)#include #include int shoudsave=0; /* */struct student (系统结构) char num10;/* 学号 */ char name20;/*姓名*/ char sex4; /*性别*/int cgrade; /*C语言成绩*/int mgrade; /*高数成绩*/int egrade; /*英语成绩*/int tot
5、le; /*总成绩*/int ave; /*平均成绩*/char neartime10;/* 最近更新时间 */ ; typedef struct node struct student data; struct node *next; Node,*Link; /*链表*/void menu() (菜单) printf(*); printf(t1登记学生资料ttttt2删除学生资料n); printf(t3查询学生资料ttttt4修改学生资料n); printf(t5保存学生资料ttttt0退出系统n); printf(*n); void printstart() printf(-n); /*
6、打印星号*/ void Wrong() printf(n=提示:输入错误!n); void Nofind() printf(n=提示:没有找到该学生!n); void printc() /* 本函数用于输出中文 */ printf( 学号t 姓名 性别 英语成绩 数学成绩 C语言成绩 总分 平均分n); void printe(Node *p)/* 本函数用于输出英文 */ printf(%-12s%st%st%dt%dt%dt %dt %dn,p-data.num,p-data.name,p-data.sex,p-data.egrade,p-data.mgrade,p-data.cgrade
7、,p-data.totle,p-data.ave); Node* Locate(Link l,char findmess,char nameornum) /* 该函数用于定位连表中符合要求的接点,并返回该指针 */ Node *r; if(strcmp(nameornum,num)=0) /* 按学号查询 */ r=l-next; while(r!=NULL) if(strcmp(r-data.num,findmess)=0) return r; r=r-next; else if(strcmp(nameornum,name)=0) /* 按姓名查询 */ r=l-next; while(r!
8、=NULL) if(strcmp(r-data.name,findmess)=0) return r; r=r-next; return 0; void Add(Link l) /* 增加学生 */ Node *p,*r,*s; char num10; r=l; s=l-next; while(r-next!=NULL) r=r-next; /* 将指针置于最末尾 */ while(1) /*while语句的原型是while(表达式)语句,当表达式为非0值时,执行while语句中的嵌套语句。那么while(1)其中1代表一个常量表达式,他永远不会等于0。所以,循环会一直执行下去。除非你设置br
9、eak等类似的跳出循环语句循环才会中止*/ 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
10、,num); printf(请你输入姓名:); scanf(%s,p-data.name); getchar(); printf(请你输入性别:); 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.egr
11、ade+p-data.cgrade+p-data.mgrade; p-data.ave=p-data.totle / 3; /* 信息输入已经完成 */ p-next=NULL; r-next=p; r=p; shoudsave=1; void Qur(Link l) /* 查询学生 */(查询) int sel; char findmess20; Node *p; if(!l-next) printf(n=提示:没有资料可以查询!n); return; printf(n=1按学号查找n=2按姓名查找n); scanf(%d,&sel); if(sel=1)/* 学号 */ printf(请你
12、输入要查找的学号:); scanf(%s,findmess); p=Locate(l,findmess,num); if(p) printf(tttt查找结果n); printstart(); printc(); printe(p); printstart(); else Nofind(); else if(sel=2) /* 姓名 */ printf(请你输入要查找的姓名:); scanf(%s,findmess); p=Locate(l,findmess,name); if(p) printf(tttt查找结果n); printstart(); printc(); printe(p); p
13、rintstart(); else Nofind(); else Wrong(); void Del(Link l) /* 删除 */ (删除) int sel; Node *p,*r; char findmess20; 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) r=l; while(r-next!
14、=p) r=r-next; r-next=p-next; free(p); printf(n=提示:该学生已经成功删除!n); shoudsave=1; else Nofind(); else if(sel=2) printf(请你输入要删除的姓名:); scanf(%s,findmess); p=Locate(l,findmess,name); if(p) r=l; while(r-next!=p) r=r-next; r-next=p-next; free(p); printf(n=提示:该学生已经成功删除!n); shoudsave=1; else Nofind(); else Wron
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 学生 成绩管理系统
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内