cout not working after While statement 
  Oct 27, 2017 at 10:10pm UTC  
 
Feel free to critic any part of the code, but the problem im having is that the cout at the end is not working after the while statement. 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 
#include "stdafx.h" 
#include <iostream> 
#include <iomanip> 
#include <string> 
using  namespace  std;
// Brenton White  
int  main()
{
	// User Input 
	double  account;  // Patient account number 
	int  day, month, year;	 // Consultation date 
	double  tfee;     // Treatment fee 
	double  ipayment; // Initial payment 
	double  mpayment;  // Monthly payment  
					  // Program output 
	double  balance; // Balance due tfee - ipayment 
	int  paymentn; // Payment number 
	paymentn = 1;
	int  monthdue; // Due date month 
	double  totalp; // Total paid 
				  // input 
	cout << "\n\n\n\n" ;
	cout << "\n    Enter Patient Account Number: " ;
	cin >> account;
	cout << "\n        Enter Consultation Date **/**/**** " ;
	cout << "\n\n    Day: " ;
	cin >> day;
	cout << "\n    Month: " ;
	cin >> month;
	cout << "\n    Year: " ;
	cin >> year;
	cout << "\n    Enter Treatment Fee: " ;
	cin >> tfee;
	cout << "\n    Enter Initial Payment: " ;
	cin >> ipayment;
	cout << "\n    Enter Monthly Payment: " ;
	cin >> mpayment;
	// ------- 
	balance = tfee - ipayment; // Ballance 
	monthdue = month + 1; // Add 1. = 1st month of mpayments 
	paymentn = 1; // payment number  
	
	// Output 
	
	cout << "\n\n\n\n" ;
	cout << "    Patient Account Number: "  << setw(2) << account << endl;
	cout << "    Consulation Date: " ;
	cout << day << "/" ;
	cout << month << "/" ;
	cout << year << "\n" ;
	cout << setprecision(2) << fixed;
	cout << "\n\n" ;
	cout << "    Treatment Fee: "  << setw(62) << tfee << endl;
	cout << "    Initial Payment: "  << setw(60) << ipayment << endl;
	cout << "    Balance Due: "  << setw(64) << balance << endl;
	cout << "\n" ;
	cout << "        Payment Number" ;
	cout << "        Due Date" ;
	cout << "        Payment Amount" ;
	cout << "        Total Paid" ;
	cout << "        Oustanding Balance" ;
	cout << "\n\n" ;
	while  (monthdue > 0)
	{
		
		while  (balance >= 0)
		{
			
			if  (balance > 0)
			{
				if  (balance < mpayment)
					mpayment = balance;
			}
			if  (monthdue > 12)
			{
				year = year + 1;
				monthdue = 1;
			}
		
			
		totalp = tfee - balance; // total paid 
		cout << setprecision(0) << fixed;
		// Payment Number 
		cout << "            "  << setw(4) << paymentn;
		// Due Date 
		cout << "             " ;
		cout << setw(2) << setfill('0' ) << day << "/" ;
		cout << setw(2) << setfill('0' ) << monthdue << "/" ;
		cout << year;
		// Payment Amount 
		cout << setprecision(2) << fixed;
		cout << "          "  << setw(7) << setfill(' ' ) << mpayment;
		// Total Paid 
		cout << "            "  << setw(7) << setfill(' ' ) << totalp;
		// Outstanding Balance 
		cout << "                 "  << setw(7) << setfill(' ' ) << balance;
		cout << endl;
		balance = balance - mpayment;
		paymentn += 1;
		monthdue = monthdue + 1;
		
		}
		
	}
	
		cout << "\n\n" ;
		cout << " ******************** Payment Schedule Printed By: Brenton White ******************** " ;
		cout << "\n\n\n\n" ;
	
	return  0;
}
 
 
 
 
 
 
  Oct 27, 2017 at 10:25pm UTC  
 
Its because the program never exits out of your nested while loop. While the "monthdue" and "balance" is greater than 0 it will continue executing. This is why your "cout" isn't called.
Last edited on Oct 27, 2017 at 10:55pm UTC  
 
 
 
 
  Oct 27, 2017 at 10:40pm UTC  
 
