| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 663 人关注过本帖
标题:第一次接触结构体问题,望高手指点下
只看楼主 加入收藏
冬天的一条鱼
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2009-3-3
结帖率:93.33%
收藏
已结贴  问题点数:20 回复次数:6 
第一次接触结构体问题,望高手指点下
题目:写一个程序,在程序中建立一个Date(日期)结构(年,月,日用整数表示),再建立一个Person(人员)结构(姓名和生日,生日用Date结构表示),程序中的函数FillPerson提示用户输入全部姓名和生日信息,此函数的原型为: Person FillPerson(); 再写一个函数WritePerson输入全部人员信息,日期信息中的月份的名字而不是数字,该函数的原型如下:void WritePerson(Person);
在程序中声明两个Person变量。给此变量赋值,再将它们传递给一个叫做WhoIsOlder的函数。该函数比较两个人的年龄大小,然后将较大者的年龄信息输出到屏幕上。(注意:WhoIsOlder应该调用两次WritePerson).


红色字体是我理解不了意思,不知道做什么?主要是怎么输入,一点都不清楚。我只能编到这里
#include<iostream.h>
struct Date
{
    int year;
    int month;
    int day;
};
struct Person
{
    char name[20];
    Date birthday;
};


下面就不知道怎么办了,希望高手指点下!
搜索更多相关主题的帖子: 结构体 
2009-09-24 13:26
冬天的一条鱼
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2009-3-3
收藏
得分:0 
又编了一点 ,但有问题,怎么没有第二个输入 ,哪个大虾帮我下?
#include<iostream.h>
struct Date
{
    int year;
    int month;
    int day;
};
struct Person
{
    char name[20];
    Date birthday;
 
};
int FillPerson(int Person_Date[2],char Person_name[2]);
int main()
{
   int Person_Date[2];
   char Person_name[2];
   FillPerson(Person_Date,Person_name);
}
int FillPerson(int Person_Date[2],char Person_name[2])
{   int i;
    cout<<"请输入第一个人的姓名和年龄:"<<endl;
    cin>>Person_name[1]>>Person_Date[1];
    cout<<"请输入第二个人的姓名和年龄:"<<endl;
    cin>>Person_name[2]>>Person_Date[2];
 
    cout<<Person_name[1]<<" "<<Person_Date[1]<<" ";
 
    cout<<Person_name[2]<<" "<<Person_Date[2]<<" ";
}
2009-09-24 17:02
selavie
Rank: 2
等 级:论坛游民
帖 子:57
专家分:25
注 册:2009-4-2
收藏
得分:0 
这是vc++2008编译的程序:
程序中的函数FillPerson提示用户输入全部姓名和生日信息,此函数的原型为: Person FillPerson();  这句话的意思可能是要你用类实现,我没用类 只用的结构体
// tast.cpp : 定义控制台应用程序的入口点。
//
 
#include "stdafx.h"
// 帮忙.cpp : 定义控制台应用程序的入口点。
//
 
#include <iostream>
 
#define N  2
using namespace std;
 
 
struct Date  
{  
    int year;  
    int month;  
    int day;  
};  
struct Person  
{  
    char name[20];  
    Date birthday;  
 
};
void enter(Person &person,int i);
void  WritePerson(Person);
void Who_is_old(Person,Person);
int main()  
{  
   Person person[N];
   for(int i=0;i<N;i++)
   {
       enter(person[i],i);
   }
 
   Who_is_old(person[0],person[1]);  
   
 }  
void enter(Person &person,int i)  
{   
    cout<<"请输入第 "<<i+1<<" 个人的姓名和年龄:"<<endl;  
     
    cout<<"姓名:";cin>>person.name;
    cout<<"生日:";
    cin >>person.birthday.year>>person.birthday.month
        >>person.birthday.day;
 
         
}
 
void WritePerson(Person person)
{
    cout<<"姓名"<<person.name<<endl;
    cout<<"生日"<<person.birthday.year<<" "<<person.birthday.month<<" "<<person.birthday.day<<endl;
}
 
void  Who_is_old(Person person1,Person person2)
{
   WritePerson(person1);
   WritePerson(person2);
   if(person1.birthday.year<person2.birthday.year)
   
   {cout<<"年龄较大的是"<<person1.name;}
   else  
   { cout<<"年龄较大的是"<<person2.name;}
   if(person1.birthday.year==person2.birthday.year)
   {
       if(person1.birthday.month<person2.birthday.month)
       {
           cout<<"年龄较大的是"<<person1.name;}
       else  
       {   cout<<"年龄较大的是"<<person2.name;}
     if(person1.birthday.month==person2.birthday.month)
         {
          if(person1.birthday.day<person2.birthday.day)
           {
           cout<<"年龄较大的是"<<person1.name;}
          else  
           {cout<<"年龄较大的是"<<person2.name;}
         }
   }
}
 
2009-09-24 20:58
gz81
Rank: 5Rank: 5
等 级:职业侠客
帖 子:137
专家分:369
注 册:2008-5-1
收藏
得分:0 
以下是引用selavie在2009-9-24 20:58:33的发言:

这是vc++2008编译的程序:
程序中的函数FillPerson提示用户输入全部姓名和生日信息,此函数的原型为: Person FillPerson();  这句话的意思可能是要你用类实现,我没用类 只用的结构体
// tast.cpp : 定义控制台应用 ...
助人为乐,支持。

我的空间:http://student./space.php?uid=116706
2009-09-24 21:12
冬天的一条鱼
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2009-3-3
收藏
得分:0 
回复 3楼 selavie
好人啊,我研究下,我们还没学到类,也还不懂。我看你下的代码。谢谢你啊!!
2009-09-24 23:33
selavie
Rank: 2
等 级:论坛游民
帖 子:57
专家分:25
注 册:2009-4-2
收藏
得分:20 
回复 5楼 冬天的一条鱼
不过 你只要自己自学一下类  前面的基本操作就可以自己编了。我其实也很菜  大家一起进步好了
2009-09-25 13:02
冬天的一条鱼
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2009-3-3
收藏
得分:0 
回复 6楼 selavie
好的!
2009-09-26 08:14
快速回复:第一次接触结构体问题,望高手指点下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.071863 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved