结构体编程.doc_第1页
结构体编程.doc_第2页
结构体编程.doc_第3页
结构体编程.doc_第4页
全文预览已结束

下载本文档

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

文档简介

完成以下功能:数据的录入、显示,链表的创建,插入数据,删除数据。每个功能用一个函数来实现。 1)定义家庭住址结构体adress,包含成员有:省份、城市、街道;定义成绩结构体score,包含成员有:“C程序设计”、“Java程序设计”、“Basic成绩设计”的成绩;再定义学生结构体student,包含的成员有:学号、姓名、性别、成绩、家庭住址、下一个结点指针,其中成绩类型定义为score类型的结构体,家庭住址的类型定义为adress结构体。下一个结点指针的类型定义为学生结构体。2)定义头结点的结构体head,其成员为指向学生结构体的指针。3)插入数据时学号要按照升序排列。#include#include#include#include/*结构体定义*/typedef struct STUDENTchar studentNumber10;/*学号*/char studentName20;/*姓名*/char className20;/*班级*/float mark1;/*数学成绩*/float mark2;/*英语成绩*/float mark3;/*语文成绩*/struct STUDENT *next;STUDENT;STUDENT *headLink;/*链表表头指针*/*函数功能声明*/void ReadInfoFormFile(void);void DisplayMenu(void);void CreateHeadLink(void);STUDENT *MallocNode(void);void GetInformation(STUDENT *t);void OutputInformation(void);void DisplayInfoBystudentName(void);void DisplayOneNode(STUDENT *t);void InsertOneNode(STUDENT *t);void DeleteNodeBystudentNumber(void);void ChangeMarkByNumber(void);void SaveLinkToFile(void);void DisplayMarkSegment(void);void DisplayMaths(void);void DisplayEnglish(void);void DisplayChinese(void);int choose;/*用户选择功能*/*主函数*/void main()printf(|-Welcome to students DATABASE-|n);printf(| |n);printf(|-Please Press the Functional Order as Follows-|n);printf(|1 按班级输出学生成绩单 2 按姓名查询 |n);printf(|3 增加学生 4 删除学生 |n);printf(|5 统计学生总数 6 按学号修改学生成绩 |n);printf(|7 显示数学课程平均分,最高分和最低分 |n);printf(|8 显示英语课程平均分,最高分和最低分 |n);printf(|9 显示语文课程平均分,最高分和最低分 |n);printf(|10 保存并退出 |n);printf(|-|n);CreateHeadLink();ReadInfoFormFile();DisplayMenu();/*函数功能:从文件中读学生信息到链表中*/void ReadInfoFormFile(void)FILE *fp;STUDENT *p;fp=fopen(student.txt,r);if(!fp)printf(文件不存在n);return;p=MallocNode();while(fscanf(fp,%s%s%s%f%f%f,p-studentNumber,p-studentName,p-className,&(p-mark1),&(p-mark2),&(p-mark3)0)InsertOneNode(p);p=MallocNode();fclose(fp);/*函数功能:显示菜单,根据用户的输入完成相应的功能*/void DisplayMenu(void)STUDENT *p; printf(n请输入指令,如需退出,请输入10并按下回车,谢谢使用(o)/n);printf(tttttttt指令:);scanf(%d,&choose);/*取得用户对功能选择*/printf(nn);switch(choose)case 1:OutputInformation();/*显示所有学生的信息*/break;case 2:DisplayInfoBystudentName();/*按姓名查询学生信息*/break;case 3:p=MallocNode();/*先申请一个新的结点*/GetInformation(p);/*要求用户输入信息到新结点中*/InsertOneNode(p);/*将新结点加到链表中*/break;case 4:DeleteNodeBystudentNumber();/*根据用户输入的学号删除学生*/break;case 5:DisplayMarkSegment();/*统计学生总数*/break;case 6:ChangeMarkByNumber();/*根据输入学号修改学生成绩*/break;case 7:DisplayMaths();/*显示数学平均分,最高分最低分*/break;case 8:DisplayEnglish();/*显示英语平均分,最高分最低分*/break;case 9:DisplayChi

温馨提示

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

最新文档

评论

0/150

提交评论