UVa-537-Artificial Intelligence?

AOAPC I: Beginning Algorithm Contests (Rujia Liu) :: Volume 1. Elementary Problem Solving :: String


// 537 - Artificial Intelligence?
#include <iostream>
#include <cstdio>
#include <cstring>
#include <iomanip>
using namespace std;

void search(char* line, char* concept, double* value)
{
	char unit[10];
	char* found = strstr(line, concept);
	if(found != NULL)
		sscanf(found+2, "%lf%s", value, unit);
	switch(unit[0])
	{
		case 'm': *value *= 1e-3; break;
		case 'k': *value *= 1e3;  break;
		case 'M': *value *= 1e6;  break;
	}
}

int main(void)
{
	int i, T;
	double P, U, I;
	char line[100];

	while(cin >> T)
	{
		getchar();
		for(i=1; i<=T; i++)
		{
			P = U = I = 0;
			cin.getline(line, 100);
			search(line, "P=", &P);
			search(line, "U=", &U);
			search(line, "I=", &I);

			cout << "Problem #" << i << endl;
			if(P == 0)
				cout << fixed << setprecision(2) << "P=" << I*U << "W" << endl;
			else if(U == 0)
				cout << fixed << setprecision(2) << "U=" << P/I << "V" << endl;
			else
				cout << fixed << setprecision(2) << "I=" << P/U << "A" << endl;
			cout << endl;
		}
	}
	return 0;
}


posted @ 2014-08-22 17:11  颜威  阅读(116)  评论(0编辑  收藏  举报