编程填空:学生信息处理程序

疯了,为什么会wrong answer

#include <iostream>
#include <string>
#include <cstdio>
#include <cstring>
#include <sstream>
#include <cstdlib>
using namespace std;

class Student {
private:
	char name[20];
	int age;
	int id;
	int score[5];
	double avgval;
public:
	Student()
	{
		age=20;
		id=0;
		score[0]=0;
		score[1]=0;
		score[2]=0;
		score[3]=0;
		score[4]=0;
		avgval=0.0;
	}
	void input()
	{
		char cinputs[200];
		cin.getline(cinputs,200);
		int i=0,ipos=0,j=0,ibeg=0;
		bool blflag=false;
		while(cinputs[i]!='\0')
		{
			if(cinputs[i]==',')
			{
				ipos++;
				blflag=true;
			}
			if(ipos==1&&blflag)//姓名
			{
				for(j=0;j<i;j++)
				{
					name[j]=cinputs[j];
				}
				name[j]='\0';
				ibeg=i+1;
				blflag=false;
			}
			else if(ipos==2&&blflag)//年龄
			{
				char cage[10];
				for(j=ibeg;j<i;j++)
				{
					cage[j-ibeg]=cinputs[j];
				}
				age=atoi(cage);
				//sscanf(cage,"%d",&age);
				ibeg=i+1;
				blflag=false;
			}
			else if(ipos==3&&blflag)//学号
			{
				char cid[10];
				for(j=ibeg;j<i;j++)
				{
					cid[j-ibeg]=cinputs[j];
				}
				id=atoi(cid);
				ibeg=i+1;
				blflag=false;
			}
			else if(ipos==4&&blflag)//成绩1
			{
				char cscore[10];
				for(j=ibeg;j<i;j++)
				{
					cscore[j-ibeg]=cinputs[j];
				}
				score[0]=atoi(cscore);
				ibeg=i+1;
				blflag=false;
			}
			else if(ipos==5&&blflag)//成绩2
			{
				char cscore[10];
				for(j=ibeg;j<i;j++)
				{
					cscore[j-ibeg]=cinputs[j];
				}
				score[1]=atoi(cscore);
				ibeg=i+1;
				blflag=false;
			}
			else if(ipos==6&&blflag)//成绩3
			{
				char cscore[10];
				for(j=ibeg;j<i;j++)
				{
					cscore[j-ibeg]=cinputs[j];
				}
				score[2]=atoi(cscore);
				ibeg=i+1;
				blflag=false;
			}
			i++;
		}
		//成绩4
		char cscore[10];
		for(j=ibeg;j<i;j++)
		{
			cscore[j-ibeg]=cinputs[j];
		}
		score[3]=atoi(cscore);
	}

	void calculate()
	{
		avgval=(score[0]+score[1]+score[2]+score[3])/4.0;
	}

	void output()
	{
		cout<<name<<","<<age<<","<<id<<","<<avgval<<endl;
	}
};

int main() {
	Student student;        // 定义类的对象
	student.input();        // 输入数据
	student.calculate();    // 计算平均成绩
	student.output();       // 输出数据
}

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页