• C++primer plus第六版课后编程题答案7.9


    7.9

    #include <iostream>
    using namespace std;
    const int SLEN=30;
    struct student{
    	char fullname[SLEN];
    	char hobby[SLEN];
    	int ooplevel;
    };
    int getinfo(student pa[],int n);
    void display1(student st);
    void display2(const student *ps);
    void display3(const student pa[],int n);
    void main79()
    {
    	cout<<"Enter class size: ";
    	int class_size;
    	cin>>class_size;
    	while(cin.get()!='
    ')
    		continue;
    	student *ptr_stu=new student[class_size];
    	int entered=getinfo(ptr_stu,class_size);
    	for(int i=0;i<entered;i++)
    	{
    		display1(ptr_stu[i]);
    		display2(&ptr_stu[i]);
    	}
    	display3(ptr_stu,entered);
    	delete ptr_stu;
    	cout<<"Done
    ";
    	system("pause");
    }
    int getinfo(student pa[],int n)
    {
    	int count=0;
    	for(int i=0;i<n;i++)
    	{
    		cout<<"Please enter the fullname:";
    		cin>>pa[i].fullname;
    		cout<<"
    Please enter the hobby:";
    		cin>>pa[i].hobby;
    		cout<<"
    Please enter the ooplevel:";
    		cin>>pa[i].ooplevel;
    		count++;
    	}
    	cout<<"
    Enter end!";
    	return count;
    
    }
    
    void display1(student st)	//按值传递
    {
    	cout<<"
    display1:FullName:"<<st.fullname<<"
    hobby:"<<st.hobby
    		<<"
    ooplevel:"<<st.ooplevel<<endl;
    }
    
    void display2(const student *ps) //传递地址,引用
    {
    	cout<<"
    dispaly2:FullName:"<<ps->fullname<<"
    hobby:"<<ps->hobby
    		<<"
    ooplevel:"<<ps->ooplevel<<endl;
    
    }
    void display3(const student pa[],int n)
    {
    	cout<<"
    dispaly3:"<<endl;
    	for(int i=0;i<n;i++)
    		cout<<i<<"::FullName:"<<pa[i].fullname<<"
    hobby:"<<pa[i].hobby
    		<<"
    ooplevel:"<<pa[i].ooplevel<<endl;
    }


  • 相关阅读:
    vue Bus总线
    一百个灯泡排成一排,第一轮将所有灯泡打开;
    大数相乘 java
    最长公共子子串 java
    剑指XX游戏(六)
    C++面试出现频率最高的30道题目
    C++ 容器及选用总结
    C++中的各种容器实现原理
    求1000阶乘中最后0的个数
    n个骰子可能的点数和
  • 原文地址:https://www.cnblogs.com/qq84435/p/3664878.html
Copyright © 2020-2023  润新知