数据结构课程设计ppt_第1页
数据结构课程设计ppt_第2页
数据结构课程设计ppt_第3页
数据结构课程设计ppt_第4页
数据结构课程设计ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构学生成绩管理系统吴灵珊许梅琼梁春梅01问题描述问题描述02结构分析结构分析03基本操作基本操作函数函数04运行运行14计科2班 第12组 王芬岚2022-2-23A题描述 Another 定义A定义结构体数组typedefPARTBstructPARTCstuPART问基本操作函数学生成绩管理系统01020304问题描述问题描述结构分析结构分析基本操作基本操作函数函数运行运行14计科2班 第12组void StuSave(Student *); /学生成绩管理系统的存储函数,由主函数调用基本操作函数:void StuOutput(Student *p); /输出函数int StuImp

2、ort(Student *head,Student *p); /输入函数 void StuInputHand(Student *head); /学生成绩管理系统的手动输入函数,由输入函数调用void StuInputFile(Student *head); /学生成绩管理系统的文件输入函数,由输入函数调用void StuSelectErg(Student *head); /学生成绩管理系统的遍历函数,由查找函数调用void StuSelectNumFind(Student *head); /学生成绩管理系统的按学号查找函数,由查找函数调用void StuSelectSubFind(Studen

3、t *head); /学生成绩管理系统的按科目查找函数,由查找函数调用2022-2-23源程序2022-2-23#include/输入输出头文件#include#include#include#includeclass student/班级学生 private: char name20; /姓名 double cpro,english,math,sport,law,hbpro,computer;/课程 int order, number; /名次,学号 public: student() student(char n20,int nu,double cc,double eng,double m

4、a,double sp,double 2022-2-23l,double hb,double com) strcpy(name,n); number=nu; cpro=cc; english=eng;math=ma;sport=sp;law=l;hbpro=hb;computer=com; friend void main();void main() cout 欢迎进入*学生成绩管理系统*!endl; cout *endl;2022-2-23 cout * 学生成绩管理系统 *endl; cout *endl; cout *endl; cout *0、输入数据 *endl; cout *1、增

5、加数据 *endl; cout *2、修改数据 *endl; cout *3、按姓名查询 *endl; cout *4、按学号查询 *endl; cout *5、输出所有学生的成绩 *endl; cout *6、退出系统 *endl; cout *endl; cout 选择0-6数字进行操作p; if(p=0&p=6) flag=1; else cout 指令错误!请重新输入:endl;2022-2-23while(flag=0); do switch(p) /接收功能选项 case 0: /输入数据 char c;/定义一个字符型c char name20;int number;do

6、uble cpro,english,math,sport,law,hbpro,computer;/定义了一个数组,数组名为name,数组元素的个数为20定义 do coutname; coutendlnumber; 2022-2-23 coutcpro; coutendlenglish; coutendlmath; coutendlsport; coutendllaw; coutendlhbpro; coutendlcomputer;coutendl; filej=new ofstream(“D:document”,ios:ate);/这是一个输出流,向文件输出的filej=new ofstr

7、eam(“d:document”,ios:ate);进行了动态内存分配 *filej 姓名 name 学号 number C+成绩 cpro 英语成绩 english 数学成绩 math 体育成绩 sport 网络基础成绩 law C成绩 hbpro 数据库成绩 computerendl; j+; si=new student(name, number,cpro,english,math,sport,law,hbpro,computer);i+; coutc; coutendl; do 2022-2-23 if(c!=y&c!=n) cout 指令错误!请重新输入!endlc;/输入c

8、的值 else flag=1; /变量1 while(flag=0); while(c=y); break; case 1: /增加数据char name20;/定义了一个数组,数组名为name,数组元素的个数为20,分别为a0-a19;可以存放的最大字符数为20 int number;double / 2022-2-23cpro,english,math,sport,law,hbpro,computer; char c; do coutname; coutendlnumber; coutendlcpro; coutendlenglish; coutendlmath; coutendlspor

9、t; coutendllaw; coutendlhbpro; coutendlcomputer; coutendl; filej=new ofstream(d:document,ios:ate); *filej 姓名 name 学号 2022-2-23number C+成绩 cpro 英语成绩 english 数学成绩 math 体育成绩 sport 网络基础成绩 law C成绩 hbpro 数据库成绩 computerendl; j+; si=new student(name, number, cpro,english,math,sport,law,hbpro,computer); i+;

