结构体程序设计(一)

原创 2012年03月22日 13:20:37

实验十  结构体程序设计(一)

一.实验目的

1. 掌握结构体的基本概念与定义方法;

2. 掌握结构体的程序设计。

二.实验环境

1. 硬件:PII以上计算机;

2. 软件:Windows、Visual C++ 6.0;

3. 其它:一张软盘或者U盘等可移动的存储设备。

三.实验内容

练习1.编写一个程序,功能如下:

⑴ 输入若干人员的姓名及电话号码(8位),以字符“#”结束输入;

⑵ 当输入姓名时,能查找出该人的电话号码(如果没有此人,则显示未找到该记录)。

运行结果示例:

练习2.编写一个程序,功能为读入一组正整数(以-1作为结束标志),将它们存储在一个动态链表中。再读入一个数m,在链表中搜索值为m的结点,输出从该结点开始直至链表结束的所有数据。此功能为可重复多次的,直至用户输入'N'结束程序。要求:程序包含2个子函数,各函数要求如下:

l         子函数1:功能为创建包括n个结点的链表并读入数据;

形式为:struct LNode *creat(void);

l         子函数2:功能为输出链表中的从m值开始的所有结点;

形式为:void print(struct LNode *head,int m);

提示:程序可根据需要设置一个全程变量n,用于计结点个数;

运行结果示例:

练习3.有4个学生,每个学生的数据包括学号、姓名、三门课的成绩,要求:

⑴ 从键盘输入4个学生的数据;

⑵ 求出每门课的平均成绩;

⑶ 求出每个学生的平均成绩。

运行结果示例:

程序主框架:

#include"iostream.h"

#include"string.h"

#define N 4

structstudent

{

      int num;

      char name[20];

      int score[3];

};

 

voidinput(struct student stu[])

{

}

 

voiddanke(struct student *p)

{

}

 

voideveryone(struct student *p)

{

}

 

void main()

{

      struct student stu[N];

      input(stu);

      danke(stu);

      everyone(stu);

}

 

练习一:

#include"iostream.h"

#include"stdio.h"

#include"string.h"

void main()

{

       structperson

       {charname[20];

        char num[8];

       }person[80];

       inti=0;

       chars[20];

       printf("输入姓名及电话号码(以#结束):\n");

       cin>>person[i].name>>person[i].num;

       for(i=1;strcmp(person[i-1].name,"#")!=0;i++)

              cin>>person[i].name>>person[i].num;

       printf("输入要查找电话人的姓名:");

       cin>>s;

       for(i=0;strcmp(person[i].name,"#")!=0;i++)

              if(strcmp(person[i].name,s)==0)break;

              if(strcmp(person[i].name,s)==0)

                     printf("电话号码:%s",person[i].num);

              elseprintf("未找到该记录。\n");

}

 

 

练习1:

#include<iostream.h>

#include<stdio.h>

#include<string.h>

#define N 100

struct person

{char name[20];

char number[10];   <——要比输入的电话号码多1,因为要有\0,否则将无法正常断行

}per[N];

void main()

{

      

       chard[20],e[]="#";

       intn=0,i;

       printf("输入姓名及电话号码(以#结束):\n");

       for(i=0;i<N;i++)

       {

              cin>>per[i].name;

              if(strcmp(e,per[i].name))

              {

                     cin>>per[i].number;

                     n++;

              }

              elsebreak;

       }

       printf("输入要查找电话人的姓名:");

       cin>>d;

       for(i=0;i<n;i++)

       {

              if(strcmp(d,per[i].name)==0)

              {cout<<"电话号码是:"<<per[i].number<<endl;

              break;}

       }

}

 

 

《C语言及程序设计》实践参考——点结构体

返回:贺老师课程教学链接【项目3-点结构体】下面定义了一个表示平面上一点的结构体类型:struct Point { float x; //横坐标 float y; //纵坐...
  • sxhelijian
  • sxhelijian
  • 2015年07月04日 12:18
  • 1286

平面点排序(结构体写法)

Ø 题目描述 平面上有n个点,坐标均为整数。请按与坐标原点(0,0)距离的远近将所有点排序输出。可以自己写排序函数,也可以用qsort库函数排序。 Ø 考核知识点 结构体的简单运用。 Ø 解题...
  • Elliot_Alderson
  • Elliot_Alderson
  • 2017年12月03日 14:59
  • 152

Java程序设计(一)

java程序设计(一)
  • zonghengxueba
  • zonghengxueba
  • 2015年10月23日 22:15
  • 265

1188: 选票统计(一)(结构体专题)

Description 1483. 某单位进行选举,有5位候选人:zhang、wang、zhao、liu、miao。编写程序,统计每人所得的票数。要求每人的信息里包括两部分:name和votes...
  • lvhaoye
  • lvhaoye
  • 2017年08月05日 15:05
  • 333

自考04747《Java语言程序设计(一)》简答题全集

自考04747《Java语言程序设计(一)》简答题全集
  • javaniuniu
  • javaniuniu
  • 2016年10月19日 10:00
  • 2544

细节决定成败(用结构体变量和结构体指针变量的指针做函数参数)

//有n个结构体变量, //内含学生学号, //姓名和3门 //课程成绩 //要求输出平均成绩最高 //的学生的信息 //包括学号,姓名, //3门课程成绩和平均成绩 #include #defi...
  • hyl52101314
  • hyl52101314
  • 2016年12月17日 16:55
  • 250

程序设计与算法 第六周测验

程序设计与算法 第六周测验
  • xiewen99
  • xiewen99
  • 2016年09月14日 11:22
  • 415

考试排名(一)(结构体专题)

1600: 考试排名(一)(结构体专题) 时间限制: 1 Sec  内存限制: 128 MB 提交: 9  解决: 3 [提交][状态][讨论版] 题目描述 今天浙大研究生复试的上机考试...
  • yanghui07216
  • yanghui07216
  • 2015年08月07日 19:18
  • 821

C++程序设计实验报告(六十五)---第十二周任务一

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2012, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:理解...
  • qdliuzhen
  • qdliuzhen
  • 2012年05月06日 16:12
  • 499

第十一周程序设计课作业解题报告

第十一周程序设计课作业解题报告 嗯.......我不知道有没有人会打我呢?因为这周的解题报告或许是字数最少了的=w= 因为都是定义题啊,就看同学们有没有好好上课了。 1000. int a...
  • CHRISTOPHE123
  • CHRISTOPHE123
  • 2015年04月12日 23:02
  • 399
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:结构体程序设计(一)
举报原因:
原因补充:

(最多只允许输入30个字)