Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // http://pastebin.com/u/TheWhiteFang
- //Tutorial 2 Section B
- //
- //AmpRes.txt is pasted under C:\Users\*username*\Documents\Visual Studio 2010\Projects\*projectname*\*projectname*
- //
- #include <iostream>
- #include <stdio.h>
- using namespace std;
- struct SVoltageData
- {
- float m_Current;
- float m_Resistance;
- float m_Voltage;
- float m_CurrTotal;
- float m_RestTotal;
- float m_VoltTotal;
- };
- void ReadData(struct SVoltageData *pDataArr, int numData)
- {
- FILE *pFile = fopen("AmpRes.txt", "r"); //pointer ish pointing at 1st elemnt of file
- int i;
- for( i = 0; i < numData; i++)
- {
- fscanf(pFile, "%f%f", &pDataArr[i].m_Current, &pDataArr[i].m_Resistance ); //%f%f will read 2 float values //fscanf is reading text file
- //dot operator for struct array
- }
- fclose(pFile);
- }
- void CalcVoltage(struct SVoltageData *pDataArr, int numData, float *pOutAvgRest, float *pOutAvgCurr, float *pOutAvgVolt)
- {
- int i;
- pDataArr[0].m_RestTotal = 0; pDataArr[0].m_CurrTotal = 0; pDataArr[0].m_VoltTotal = 0;
- for( i = 0; i < numData; i++)
- {
- pDataArr[i].m_Voltage = pDataArr[i].m_Current * pDataArr[i].m_Resistance;
- pDataArr[0].m_VoltTotal = pDataArr[0].m_VoltTotal + pDataArr[i].m_Voltage;
- pDataArr[0].m_CurrTotal = pDataArr[0].m_CurrTotal + pDataArr[i].m_Current;
- pDataArr[0].m_RestTotal = pDataArr[0].m_RestTotal + pDataArr[i].m_Resistance;
- }
- //avg = pDataArr[i].m_Voltage / numData ;
- //pDataArr[0].m_RestTotal = pDataArr[0].m_RestTotal / numData;
- pOutAvgRest = &pDataArr[0].m_RestTotal;
- *pOutAvgRest = pDataArr[0].m_RestTotal / numData;
- pOutAvgCurr = &pDataArr[0].m_CurrTotal;
- *pOutAvgCurr = pDataArr[0].m_CurrTotal / numData;
- pOutAvgVolt = &pDataArr[0].m_VoltTotal;
- *pOutAvgVolt = pDataArr[0].m_VoltTotal / numData;
- //two versions. Use either one.
- //version 1:(
- //pOutAvgRest = &avg;
- // )
- //version 2:(
- // strycpy(pOutAvgRes,avg)
- // )
- }
- void PrintVoltageData(struct SVoltageData *pDataArr, int numData) //this function will create a new file to print volt, cur and resistance
- {
- FILE *pFile = fopen("VoltData.txt", "w");
- fprintf(pFile, "CURRENT:\tRESISTANCE:\tVOLTAGE:\n");
- int i;
- for(i=0; i < numData; i++)
- {
- fprintf(pFile, "\n%.2f\t\t%.2f\t\t%.2f\t\t\n", pDataArr[i].m_Current, pDataArr[i].m_Resistance ,pDataArr[i].m_Voltage);
- }
- fprintf(pFile, "\nCurrAvg: %.2f\nRestAvg: %.2f\nVoltAvg: %.2f", pDataArr[0].m_CurrTotal, pDataArr[0].m_RestTotal, pDataArr[0].m_VoltTotal);
- fclose(pFile);
- }
- int main()
- {
- struct SVoltageData arrContent[8]; // arrContent is name
- float avgR = 0; float avgC = 0; float avgV = 0;
- ReadData(arrContent, 8);//if it is an array, we do not need to put & eg:&arrContent
- CalcVoltage(arrContent, 8, &avgR, &avgC, &avgV);
- PrintVoltageData(arrContent, 8);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement