zoukankan      html  css  js  c++  java
  • 函数:函数操作结构体通过按值传递以及按址传递,使用动态内存

    struct student{
    	char fullname[SLEN];
    	char hobby[SLEN];
    	short age;
    };

    使用动态内存创建此结构数组,使用函数进行输入,输出,显示的操作。

    #include <iostream>
    
    const size_t SLEN = 30;
    struct student{
    	char fullname[SLEN];
    	char hobby[SLEN];
    	short age;
    };
    
    size_t getinfo(student pa[], const size_t n);
    void display1(student st);
    void display2(const student *ps);
    void display3(const student pa[], size_t n);
    
    int main(void)
    {
    	using std::cin;
    	using std::cout;
    	
    	cout << "Enter class size: ";
    	size_t class_size;
    	cin >> class_size;
    	
    	while(cin.get() not_eq'
    ') continue;
    	
    	student *ptr_stu=new student[class_size];
    	size_t entered = getinfo(ptr_stu, class_size);
    	for(size_t i=0; i<entered; i++)
    	{
    		display1(ptr_stu[i]);
    		display2(&ptr_stu[i]);
    	}
    	display3(ptr_stu, entered);
    	cout << "Done
    ";
    	
    	delete []ptr_stu;
    	
    	return 0;
    }
    
    size_t getinfo(student pa[],const size_t n)
    {
    	using std::cin;
    	using std::cout;
    	size_t i=0;
    	
    	cout << "Input datas to array(EOF to quit)
    ";
    
    	while((cin.eof()not_eq true) and (i < n))
    	{
    		student temp;
    		cout << "Enter the student name:";
    		cin.getline(temp.fullname, SLEN);
    		cout << "Enter the student hobby:";
    		cin.getline(temp.hobby, SLEN);
    		cout << "Enter the student age:";
    		cin >> temp.age; cin.get();
    		
    		if(not cin.eof())
    		{
    			pa[i++]=temp;
    			cout << "
    next";
    		}
    	}
    	return i;
    }
    void display1(student st)
    {
    	std::cout << "
    student_name:" << st.fullname << std::endl 
    	          << "student_hobby:"  <<st.hobby     << std::endl
    		      << "student_age:"    <<st.age       << std::endl;
    }
    void display2(const student *ps)
    {
    	std::cout << "
    student_name:" << ps->fullname << std::endl 
    	          << "student_hobby:"  << ps->hobby    << std::endl
    		      << "student_age:"    << ps->age      << std::endl;
    }
    void display3(const student pa[], size_t n)
    {
    	for(size_t i=0; i<n; i++)
    	{
    		std::cout << "
    student_name:" << pa[i].fullname <<std::endl 
    	              << "student_hobby:"  << pa[i].hobby    <<std::endl
    		          << "student_age:"    << pa[i].age      <<std::endl;
    	}
    }


  • 相关阅读:
    寒假自学1.18
    寒假自学笔记1.17
    寒假自学1.16
    寒假自学1.15
    寒假自学1.14
    寒假自学1.13
    寒假自学1.12
    CSS position 属性
    node 获取客户端请求 服务器响应客户端 页面显示客户端想要的格式
    使用 npm 安 装node_modules 总是提示报错
  • 原文地址:https://www.cnblogs.com/WALLACE-S-BOOK/p/9732350.html
Copyright © 2011-2022 走看看