Answer:
#include <iostream>
#include <cmath>
using namespace std;
int main(){
string upc;
char last;
cout<< "Enter UPC number: ";
cin >> upc;
if (upc.size() == 12){
last = upc[-1];
} else{
return 0;
}
cout<< last;
char myArr[upc.length()];
for (int i = 0 ; i < upc.substr(0,11).length(); ++i){
if (upc[i]%2 != 0){
myArr[i] = upc[i] * 3;
}
else{
myArr[i] = upc[i];
}
}
int sum = 0;
for (int x = 0; x < sizeof(myArr); ++x){
sum += (int)myArr[x] - '0';
}
if (sum% 10 == last){
cout<<"UPC number is valid";
}
else{
cout<<"Invalid UPC number.";
}
}
Step-by-step explanation:
The UPC number in the c++ source code input must be 12 digits long for the rest of the code to execute. The code checks the validity of the number by comparing the reminder of the sum division with the last digit in the UPC number.