About your warnings, not entirely sure but no doubt it is because you are converting from one data type to another of different size. And in doing so you are losing some data. In this case most likely the precision of your data will be reduced.

yes it could, i believe float was for c, and double was introduced in c++, please correct me if i'm wrong. anyways, i had no errors or warnings with your previous code, but as stated above, there are runtime errors that need to be addressed.

edit: actually i did get a backwards warning for using old style headers...

/* cout << "How many Memory cards would you like to purchase? ";
cin >> memory;
cout << "How much software would you like to buy? ";
cin >> soft;
cout << "How many new pcs would you like to buy? ";
cin >> nw;
cout << "How many disk drives would you like to buy? ";
cin >> disk; */
cout << "How many items would you like to buy? ";
cin >> times;
for(int i = 1;i <= times;i++)
{
cout << "Which items would you like to buy(Enter one item at a time then hit enter then type in how many you want to buy)? \n";
cin.get(item,25);
cin>>num_of;
if(strcmp(item,"memory card")==0)
total = total + (mem_card * num_of);
else if(strcmp(item,"software")==0)
total = total + (software * num_of);
else if(strcmp(item,"new pc")==0)
total = total + (nw_pc * num_of);
else if(strcmp(item,"disk drive")==0)
total = total + (disk_drive * num_of);
else
cout << "That is an invalid choice.\n";
}
cout << "Your total is " << total << endl;
return 0;
}
/* OUT PUT HERE
How many items would you like to buy? 3
Which items would you like to buy(Enter one item at a time then hit enter then t
ype in how many you want to buy)?
memory card
That is an invalid choice.
Which items would you like to buy(Enter one item at a time then hit enter then t
ype in how many you want to buy)?
That is an invalid choice.
Which items would you like to buy(Enter one item at a time then hit enter then t
ype in how many you want to buy)?
That is an invalid choice.
Your total is -1.07374e+008
*/