Guest User

Arrays with Pointers!

a guest
Aug 8th, 2012
328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 14.85 KB | None | 0 0
  1. [code]
  2. //Resistor.h
  3.  
  4.  
  5. #ifndef RESISTOR_H
  6.  
  7. #define RESISTOR_H
  8.  
  9. enum resistorValues{NOMINAL,TOLERANCE,MAX,MIN};
  10.  
  11. class Resistor {
  12.  
  13. private:
  14.  
  15.             static int ResCounter;
  16.  
  17.             double* ptrRes;
  18.  
  19.             char* ResName;
  20.  
  21. public:
  22.  
  23.             Resistor();//default constructor
  24.  
  25.             //argument constructor
  26.  
  27.             Resistor(const string, double nominalResistance, double Tolerance);
  28.  
  29.             //fuction getName
  30.  
  31.             void getName();
  32.  
  33.             //to display
  34.  
  35.             void DisplayResistor(void);
  36.  
  37.             //
  38.  
  39.             void EnterResistance(void);
  40.  
  41.             ~Resistor();
  42.  
  43. };
  44. #endif
  45. [/code]
  46. [code]
  47. // Resistor.cpp
  48. // Programmer Wendell Riggins
  49. // 07/23/2012
  50.  
  51. #include "Resistor.h"
  52. #include <iostream>
  53. #include <iomanip>
  54. using namespace std;
  55.  
  56. int Resistor::ResCounter = 0;
  57.  
  58. Resistor::Resistor()
  59.  
  60. {
  61.  
  62.             ptrRes=new double[4];
  63.  
  64.              //default values
  65.  
  66.             ptrRes[NOMINAL]=1000;
  67.  
  68.             ptrRes[TOLERANCE]=.10;
  69.  
  70.              //calculate min and max values
  71.  
  72.             ptrRes[MIN]=ptrRes[NOMINAL]-(ptrRes[NOMINAL] * ptrRes[TOLERANCE]);
  73.  
  74.             ptrRes[MAX]=ptrRes[NOMINAL]+(ptrRes[NOMINAL] * ptrRes[TOLERANCE]);
  75.  
  76.             ResName = NULL;
  77.  
  78.              Resistor::ResCounter++;
  79.  
  80. }
  81.  
  82. Resistor::Resistor(const string&,double nominalResistance,double Tolerance)
  83.  
  84. {
  85.  
  86.             ptrRes=new double[4];
  87.  
  88.              //default values
  89.  
  90.             ptrRes[NOMINAL]=nominalResistance;
  91.  
  92.             ptrRes[TOLERANCE]=Tolerance;
  93.  
  94.              //calculate min and max values
  95.  
  96.             ptrRes[MIN]=ptrRes[NOMINAL]-(ptrRes[NOMINAL] * ptrRes[TOLERANCE]);
  97.  
  98.             ptrRes[MAX]=ptrRes[NOMINAL]+(ptrRes[NOMINAL] * ptrRes[TOLERANCE]);
  99.  
  100.              //Resistors Name
  101.  
  102.             int length=(int)name.length();
  103.  
  104.             ResName=new char[length+ 1];
  105.  
  106.             strcpy_s(ResName,length+1,name.c_str());
  107.  
  108.              //Increments number of resistor objects that exist
  109.  
  110.             Resistor::ResCounter++;
  111.  
  112. }
  113.  
  114. Resistor::~Resistor()
  115.  
  116. {
  117.  
  118.             delete[]ptrRes;
  119.  
  120.             delete[]ResName;
  121.  
  122.             ptrRes=NULL;
  123.  
  124.             ResName=NULL;
  125.  
  126.             Resistor::ResCounter--;
  127.  
  128. }
  129.  
  130. void Resistor::getName()
  131.  
  132. {
  133.  
  134.             string Name;
  135.  
  136.             cout<<"Enter resistors name: ";
  137.  
  138.             cin >> Name;
  139.  
  140.             int length=(int)Name.length();
  141.  
  142.             if(ResName)
  143.  
  144.             {
  145.  
  146.                         delete[] ResName;
  147.  
  148.         ResName=NULL;
  149.  
  150.             }
  151.  
  152.            
  153.  
  154.             ResName=new char[length+ 1];
  155.  
  156.             strcpy_s(ResName,length+1,Name.c_str());
  157.  
  158. }
  159.  
  160. void Resistor::DisplayResistor ()
  161.  
  162. {
  163.  
  164. //Displays all Resistor object data members
  165.  
  166.             //sets the output parameters
  167.  
  168.             cout << setprecision(2);
  169.  
  170.             cout << fixed << showpoint;
  171.  
  172.              //displays the output
  173.  
  174.             cout << "\n\n";
  175.  
  176.             cout << setprecision(5) << fixed << showpoint << setfill(' ');
  177.  
  178.             cout << "Values for " << *ResName << " are:\n";
  179.  
  180.             cout << left  << setw(25) << "Resistor Nominal Value = "
  181.  
  182.                            << right << setw(10) <<  ptrRes[NOMINAL] << "\n";
  183.  
  184.             cout << left  << setw(25) << "ohms Resistor Tolerance = "
  185.  
  186.                            << right << setw(10) <<  (100*ptrRes[TOLERANCE]) <<"%"<< "\n";
  187.  
  188.             cout << left  << setw(25) << "Minimum Resistance = "
  189.  
  190.                            << right << setw(10) << ptrRes[MIN] <<" ohms"<< "\n";
  191.  
  192.             cout << left  << setw(25) << "Maximum Resistance = "
  193.  
  194.                            << right << setw(10) << ptrRes[MAX] <<" ohms" <<"\n";
  195.  
  196. }
  197. [/code]
  198. [code]
  199. //Filename:  ResistorMain.cpp
  200. //Description: Contains CResistor class test function
  201. //Class:  COMP 220
  202. //Student Name:  Wendell Riggins
  203.  
  204. //main .cpp
  205.  
  206. #include <iostream>
  207.  
  208. #include <iomanip>
  209.  
  210. #include <string>
  211.  
  212. #include "Resistor.h"
  213.  
  214.  using namespace std;
  215.  
  216.  int main()
  217.  
  218. {
  219.  
  220.             //creating object for resistor
  221.  
  222.             Resistor resistor;
  223.  
  224.             //calling getname function
  225.  
  226.             resistor.getName();
  227.  
  228.             //displying resistor
  229.  
  230.             resistor.DisplayResistor();
  231.  
  232.             system("pause");
  233.  
  234.             return 0;
  235.  
  236. }
  237. [/code]
  238. [code]
  239. 1>------ Build started: Project: Lab5_Pointers, Configuration: Debug Win32 ------
  240. 1>Build started 8/8/2012 7:00:12 PM.
  241. 1>InitializeBuildStatus:
  242. 1>  Touching "Debug\Lab5_Pointers.unsuccessfulbuild".
  243. 1>ClCompile:
  244. 1>  ResistorMain.cpp
  245. 1>c:\users\lauren\documents\visual studio 2010\projects\lab5_pointers\lab5_pointers\resistor.h(30): error C2380: type(s) preceding 'Resistor' (constructor with return type, or illegal redefinition of current class-name?)
  246. 1>c:\users\lauren\documents\visual studio 2010\projects\lab5_pointers\lab5_pointers\resistor.h(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  247. 1>  Resistor.cpp
  248. 1>c:\users\lauren\documents\visual studio 2010\projects\lab5_pointers\lab5_pointers\resistor.h(30): error C2380: type(s) preceding 'Resistor' (constructor with return type, or illegal redefinition of current class-name?)
  249. 1>c:\users\lauren\documents\visual studio 2010\projects\lab5_pointers\lab5_pointers\resistor.h(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  250. 1>c:\users\lauren\documents\visual studio 2010\projects\lab5_pointers\lab5_pointers\resistor.cpp(38): error C2511: 'Resistor::Resistor(const std::string &,double,double)' : overloaded member function not found in 'Resistor'
  251. 1>          c:\users\lauren\documents\visual studio 2010\projects\lab5_pointers\lab5_pointers\resistor.h(14) : see declaration of 'Resistor'
  252. 1>c:\users\lauren\documents\visual studio 2010\projects\lab5_pointers\lab5_pointers\resistor.cpp(92): error C2678: binary '>>' : no operator found which takes a left-hand operand of type 'std::istream' (or there is no acceptable conversion)
  253. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(1053): could be 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,signed char *)'
  254. 1>          with
  255. 1>          [
  256. 1>              _Elem=char,
  257. 1>              _Traits=std::char_traits<char>
  258. 1>          ]
  259. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(1060): or       'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,signed char &)'
  260. 1>          with
  261. 1>          [
  262. 1>              _Elem=char,
  263. 1>              _Traits=std::char_traits<char>
  264. 1>          ]
  265. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(1067): or       'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,unsigned char *)'
  266. 1>          with
  267. 1>          [
  268. 1>              _Elem=char,
  269. 1>              _Traits=std::char_traits<char>
  270. 1>          ]
  271. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(1074): or       'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,unsigned char &)'
  272. 1>          with
  273. 1>          [
  274. 1>              _Elem=char,
  275. 1>              _Traits=std::char_traits<char>
  276. 1>          ]
  277. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(1097): or       'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char *)'
  278. 1>          with
  279. 1>          [
  280. 1>              _Elem=char,
  281. 1>              _Traits=std::char_traits<char>
  282. 1>          ]
  283. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(1104): or       'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char &)'
  284. 1>          with
  285. 1>          [
  286. 1>              _Elem=char,
  287. 1>              _Traits=std::char_traits<char>
  288. 1>          ]
  289. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(1111): or       'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char *)'
  290. 1>          with
  291. 1>          [
  292. 1>              _Elem=char,
  293. 1>              _Traits=std::char_traits<char>
  294. 1>          ]
  295. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(1118): or       'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char &)'
  296. 1>          with
  297. 1>          [
  298. 1>              _Elem=char,
  299. 1>              _Traits=std::char_traits<char>
  300. 1>          ]
  301. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(1128): or       'std::basic_istream<_Elem,_Traits> &std::operator >><char,std::char_traits<char>,std::string>(std::basic_istream<_Elem,_Traits> &&,_Ty &)'
  302. 1>          with
  303. 1>          [
  304. 1>              _Elem=char,
  305. 1>              _Traits=std::char_traits<char>,
  306. 1>              _Ty=std::string
  307. 1>          ]
  308. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(179): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_istream<_Elem,_Traits> &(__cdecl *)(std::basic_istream<_Elem,_Traits> &))'
  309. 1>          with
  310. 1>          [
  311. 1>              _Elem=char,
  312. 1>              _Traits=std::char_traits<char>
  313. 1>          ]
  314. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(185): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))'
  315. 1>          with
  316. 1>          [
  317. 1>              _Elem=char,
  318. 1>              _Traits=std::char_traits<char>
  319. 1>          ]
  320. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(192): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::ios_base &(__cdecl *)(std::ios_base &))'
  321. 1>          with
  322. 1>          [
  323. 1>              _Elem=char,
  324. 1>              _Traits=std::char_traits<char>
  325. 1>          ]
  326. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(199): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::_Bool &)'
  327. 1>          with
  328. 1>          [
  329. 1>              _Elem=char,
  330. 1>              _Traits=std::char_traits<char>
  331. 1>          ]
  332. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(218): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(short &)'
  333. 1>          with
  334. 1>          [
  335. 1>              _Elem=char,
  336. 1>              _Traits=std::char_traits<char>
  337. 1>          ]
  338. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(253): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned short &)'
  339. 1>          with
  340. 1>          [
  341. 1>              _Elem=char,
  342. 1>              _Traits=std::char_traits<char>
  343. 1>          ]
  344. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(272): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(int &)'
  345. 1>          with
  346. 1>          [
  347. 1>              _Elem=char,
  348. 1>              _Traits=std::char_traits<char>
  349. 1>          ]
  350. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(298): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned int &)'
  351. 1>          with
  352. 1>          [
  353. 1>              _Elem=char,
  354. 1>              _Traits=std::char_traits<char>
  355. 1>          ]
  356. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(316): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long &)'
  357. 1>          with
  358. 1>          [
  359. 1>              _Elem=char,
  360. 1>              _Traits=std::char_traits<char>
  361. 1>          ]
  362. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(334): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned long &)'
  363. 1>          with
  364. 1>          [
  365. 1>              _Elem=char,
  366. 1>              _Traits=std::char_traits<char>
  367. 1>          ]
  368. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(354): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(__int64 &)'
  369. 1>          with
  370. 1>          [
  371. 1>              _Elem=char,
  372. 1>              _Traits=std::char_traits<char>
  373. 1>          ]
  374. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(373): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned __int64 &)'
  375. 1>          with
  376. 1>          [
  377. 1>              _Elem=char,
  378. 1>              _Traits=std::char_traits<char>
  379. 1>          ]
  380. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(392): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(float &)'
  381. 1>          with
  382. 1>          [
  383. 1>              _Elem=char,
  384. 1>              _Traits=std::char_traits<char>
  385. 1>          ]
  386. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(411): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(double &)'
  387. 1>          with
  388. 1>          [
  389. 1>              _Elem=char,
  390. 1>              _Traits=std::char_traits<char>
  391. 1>          ]
  392. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(429): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long double &)'
  393. 1>          with
  394. 1>          [
  395. 1>              _Elem=char,
  396. 1>              _Traits=std::char_traits<char>
  397. 1>          ]
  398. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(447): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(void *&)'
  399. 1>          with
  400. 1>          [
  401. 1>              _Elem=char,
  402. 1>              _Traits=std::char_traits<char>
  403. 1>          ]
  404. 1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(466): or       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_streambuf<_Elem,_Traits> *)'
  405. 1>          with
  406. 1>          [
  407. 1>              _Elem=char,
  408. 1>              _Traits=std::char_traits<char>
  409. 1>          ]
  410. 1>          while trying to match the argument list '(std::istream, std::string)'
  411. 1>  Generating Code...
  412. 1>
  413. 1>Build FAILED.
  414. 1>
  415. 1>Time Elapsed 00:00:02.24
  416. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
  417. [/code]
Advertisement
Add Comment
Please, Sign In to add comment