1.golf.h
#include"stdafx.h"
const int Len=40;
struct golf
{
char fullname[Len];
int handicap;
};
void setgolf(golf &g,const char*name,int hc);
int setgolf(golf &g);
void handicap(golf &g,int hc);
void showgolf(const golf &g);golf.cpp
#include"stdafx.h"
#include"golf.h"
#include<iostream>
using namespace std;
void setgolf(golf &g,const char*name,int hc)
{
strcpy(g.fullname,name);
g.handicap=hc;
}
int setgolf(golf &g)
{
cout<<"Please enter the name: ";
cin.getline(g.fullname,40);
if(strlen(g.fullname)==0)
return 0;
else
cout<<"Please enter the handicap: ";
cin>>g.handicap;
return 1;
}
void handicap(golf &g,int hc)
{
g.handicap=hc;
}
void showgolf(const golf &g)
{
cout<<"the name is : "<<g.fullname<<endl;
cout<<"the handicap is : "<<g.handicap<<endl<<endl<<endl;
}main.cpp
#include "stdafx.h"
#include<iostream>
#include <string>
#include<cctype>
#include "golf.h"
using namespace std;
int main()
{
golf ann;
setgolf(ann,"Ann Birdfree",24);
showgolf(ann);
handicap(ann,26);
showgolf(ann);
int i=0;
golf gf[5] ;
int test=setgolf(gf[i]);
while((test==1)&&(i<4))
{
i++;
cin.get();
test=setgolf(gf[i]);
}
for(int j=0;j<=i;j++)
{
cout<<"the "<<j+1<<" is : "<<endl;
showgolf(gf[j]);
cout<<endl;
}
cout<<"Bye!\n";
system("pause");
return 0;
}
2.
#include "stdafx.h"
#include<iostream>
#include <string>
#include<cctype>
using namespace std;
void strcount(const string & str);
const int ArSize =10;
int main()
{
string input;
cout<<"Enter a line:\n";
getline(cin,input);
while(input!="")
{
strcount(input);
cout<<"Enter next line(empty line to quit):\n";
getline(cin,input);
}
cout<<"Bye\n";
system("pause");
return 0;
}
void strcount(const string &str)
{
static int total = 0;
int count =str.length();
int n=str.length();
for(int i=0;i<n;i++)
{
if(str[i]==' ')
count--;
}
total+=count;
cout<<count<<"characters\n";
cout<<total<<"characters total \n";
}3.
#include "stdafx.h"
#include<iostream>
#include <string>
#include<cctype>
using namespace std;
struct chaff
{
char dross[20];
int slag;
};
char buffer1[50];
int main()
{
chaff *p1;
p1=new(buffer1)chaff[2];
strcpy(p1->dross,"test1");
p1->slag=10;
cout<<p1->dross<<" is at "<<&(p1->dross)<<" "<<p1->slag<<" at "<<&(p1->slag)<<endl;
p1++;
strcpy(p1->dross,"test2");
p1->slag=20;
cout<<p1->dross<<" is at "<<&(p1->dross)<<" "<<p1->slag<<" at "<<&(p1->slag)<<endl;
system("pause");
return 0;
}4.
t1.h
#include"stdafx.h"
namespace SALES
{
const int QUARTERS =4;
struct Sales
{
double sales[QUARTERS];
double average;
double max;
double min;
};
void setSales(Sales & s,const double ar[],int n);
void setSales(Sales & s);
void showSales(const Sales & s);
}t1.cpp
#include"stdafx.h"
#include"t1.h"
#include<iostream>
namespace SALES
{
void setSales(Sales & s,const double ar[],int n)
{
double sum=0,max=ar[0],min=ar[0];
for(int i=0;i<n;i++)
{
s.sales[i]=ar[i];
sum=sum+s.sales[i];
if(s.sales[i]>max)
max=s.sales[i];
if(s.sales[i]<min)
min =s.sales[i];
}
s.average=sum/n;
s.max=max;
s.min=min;
}
void setSales(Sales & s)
{
double sum=0;
for(int i=0;i<4;i++)
{
std::cout<<"Plesae enter the number:";
std::cin>>s.sales[i];
sum=sum+s.sales[i];
}
double max=s.sales[0],min=s.sales[0];
for(int i=0;i<4;i++)
{
if(s.sales[i]>max)
max=s.sales[i];
if(s.sales[i]<min)
min =s.sales[i];
}
s.average=sum/4;
s.max=max;
s.min=min;
}
void showSales(const Sales & s)
{
int n =sizeof(s.sales)/8;
std::cout<<"The sales of Sales is :";
for(int i=0;i<n;i++)
std::cout<<s.sales[i]<<" ";
std::cout <<std::endl;
std::cout<<"The average of Sales is :"<<s.average<<std::endl;
std::cout<<"The max of Sales is :"<<s.max<<std::endl;
std::cout<<"The min of Sales is :"<<s.min<<std::endl;
}
}main.cpp
#include "stdafx.h"
#include<iostream>
#include <string>
#include<cctype>
#include"t1.h"
int main()
{
using namespace SALES;
Sales s1;
double st[4]={3.08,2.01,10.234,1.097};
setSales(s1,st,3);
showSales(s1);
Sales s2;
setSales(s2);
showSales(s2);
system("pause");
return 0;
}
本文通过几个C++程序实例介绍了结构体的定义与使用,包括高尔夫球员信息管理、字符串统计、复合数据类型应用及销售数据处理等功能,展示了结构体在不同场景中的运用。

1037

被折叠的 条评论
为什么被折叠?



