c++note1 简单的学生信息处理程序实现
来源:互联网 发布:计算机二级考试知乎 编辑:程序博客网 时间:2024/06/04 20:35
简单的学生信息处理程序实现
来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)
注意: 总时间限制: 1000ms 内存限制: 65536kB
描述
在一个学生信息处理程序中,要求实现一个代表学生的类,并且所有成员变量都应该是私有的。
(注:评测系统无法自动判断变量是否私有。我们会在结束之后统一对作业进行检查,请同学们严格按照题目要求完成,否则可能会影响作业成绩。)
输入
姓名,年龄,学号,第一学年平均成绩,第二学年平均成绩,第三学年平均成绩, 第四学年平均成绩。其中姓名、学号为字符串,不含空格和逗号;年龄为正整数;成绩为非负整数。各部分内容之间均用单个英文逗号”,”隔开,无多余空格。输出一行,按顺序输出:姓名,年龄,学号,四年平均成绩(向下取整)。
各部分内容之间均用单个英文逗号”,”隔开,无多余空格。
样例输入
Tom,18,7817,80,80,90,70
样例输出
Tom,18,7817,80
习题来源:http://cxsjsxmooc.openjudge.cn/test/C/
实现代码如下:
#include "stdafx.h"#include<iostream>#include <stdlib.h>#include <string.h>using namespace std;class StuInfo{private: char *pname = new char(sizeof(char)), *pnum = new char(sizeof(char)); int age, gra1, gra2, gra3, gra4; int average;public: StuInfo() { } ~StuInfo() { delete(pname); delete(pnum); } int get_average(int a[],int cout); char get_name(char a); char get_num(char a); int get_ingre(char *a);};int main(){ char *na = new char(sizeof(char)), *n = new char(sizeof(char)), a[7][15] = {0}; int age,g, gra[4] = {0}; StuInfo A; int i = 0; for (i = 0; i < 6; i++) cin.getline(a[i], 15, ','); cin.getline(a[i], 5); na = a[0]; n = a[1]; age = A.get_ingre(a[2]); for (i = 0; i < 4; i++) { gra[i] = A.get_ingre(a[3+i]); } g = A.get_average(gra,i); cout << na << ',' << n <<',' << age << ',' << g << endl; delete(na); delete(n); system("pause"); return 0;}char StuInfo::get_num(char a){ return a;}char StuInfo::get_name(char a){ return a;}int StuInfo::get_ingre(char a[]){ return atoi(a);}int StuInfo::get_average(int a[],int cout){ int i; float average = 0; for (i = 0; i < cout; i++) { average += a[i]; } return floor(average / cout);}
注释:
common:
private: 私有元素,内部对象函数才可使用。StuInfo()与~StuInfo(): 分别为构造函数和析构函数。可用于类对象的初始化和类对象的结束解析。"::": 作用域运算符。表示该函数被声明在类A的作用域内。
getline:
basic_istream& getline( char_type* s, std::streamsize count ); (1) basic_istream& getline( char_type* s, std::streamsize count, char_type delim ); (2) s - pointer to the character string to store the characters to count - size of character string pointed to by s delim - delimiting character to stop the extraction at. It is extracted but not stored.
int atoi( const char *str );
Interprets an integer value in a byte string pointed to by strstr - pointer to the null-terminated byte string to be interpreted
double floor( double arg );
Computes the largest integer value not greater than arg.arg - floating point value
void* operator new ( std::size_t count ); (1)
void* operator new[]( std::size_t count ); (2)
(1) Called by non-array new-expressions to allocate storage required for a single object. The standard library implementation allocates count bytes from free store. In case of failure, the standard library implementation calls the function pointer returned by std::get_new_handler and repeats allocation attempts until new handler does not return or becomes a null pointer, at which time it throws std::bad_alloc. This function is required to return a pointer suitably aligned to hold an object of any fundamental alignment.(2) Called by the array form of new[]-expressions to allocate all storage required for an array (including possible new-expression overhead). The standard library implementation calls version (1)count - number of bytes to allocate
void operator delete ( void* ptr ); (1)
void operator delete[]( void* ptr ); (2)
1) Called by delete-expressions to deallocate storage previously allocated for a single object. The behavior of the standard library implementation of this function is undefined unless ptr is a null pointer or is a pointer previously obtained from the standard library implementation of operator new(size_t) or operator new(size_t, std::nothrow_t).2) Called by delete[]-expressions to deallocate storage previously allocated for an array of objects. The behavior of the standard library implementation of this function is undefined unless ptr is a null pointer or is a pointer previously obtained from the standard library implementation of operator new[](size_t) or operator new[](size_t, std::nothrow_t).ptr - pointer to a memory block to deallocate or a null pointer
阅读全文
0 0
- c++note1 简单的学生信息处理程序实现
- 简单的学生信息处理程序实现
- 简单的学生信息处理程序实现
- 简单的学生信息处理程序实现
- 简单的学生信息处理程序实现
- 简单的学生信息处理程序实现(C++程序设计第2周)
- 编程作业 简单的学生信息处理程序实现[北京大学C++课程]
- 简单的学生信息处理程序实现(C++程序设计第2周)
- 简单的学生信息处理程序实现 (Coursera 程序设计与算法 专项课程3 C++程序设计 郭炜、刘家瑛;OpenJudge)
- Note1 简单的oracle操作
- 005:编程填空:学生信息处理程序
- C程序简单学生成绩管理系统
- C实现的一个简单的学生成绩管理系统
- 简单的学生统计程序
- c语言实现的简单学生管理系统
- <C++>简单的学生成绩管理系统
- 学生信息系统的c程序
- 学生信息系统简单实现C语言
- Hadoop集群搭建
- JAVA的不可变类(immutable)机制与String的不可变性
- Ubuntu14.04 安装pip
- Lintcode172 Remove Element solution 题解
- hibernate的三种查询方式
- c++note1 简单的学生信息处理程序实现
- java.lang.UnsupportedClassVersionError: com/mysql/cj/jdbc/Driver报错
- ubuntu的apt-get install的默认安装路径
- 实现一个线程安全和非线程安全的程序计数器
- 顺序三角恋
- etcdctl exec-watch 命令使用介绍
- 超实用学习必备搜索技能,教你如何用好搜索引擎!
- Scala 之抽象、继承与特质(七)
- E:Encountered a section with no Package: header