当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

成都理工大学:《C++语言程序设计》实验九 结构体与共用体

资源类别:文库,文档格式:PDF,文档页数:5,文件大小:143.77KB,团购合买
一、实验目的 掌握结构体类型、共用体类型以及相应类型变量的定义方法和引用方法。 二、实验要求 1. 区别结构体类型和简单数据类型、结构体类型和共用体类型。 2. 掌握结构体类型、共用体类型以及相应类型变量的定义方法和引用。
点击下载完整版文档(PDF)

实验九结构体与共用体 、实验目的 掌握结构体类型、共用体类型以及相应类型变量的定义方法和引用方法。 实验要求 1.区别结构体类型和简单数据类型、结构体类型和共用体类型 2.掌握结构体类型、共用体类型以及相应类型变量的定义方法和引用。 3.掌握链表的建立、查找、插入和删除操作。 4.编写实验报告(九) 三、实验内容 9-1程序S9-1C是按学生姓名查询其排名和平均成绩,查询可连续进行,直到 键入0时结束。试完善程序 源程序S9-1C #include #include Ine struct student char name float struct student stu[=(3, Tom",89.5, 4,"Mary",76.5 2,"Jm",92.0}; l do printf ( "Enter a name: " 2有4名学生,每人有两门课程的考试成绩。试完善程序S9-2C,编写函数 indexd检查总分高于160分和任意一科不及格的两类学生,将结果输出到 屏幕上,并写出运行结果。 源程序S92C

1 实验九 结构体与共用体 一、实验目的 掌握结构体类型、共用体类型以及相应类型变量的定义方法和引用方法。 二、实验要求 1. 区别结构体类型和简单数据类型、结构体类型和共用体类型。 2. 掌握结构体类型、共用体类型以及相应类型变量的定义方法和引用。 3. 掌握链表的建立、查找、插入和删除操作。 4. 编写实验报告(九)。 三、实验内容 9-1 程序 S9-1.C 是按学生姓名查询其排名和平均成绩,查询可连续进行,直到 键入 0 时结束。试完善程序。 源程序 S9-1.C #include #include #define NUM 4 struct student { int rank; char * name; float score; }; struct student stu [ ]= { 3, "Tom", 89.5, 4, "Mary", 76.5 1, "Jack ",98.0 2, "Jim" ,92.0 }; main() { char str [10]; int i; do { printf ("Enter a name: "); } -2 有 4 名学生,每人有两门课程的考试成绩。试完善程序 S9-2.C,编写函数 index()检查总分高于 160 分和任意一科不及格的两类学生,将结果输出到 屏幕上,并写出运行结果。 源程序 S9-2.C

struct student ichar name[ 10] float }stu4}={"李一",1,84,82.},{"王二",2,71,73.}, "赵三",3,90,68,},{"刘四”,4,67,56}; int index(struct student* px) index(p); 9-3分析并验证程序S93C的结果 源程序S9-3C d(.a=n; n=n+2: s[4] n ss p, p=&s[0 printf("%d", p->a); printf("%d printf("n") 94程序S9-4C使用单向链表,把一个整型数组的各个元素插入到链表中,并 以升序排列。分析并给该程序添加注释,说明每个函数的功能 源程序S9-4C include(stdlib. h) t slist i int info struct slist next inta8}={3546,17,80,25,78,66,54}; struct slist* head=NULL

2 #include "stdio.h" struct student {char name[10]; int num; float score1; float score2; }stu[4]={{"李一",1,84., 82.}, {"王二", 2, 71., 73.}, {"赵三",3,90., 68.}, {"刘四", 4, 67., 56}}; main() { struct student *p; int index (struct student * px); p=stu; index(p); } 9-3 分析并验证程序 S9-3.C 的结果。 源程序 S9-3.C union ss for (i=0;ia); printf("%d",++p->a) ; printf("\n"); } 9-4 程序 S9-4.C 使用单向链表,把一个整型数组的各个元素插入到链表中,并 以升序排列。分析并给该程序添加注释,说明每个函数的功能。 源程序 S9-4.C # include (stdlib.h) struct slist { int info; struct slist * next; }; int a[8]={35,46,17,80,25,78,66,54}; struct slist * head=NULL;

