C++ :: Display Triangular Pattern - infinite Loops From Input Validation
Mar 1, 2014
I am writing a program to display a triangular pattern using nested loops and user input for the size of the base and character used to generate the image. 99% of the program runs fine. However I am having trouble with some of my input validation.
When given an integer value for the base I can verify if it is within a certain range (0-80). However, when the user inters a "char" instead of an "int" the program enters an infinite loop.
Here is the piece of code giving me trouble. (I wont bother you with the entire chunk of code, I have commented out everything else to narrow down the problem bit)
// Pattern Displays
// program that asks user for the size of the base of a triangle and then generates it in a character the user chooses
#include <iostream>
#include <istream>
#include <string>
#include <cstdlib>
using namespace std;
int main () {
char escape;
[Code] ....
View 2 Replies
ADVERTISEMENT
Oct 17, 2014
I have spent at least an hour trying to display this pattern and I am not getting anywhere.
Pattern C
1
21
321
4321
54321
654321
This is as far as I got
#include <iostream>
#include <iomanip>
[Code]....
View 4 Replies
View Related
Jan 21, 2015
I am looking into some design pattern which works for validation.
I thought about using strategy but not sure whether its correct or not
View 3 Replies
View Related
May 30, 2014
See code below:
#include <stdlib.h>
#include <stdio.h>
int main ( int argc, char *argv[] ) {
int P[150] = {}, i, j;
for ( i = 2; i <= 150; i++ ) {
[Code] .....
Using gdb, I noticed that the variable j keep going back to initial value after the interior for loop condition returns false. Why doesn't this for loop terminate right away?
View 6 Replies
View Related
Jul 19, 2013
How do you do the input validation for date? I used:
char rec.date[SIZE];
cout<<"date"<<endl;
cin.getline(date,SIZE);
I want the user to write in this format (mm/dd/yy)
View 3 Replies
View Related
Aug 14, 2014
// PROBLEM - Use INPUT VALIDATION so number entered is positive. I can't get it to work
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, const char * argv[]) {
// SUM OF NUMBERS
// Enter a positive integer
[Code] ....
View 2 Replies
View Related
Apr 15, 2014
I am having a problem with my "void Validation :: getId()" function its suppose to get the id number from the user but when I try and type a letter to see if it catches it, it goes into this continuous loop. Also with my "string Validation :: getName(string name)" function it suppose to catch the comma in the user input for their last name , first name but doesn't catch it and still returns the name back to main function.
#include "InputValidation.h"
#include <iostream>
using namespace std;
Validation :: Validation() {
name = " ";
id = 0;
[Code] ....
View 1 Replies
View Related
Jul 11, 2014
I have this function that is supposed to take a float as a parameter and then call the getLine() method to accept the users input. The function basically just checks to see if what the user input was of the same data type, if it is it returns the input value, if not then it keeps looping through taking new input until its correct. The problem is no matter what number you put in the output always returns as 140734799803512.
float InputValidation(){
float num;
string strInput;
while (true){
getline(cin, strInput);
[Code] ....
You also need to include <string> and <sstream>.
View 3 Replies
View Related
Feb 4, 2014
How I could correctly validate user input when the user inputs a numeric value that will be float pay1, pay2, pay3, pay4. However, the if statement that I wrote crashes after I test the validation. I been told that scanf is dangerous, but strtol works best, but how to write a validation with strtol.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define ARRAYSIZE 2
#define FORMAT "First Name Pago1 Pago2 Pago3 Pago4 Total Net"
#define FORMATHEADER "Last Name "
[Code] ....
View 3 Replies
View Related
Dec 20, 2014
I'm trying to validate my input. I require for the user to enter six doubles and if they don't then I want them to re-enter the information. Here is my code:
Code:
while (1>0) {
printf("Please enter arguments in the order: negative mass, positive mass, initial x-position, initial y-position, initial x-velocity, initial y-velocity:
");
if ( scanf("%lf %lf %lf %lf %lf %lf",&MassMinus,&MassPlus,&Pos[0][0],&Pos[0][1],&Vel[0][0],&Vel[0][1]) != 6) {
printf("Not all numbers were assigned!
[Code] .....
At the moment it just waits if you enter less than six numbers and if you enter any more than 6 it just ignores anything after the sixth number (so pretty much does nothing). Also if I entered 1 2 a b 3 4 instead of entering six numbers it would register that as 1 2 0 0 3 4 but I want it to make the user input the numbers again. I'm also aware that "while (1>0)" isn't good programming form but I'm not really sure what to use instead?
View 11 Replies
View Related
Jul 18, 2013
I have not completed this program yet, but I have already run into a snag. For the Input Validation part, every time you enter a number regardless if it is positive it will still display the cout statement: "Please enter positive values". The program runs correctly where I currently am at, but it just keeps reading that statement even if a user enters a positive value. I have run the debugger, but it really is not showing me anything other than I notice it jumping to that statement after every value that is entered.
Here is my code, once again I have not finished this yet, but I would really like to get this fixed first before I continue. I will keep debugging in the meantime...
Code:
// A local zoo wants to keep track of how many pounds of food each of its three monkeys eats each day during a typical week. Write a program that stores this information in a two-dimensional 3 X 7 array, where each row represents a different monkey and each column represents a different day of the week. The program should first have the user input the data for each monkey. Then it should create a report that includes the following information:
// Average amount of food eaten per day by the whole family of monkeys.
// The least amount of food eaten during the week by any one monkey.
// The greatest amount of food eaten during the week by any one monkey.
// Input validation: Do not accept negative numbers for pounds of food eaten.
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double totalAverage = 0; // variable to store the total average, initalized to zero
[Code] ......
View 11 Replies
View Related
Sep 5, 2014
I have a small loop that gets the user input, as well as acts as input validation to make sure he or she doesn't enter a value that is not within the specified range.
The user is supposed to enter a month number. E.g. if he or she chooses February, then enter 2, or December, 12.
It works correctly if they type a number that is not in the range, but goes into an infinite loop if, say, they type a string such as "month".
Code:
int main() {
// Variable Declaration(s)/Initialization(s)
int month=0;
// Get input
cout<<"Enter a month";
cin>>month;
[Code] ....
How could I go about revising this?
View 4 Replies
View Related
Oct 6, 2013
The user will enter the number of '*'s on the 1st row (ntop) and then the number of rows forming the trapezoid (nrows). (using <iostream>, cout)
For instance, an inverted trapezoid with 7 '*"s in the 1st row and 3 rows forming the inverted trapezoid looks like:
1*******
2 *****
3 ***
(this pyramid is centered, in case it isnt when its posted). Also, each descending row has two less asteriks than the above row.
I am having trouble with the four loop displaying the number of "*" and " ". I know its a relationship with variables in the for loops, my output is just never doing what i want it to.
THis is the guideline for the for loop:
Use for loops to display the inverted trapezoid. Your outer for loop will iterate the total number of rows times. For each row use one nested for loop to display blanks (the 1st row contains no blanks) and another nested for loop to display the characters '*'.
Heres my for loops so far:
for (i = nrows; i >= 1; i--) {
for (j = 0; j >= nrows; j++) {
cout << " ";
} for (k=ntop; k >= 2; k--) {
cout << "*";
} }
The ouput is just blank as of now.
View 2 Replies
View Related
Oct 22, 2014
The problem states that i need to accept any pin number between "00000" and "99999". I need to read the PIN the user enters as an integer. The problem is that if the PIN is read as an integer, the PIN "01111" will be "1111" which is invalid and the pin "00001" would be read as "1" which is also invalid. How would I go about fixing this problem for PIN numbers that start with a "0"? Again I cannot read the PIN as a char array or string.
View 2 Replies
View Related
Nov 12, 2014
#include <iostream>
#include <iomanip>
using namespace std;
// Function Prototype
void sortArray(int array[], int size);
[Code] ....
This program was made to allow students to enter as many test scores as they want and the program will show them in ascending order and then will calculate the average of all test scores. It works wonderful until you enter a negative test score and then it throws the averaging process off. I can't seem to be able to make the program not accept the negative numbers.
View 1 Replies
View Related
Oct 23, 2014
I need validation on what the user inputs. Input should not be an alphabet, empty, and not negative number. This program is for finding the GCD and LCM of multiple numbers.
#include <stdio.h>
void bubble_sort(int numbers[], int len) {
int i, j;
int swapped;
[Code] .....
View 2 Replies
View Related
May 14, 2013
I am trying to get this simple validation loop to work so that it only displays the error message when the input is outside the range 1-3. yet it always seems to display the message.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int Menu ();
int ValidInt(int , int );
[Code] ....
View 5 Replies
View Related
Jul 19, 2013
How do I prevent user from entering characters or symbols instead of numbers?
int num;
cout<<"Enter a number."<<endl;
cin>>num;
Also, how do I prevent user from entering a number instead of a character?
char c;
cout<<"Enter a character."<<endl;
cin>>c;
View 9 Replies
View Related
Dec 15, 2014
I have to make a program that displays a square of asterisks based on the users input. Here is what I have so far.
#include<iostream>
using namespace std;
int main(){
int number;
cout << "Enter a number: ";
cin >> number;
for (int i = 0; i < number; i++){
[Code] ....
But the square needs to be hollow like this. So if the user enters 5 then the following square will be shown.
*****
* *
* *
* *
*****
How to make it do this.
View 11 Replies
View Related
Nov 12, 2014
In my problem I am to create a base class to represent a four vector (a concept in physics involving a four dimensional vector) then create a derived class specifically to represent the four momentum of a particle which inherits from the base class. I have been supplied a small piece of code to use to generate a 'random' x y and z component of the momentum magnitude. The code is as follows
#include <cstdlib>
double triangular(double momentum){
double x, y;
do{
x = momentum*rand()/RAND_MAX;
y = x/momentum;
} while (1.0*rand()/RAND_MAX > y);
return x;
}
It is said in my problem that this code is supposed to generate the magnitude, and then randomly split into x, y and z components. This code returns a single value and so I cannot see how it is doing what it says in the problem.
View 2 Replies
View Related
Nov 3, 2013
I have a homework that needs to verify if the input of the user is an integer using only loops no if statements Here's the problem:
A program is required that prompts the user for a number. The program will then print a series of asterisks to represent the number. If the user enters a number less than 1, the program stops. For example:
Enter a number: 5
*****
Enter a number: 3
***
Enter a number: 9
*********
Enter a number: 0
All user input must be validated:
- Check for non-numeric input when reading numeric input
- Check that values entered are within the expected range for their purpose, or in range based on the requirements statement
View 10 Replies
View Related
Jul 2, 2013
Im having trouble with the while loop, this program should ask the user for their name, if incorrect it should send an error msg and ask for input again...after the correct name is entered the program should prompt the user to enter a password, again if incorrect it should send an error msg and ask for input again.
the code below does what it should when asking for a name..HOWEVER it does not allow the user to enter a password and instead jumps straight to the error msg..
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
int main() {
// Variables
string username;
string password;
[Code] .....
After the correct name is entered, the program displays this:
"Welcome, Sadia Rajput."
"To continue, enter your password: That is incorrect, enter password: "
I would prefer to do this using the while loops and not bool statements
View 1 Replies
View Related
May 17, 2014
The code is supposed to display the total and averages of the data as well, but cuts off due to an error in the code.
Since this code is quite lengthy, I will be breaking it up into two posts.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
[Code].....
View 6 Replies
View Related
Nov 14, 2014
I have been stuck at a dead end,I got it to display a single asterik for an inputted number, but how would i go about in adding that asterik for each number?
my code is the following
int userinput = int.Parse(InputOutput.GetInput("Enter values into array"));
Int32[] inputChoices = new Int32[9];
for (int x = 0; x < inputChoices.Length; x++) {
inputChoices[x] = 0;
} if (userinput == 1)
[Code]...
View 2 Replies
View Related
Apr 5, 2013
If the user puts in a 6. I need the array to display the even number from 0 - 6. Right now what it does is it displays the first six even numbers. Okay as I'm writing this I'm starting to see where my problem might be..
Code:
void sumIntegers () {
int arr[50];
int i = 0;
int num = 0;
int sum = 0;
[Code] .....
View 1 Replies
View Related
May 16, 2014
The code is supposed to display the total and averages of the data as well, but cuts off due to an error in the code. The code should also:
1)Print checks for all employees, one per page, sorted by lastname. The first check number, 100, is to be read from a company data file (see requirement 4). The border of each check is important and should not be omitted.
2)Convert the net pay to a text string for each check printed.
3)Print a reference code on each check. The reference code is obtained by combining the first letter of the lastname with all the consonants remaining after removing all vowels (a,e,i,o,u).
4)Use the same employee data found in assignment 2. Use company data, obtained from a text file, for each check printed:
Spoiler
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
typedef short BOOLEAN;
typedef char STR15[15 + 1];
typedef char STR10[10 + 1];
typedef struct PayRecord
[Code] .....
View 14 Replies
View Related