10、coutc; coutendl; if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; 2022-2-23 while(c=y); break; case 2: /修改数据 char name20;int nu;double cc,eng,ma,sp,l,hb,com;flag=0; char c; if(i=0) cout 管理系统中没有输入数据!endl;break; do 2022-2-23 coutname; coutendl; for(int h=0;hname)=0) flag=1; coutnu; coutendlcc; coutendleng; co

11、utendlma; coutendlsp; coutendll; coutendlhb; coutendlcom; coutcpro=cc; 2022-2-23 sh-english=eng; sh-math=ma; sh-sport=sp; sh-law=l; sh-hbpro=hb; sh-computer=com; sh-number=nu; cout 数据修改成功!endl; if(flag=0)/判断要修改的学生数据是否存在 cout 您要修改的学生本来就不存在!请检查重新输入!endl;2022-2-23 coutc; coutendl; if(c!=y&c!=n) cou

12、t 指令错误!请重新输入!endlc; while(c=y); break; 2022-2-23case 3: /按姓名查询 char n20;int j=0;char c; if(i=0)/学生姓名不存在的情况 cout 管理系统中没有输入数据!endl;break; do int flag=0; /学生姓名存在的情况 coutn; coutendl; for(int j=0;ji;j+) 2022-2-23 if(strcmp(n,(*sj).name)=0) flag=1; cout 您要查询的学生是:(*sj).nameendl; cout(*sj).name的成绩是: C+: (*s

13、j).cpro 英语: (*sj).english 数学:(*sj).math 体育:(*sj).sport 法律:(*sj).law C:(*sj).hbpro 数据库 (*sj).computerendl; if(flag=0) cout 对不起!您要查询的学生不存在!endl; coutc;2022-2-23coutendl; if(c!=y&c!=n) cout 指令错误!请重新输入!c; while(c=y);/输入Y表示继续按照姓名查询 break; case 4: /按学号查询 int n,j=0;char c; 2022-2-23 if(i=0)/学生数据不存在的情况c

14、out 管理系统中没有输入数据!endl;break; do int flag=0;/学生数据存在按照学生学号查询 coutn; coutendl; for(int j=0;jnumber=n) flag=1; 2022-2-23 cout 您要查询的学生是:(*sj).nameendl; cout(*sj).name的成绩是: C+:(*sj).cpro 英语:(*sj).english 数学:(*sj).math 体育:(*sj).sport 法律:(*sj).law C:(*sj).hbpro 数据库 (*sj).computerendl; if(flag=0) cout 对不起!您要查

15、询的学生不存在!endl; coutc; coutendl; if(c!=y&c!=n) cout 指令错误!请重新输入!c; 2022-2-23 while(c=y);/; /*y=x是赋值语句,表示将x的值赋值给y,那么while(y=x)可以理解为当x=0,即y=x=0时跳出循环,如果x为其它非零数,则执行循环体*/ break; case 5: /输出 cout 本系统所有学生数据如下:endl;/输出 if(i=0) cout 管理系统中没有输入数据!endl; cout 姓名 学号 c+ 英语 数学 体育 网络基础 C语言 数据库 endl; for(int k=0;ki;

16、k+) 2022-2-23 coutnamesetw(7)numbersetw(6)/*函数setw(int n)用来控制输出间隔。超出则按实际长度输出*/ (*sk).cprosetw(6)(*sk).englishsetw(6) /cpro与english间隔为6 (*sk).mathsetw(6)(*sk).sportsetw(7) (*sk).law setw(10)(*sk).hbprosetw(10)(*sk).computersetw(10)endl; break; case6:/退出 exit(0); coutBye bye!endl; /输出Bye byecoutw; ; /

17、标准输入流 相当于c的scanf coutendl; if(w!=y&w!=n) cout 指令错误!请重新输入!endl; else flag=1;while(flag=0);if(w=y)cout 请输入操作代码:0 输入数据endl;cout 1 增加数据endl;cout 2 修改数据endl;cout 3 按姓名查询endl;2022-2-23cout 4 按学号查找endl;cout 5 输出所有学生成绩endl;cout 6 退出系统p; while(w=y); cinw; coutendl; if(w!=y&w!=n) cout 指令错误!请重新输入!endl; else flag=1;while(flag=0);2022-2-23if(w=y)cout 请输入操作代码:0 输入数据endl;cout 1 增加数据endl;cout 2 修改数据endl;cout 3 按姓名查询endl;cout 4 按学号查找endl;cout 5 输出所有学生成绩endl;cout 6 退出系统p; while(w=y); cinw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论