void inlistO id outlast; maino struct slist node node(struct slist*)malloc(sizeof(struct slist) inlist(node, a i); void inlist(node, value) struct slist node int value if( head==NULL) ue while(cp->next!=nULL & cp->next->infonext;

3 void inlist(); void outlist(); main() { int i; struct slist * node; for (i=0; iinfo=value; if ( head= =NULL) { head=node; node->next=NULL; } else { if(cp->info>value) { head=node; node->next=cp; } else { while (cp->next!=NULL & & cp->next->infonext; node->next=cp->next; cp->next=node;

oid outlast struct slist*cp=head hile(cp! =NULL) printf("%d\n",cp->info); cp=cp->next; return 9-5程序S9-5C用于实现约瑟夫问题,试完成该程序。约瑟夫问题是十七世 纪法国的数学家斯帕在《数目的游戏问题》中讲的一个故事:15个基督 教徒和15个异教徒在海上遇险,必须将一半的人投入海中,其余的人才 能幸免于难,于是想了一个办法:30个人围成一个圆圈,从第一个人开 始依次报数,每数到第9个人就将其投入大海,如此循环进行直到剩下 15人为止。问怎样排法,才能使每次投入大海的都是异教徒。 源程序S95C #include<stdio. h #define n 3 struct node /*指向下一个人,程序中用于存放下一个人的数组元素 下标* int inout;/*用于标记该人是否被扔下海。1表示没被扔下海,0表示 被扔下海* flink maino 9-6编写程序S9-6C。其中包括如下功能 ①建立一学生成绩信息数据文件S96DAT。其中包括(不少于30人的 学号、姓名、平时成绩、期中考试成绩、期末考试成绩。从该文件中将数据 读到内存中; ②计算学期总成绩。学期总成绩是以平时成绩占30%、期中成绩占30%

4 } } return } void outlist() { struct slist * cp=head; while (cp! =NULL) { printf ("%d\n", cp->info); cp=cp->next; } return; } 9-5 程序 S9-5.C 用于实现约瑟夫问题,试完成该程序。约瑟夫问题是十七世 纪法国的数学家斯帕在《数目的游戏问题》中讲的一个故事:15 个基督 教徒和 15 个异教徒在海上遇险,必须将一半的人投入海中,其余的人才 能幸免于难,于是想了一个办法:30 个人围成一个圆圈,从第一个人开 始依次报数,每数到第 9 个人就将其投入大海,如此循环进行直到剩下 15 人为止。问怎样排法,才能使每次投入大海的都是异教徒。 源程序 S9-5.C #include #define N 31 struct node { int nextp; /* 指向下一个人,程序中用于存放下一个人的数组元素 下标 */ int inout; /* 用于标记该人是否被扔下海。1 表示没被扔下海,0 表示 被扔下海 */ }link[N]; main() { } 9-6 编写程序 S9-6.C。其中包括如下功能: ① 建立一学生成绩信息数据文件 S9-6.DAT。其中包括(不少于 30 人的) 学号、姓名、平时成绩、期中考试成绩、期末考试成绩。从该文件中将数据 读到内存中; ② 计算学期总成绩。学期总成绩是以平时成绩占 30%、期中成绩占 30%

期末成绩占40%计算得到,其中的百分比可以根据用户的需要进行调整 ③显示和输出。计算结果可由用户选择按学号或学期总成绩递减显示并 输出到文件S9-6OUT中,显示和输出的信息包括学号、姓名、平时成绩 期中考试成绩、期末考试成绩、学期总成绩,一页显示不下时,可以分页显 示 ④修改学生信息。用户可以按学号修改学生的姓名、平均成绩、期中考 试成绩、期末考试成绩中的一项或多项(没有修改的仍然保留原来的数据)。 要求 ①用结构体实现; ②文件名S9-6DAT和S9-6OUT是默认文件名,用户可以重新指定。即 用户没有指定文件名时,系统采用默认文件名,否则使用用户指定的文件名; ③输出文件是ASCI文件; ④尽量考虑界面和操作的友好性 *9-7编写程序S9-7C,模拟用户注册和登录的过程。将S8-7C改为用结构体 实现

5 期末成绩占 40%计算得到,其中的百分比可以根据用户的需要进行调整。 ③ 显示和输出。计算结果可由用户选择按学号或学期总成绩递减显示并 输出到文件 S9-6.OUT 中,显示和输出的信息包括学号、姓名、平时成绩、 期中考试成绩、期末考试成绩、学期总成绩,一页显示不下时,可以分页显 示。 ④ 修改学生信息。用户可以按学号修改学生的姓名、平均成绩、期中考 试成绩、期末考试成绩中的一项或多项(没有修改的仍然保留原来的数据)。 要求: ① 用结构体实现; ② 文件名 S9-6.DAT 和 S9-6.OUT 是默认文件名,用户可以重新指定。即 用户没有指定文件名时,系统采用默认文件名,否则使用用户指定的文件名; ③ 输出文件是 ASCII 文件; ④ 尽量考虑界面和操作的友好性。 *9-7 编写程序 S9-7.C,模拟用户注册和登录的过程。将 S8-7.C 改为用结构体 实现

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
已到末页,全文结束
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有