当前位置: 首页 > >

武汉科技大学C语言毕业课程设计实验报告

发布时间:

(此文档为 word 格式,下载后您可任意编辑修改!) 二○一二 ~二○一三 学年第 一 学期 电子技术学院 课程设计报告书 课程名称: 班 学 姓 级: 号: 名: C 程序课程设计 电信 DB2011 级 1102 班 XXXXXXXXX XXXX 陈彬 1 指导教师: 二○一二年 九 月 一、需求分析 1、题目二 学生成绩管理程序 任务: 自学 C 语言中相关知识, 设计出学生成绩管理程序。 要求如下所述: ? 录入学生信息,每位学生录入的信息有:姓名、学号、性别、班级、 和三门功课(数学,英语,计算机)的成绩。以文件(myfile.txt)的 形式保存每个学生的所有信息。 (实验中:假设 3 个班,每个班学生人 数不得少于 5 人) 学号 1101 1102 1103 姓名 王鹏 李燕 赵亚芳 性别 男 女 女 班级 1班 2班 3班 数学 70 68 58 英语 计算机 58 88 48 98 95 96 ? 增加学生记录,并将增加的信息以文件的(myfile.txt)的形式保存。 ? 删除学生记录,以“学号” 、 “姓名”为关键字删除记录,若要删除的 记录不存在,给出必要的提示信息; ? 统计各班级学生每门课程的班级*均分,并由高到低排序。 ? 按学号或者姓名查询记录并显示其三门功课成绩; ? 能浏览显示全部学生成绩,若无记录可以显示,给出必要的提示信息; 2、系统功能需求分析 该程序中需要有存储、读取外部文件的命令实现将信息储存于指定文 件中。 程序中需要有建立、 修改链表的命令实现数据的动态链表存储方式。 程序还需要一系列的提示命令使程序的易用性提高。因为需要对数据进行 统计或查询显示,所以需要有对链表数据统计和对链表指定数据进行查找 的功能。 二、概要设计 2 三、详细设计 1、建立结构体 struct student { int num; char name[10],sex[10]; int Class,math,english,computer; struct student * next; }; int n; 2、成绩单建立模块 Y N Y N struct student *creat(void) { struct student *=0; p1=p2=(struct student *)malloc(LEN); printf(请输入学生信息(按学号顺序输入)\n); printf(学号:); scanf(%d,&p1->num); printf(姓名:); scanf(%s,p1->name); printf(性别:); scanf(%s,p1->sex); printf(班级:); scanf(%d,&p1->Class); printf(数学:); scanf(%d,&p1->math); printf(英语:); scanf(%d,&p1->english); printf(计算机:); scanf(%d,&p1->computer); =n+1; if(n==1) ); printf(学号:);scanf(%d,&p1->num); if(p1->num==0)break; else printf(姓名:); scanf(%s,p1->name); printf(性别:); scanf(%s,p1->sex); printf(班级:); scanf(%d,&p1->Class); printf(数学:); scanf(%d,&p1->math); 3 printf(英语:); scanf(%d,&p1->english); printf(计算机:); scanf(%d,&p1->computer); } p2->next=NULL; return(++; printf(\n 增加成功!\n); return(); return(); n--; } else printf(\n 找不到该数据!\n); return(); return(); n--; } else printf(\n 找不到该数据!\n); return(); printf(\n); printf(%d %-6s %s %d %-3d %-3d %-3d\n,p->num,p ->name,p->sex,p->Class,p->math,p->english,p->computer); break; } else p=p->next; }while(p!=NULL); if(p==NULL) printf(\n 未找到相应信息!\n); } else printf(\n 成绩单为空!\n); } void find2(struct student *); printf(\n); printf(%d %-6s %s %d %-3d %-3d %-3d\n,p->num,p ->name,p->sex,p->Class,p->math,p->english,p->computer); break; } else p=p->next; }while(p!=NULL); if(p==NULL) printf(\n 未找到相应信息!\n); 4 printf(\n 成绩单为空!\n); } void print(struct student *); printf(\n); do { printf(%d %-6s %s %d %-3d %-3d %-3d\n,p->nu m,p->name,p->sex,p->Class,p->math,p->english,p->computer); p=p->next; }while(p!=NULL); } else printf(无信息!\n); } 6、数据显示模块 Y N Y N void print(struct student *); printf(\n); do { printf(%d %-6s %s %d %-3d %-3d %-3d\n,



友情链接: