これの演習問題解いたコードを晒しておく。ぶっちゃけ
Rubyでなら空気のように書けるレベルだし
第6章 6-1、6-2
#include <iostream>
int main(){
int score;
int one_of_score;
while(true){
std::cout << "Enter a score(0-100): ";
std::cin >> score;
one_of_score = score % 10;
if(score < 0 || score > 100){
std::cout << "[E]Bad input\n";
} else {
std::cout << "Grade is: ";
if(score <= 60){
std::cout << "F";
} else {
if (score <= 70){
std::cout << "D";
} else if (score <= 80){
std::cout << "C";
} else if (score <= 90){
std::cout << "B";
} else {
std::cout << "A";
}
if(one_of_score >= 8 || one_of_score == 0){
std::cout << "+";
} else if(one_of_score > 0 && one_of_score <= 3) {
std::cout << "-";
}
}
std::cout << "\n";
break;
}
}
return(0);
}
第6章 6-3
#include <iostream>
int main(){
int cents;
int quarters, dimes, nickels, pennies;
while(true){
quarters = 0;
dimes = 0;
nickels = 0;
pennies = 0;
std::cout << "Enter a number between 1 to 100 (0 to finish): ";
std::cin >> cents;
if(cents == 0){
break;
} else if (cents < 0 || cents > 100){
std::cout << "[E]Bad input\n";
continue;
}
std::cout << cents << " cents = ";
while(cents / 25 > 0){
quarters++;
cents -= 25;
}
while(cents / 10 > 0){
dimes++;
cents -= 10;
}
while(cents / 5 > 0){
nickels++;
cents -= 5;
}
while(cents / 1 > 0){
pennies++;
cents -= 1;
}
std::cout << quarters << " quarters, " << dimes << " dimes, " << nickels << " nickels, " << pennies << " pennies\n";
}
}
第8章 8-1
#include <iostream>
int main(){
int counter;
float resisters[100];
float inverse_resistance;
int input;
int i;
counter = 0;
while(true){
std::cout << "Enter resistance of resister " << counter + 1 << " (0 or less to finish): ";
std::cin >> input;
if(input <= 0){
break;
} else {
resisters[counter] = input;
counter++;
if(counter >= 100){
break;
}
}
}
for(i = 0; i < counter; i++){
inverse_resistance += 1 / resisters[i];
}
std::cout << "Parallel resistance is: " << 1 / inverse_resistance << " Ohm.\n";
}