




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
东莞理工学院课程设计 课程设计 课程程序设计基础 题目 院系名称计算机学院 班级 学生姓名学号 组员 指导教师 时间2012-5-25 1问题要求及任务描述 1.1题目要求 学生成绩管理 问题描述: 设学生信息包括:学号、姓名、学期、每门课程的成绩(每学期的课程门数是不一样的),对学生的成绩信息进行管理。 实现要求: 实现:学生信息的录入;修改;删除和查询,按学期、学号、成绩不及格等查询。 ⑴输入学生的成绩信息,包含学号、姓名、性别等基本信息和各课成绩 ⑵显示全部学生各科成绩信息; ⑶对各科成绩统计分析(总分、平均分、最高分、最低分、及格率等); ⑷统计各科各分数段人数; ⑸按学号或姓名查找并显示某个学生的各科成绩; ⑹按课程成绩或总分由高到低排序显示; ⑺更新某个学生的基本信息或课程成绩; ⑻设计一个菜单,具有上述规定的操作要求、退出系统等最基本的功能。 1. 2解决问题的主要思路和方法 2.1关键问题 关键问题描述 2.2拟采用解决问题的方法 在此陈述解决问题的思路,准备使用的算法和数据结构等等 2.3主要算法和处理流程图 关键的数据流程图 3程序实现 3.2主要源代码及说明 #include<stdio.h> #include<stdlib.h> #include<string.h> intsave=0; structstudent/*构建结构体*/ { charnum[12]; charname[20]; charsex[4]; intCYuYan; intMath; intEnglish; intsum; intave; }; 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\t6统计学生资料\n"); printf("\t7排序学生成绩\t\t\t\t\t8保存学生成绩\n"); printf("\t9退出系统\n"); printf("********************************************************************************"); } voidPrint() { printf("--------------------------------------------------------------------------------"); } voidWrong()/*错误警告*/ { printf("\n警告:输入错误!!!\n"); } voidNofind() { printf("\n警告:没有找到该学生!!!\n"); } voidPrint1() { printf("学号\t姓名性别C语言成绩英语成绩数学成绩总分平均分\n"); } voidPrint2(Node*p)/*打印学生成绩*/ { printf("%-9s%s\t%3s\t%d\t%d\t%d\t%d\t%d\n",p->data.num,p->data.name,p->data.sex,p->data.CYuYan,p->data.Math,p->data.English,p->data.sum,p->data.ave); } Node*Locate(Linkh,charfindmess[],charnameornum[])/*定位链表中符合要求的接点*/ { Node*r; if(strcmp(nameornum,"num")==0)/*按学号查询*/ { r=h->next; while(r!=NULL) { if(strcmp(r->data.num,findmess)==0) returnr; r=r->next; } } elseif(strcmp(nameornum,"name")==0)/*按姓名查询*/ { r=h->next; while(r!=NULL) { if(strcmp(r->data.name,findmess)==0) returnr; r=r->ne

王子****青蛙
实名认证
内容提供者


最近下载