Maybe you can try something like this
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 
#include <iostream> 
#include <iomanip> 
#include <string> 
using  namespace  std;
// Brenton White  
bool  close = false ;
int  main()
{
	// User Input 
	double  account;  // Patient account number 
	int  day, month, year;	 // Consultation date 
	double  tfee;     // Treatment fee 
	double  ipayment; // Initial payment 
	double  mpayment;  // Monthly payment  
					  // Program output 
	double  balance; // Balance due tfee - ipayment 
	int  paymentn; // Payment number 
	paymentn = 1;
	int  monthdue; // Due date month 
	double  totalp; // Total paid 
				   // input 
	cout << "\n\n\n\n" ;
	cout << "\n    Enter Patient Account Number: " ;
	cin >> account;
	cout << "\n        Enter Consultation Date **/**/**** " ;
	cout << "\n\n    Day: " ;
	cin >> day;
	cout << "\n    Month: " ;
	cin >> month;
	cout << "\n    Year: " ;
	cin >> year;
	cout << "\n    Enter Treatment Fee: " ;
	cin >> tfee;
	cout << "\n    Enter Initial Payment: " ;
	cin >> ipayment;
	cout << "\n    Enter Monthly Payment: " ;
	cin >> mpayment;
	// ------- 
	balance = tfee - ipayment; // Ballance 
	monthdue = month + 1; // Add 1. = 1st month of mpayments 
	paymentn = 1; // payment number  
				  // Output 
	cout << "\n\n\n\n" ;
	cout << "    Patient Account Number: "  << setw(2) << account << endl;
	cout << "    Consulation Date: " ;
	cout << day << "/" ;
	cout << month << "/" ;
	cout << year << "\n" ;
	cout << setprecision(2) << fixed;
	cout << "\n\n" ;
	cout << "    Treatment Fee: "  << setw(62) << tfee << endl;
	cout << "    Initial Payment: "  << setw(60) << ipayment << endl;
	cout << "    Balance Due: "  << setw(64) << balance << endl;
	cout << "\n" ;
	cout << "        Payment Number" ;
	cout << "        Due Date" ;
	cout << "        Payment Amount" ;
	cout << "        Total Paid" ;
	cout << "        Oustanding Balance" ;
	cout << "\n\n" ;
	while  (monthdue > 0)
	{
		while  (balance >= 0)
		{
			if  (balance > 0)
			{
				if  (balance < mpayment)
					mpayment = balance;
			}
			if  (monthdue > 12)
			{
				year = year + 1;
				monthdue = 1;
			}
			totalp = tfee - balance; // total paid 
			cout << setprecision(0) << fixed;
			// Payment Number 
			cout << "            "  << setw(4) << paymentn;
			// Due Date 
			cout << "             " ;
			cout << setw(2) << setfill('0' ) << day << "/" ;
			cout << setw(2) << setfill('0' ) << monthdue << "/" ;
			cout << year;
			// Payment Amount 
			cout << setprecision(2) << fixed;
			cout << "          "  << setw(7) << setfill(' ' ) << mpayment;
			// Total Paid 
			cout << "            "  << setw(7) << setfill(' ' ) << totalp;
			// Outstanding Balance 
			cout << "                 "  << setw(7) << setfill(' ' ) << balance;
			cout << endl;
			balance = balance - mpayment;
			paymentn += 1;
			monthdue = monthdue + 1;
		
			close = true ;
		
			if  (close)
			{
				cout << "\n\n" ;
				cout << " ******************** Payment Schedule Printed By: Brenton White ******************** " ;
				cout << "\n\n\n\n" ;
				cin.get();
				cin.get();
				return  0;
			}
		}
		
	}
	
	
	return  0;
}
 
 
Last edited on Oct 27, 2017 at 10:40pm UTC  
 
 
 
 
  Oct 27, 2017 at 10:57pm UTC  
 
 I had a palm to face moment. realized that the "while (monthdue > 0)" Statement was useless. the while statement is supposed to end when the balance hits 0. still wouldnt mind some critic, but the question is solved.
 
 
 
Topic archived. No new replies allowed.