Issue
I have this question in the assignment and would love if anybody can help:
write a program to store integers in an array of size 10, initialize your array in a function Get_value() where the user will input 10 integers to fill the array. The program then print a menu given below for the user and must be able to perform various function that the user chooses ..the user commands are :
D display all non zero value in the array
T Display the total
R display all numbers in reverse order
Q quit the program
in c++
I tried to write but I didn’t get the exact answer
#include <stdio.h>
int get_value();
int display();
void total(void);
int main ()
{
int get_value[10];
int i;
char c=0;
for(i=0;i<=9;i++){
printf("Enter The value of get_value[%d]\n",i);
scanf("%d",get_value[i]);
}
printf(" D to display all non-zero values in the array \n choose T to display the total \n choose R to display all the number in reverse order \n choose Q to quit the program \n");
scanf("%d",&c);
if(c == D){
display();
}
else if(c== T){
total();
}
return 0;
}
int display()
{
int i,get_value[10];
for(i=0;i<=9;i++){
if(get_value[i]!=0)
printf("%d",get_value[i]);
}
return 0;
}
void total(void)
{
int i,sum=0;
for(i=0;i<=9;i++){
sum+=i;
}
printf("%d",sum);
}
Solution
Note that:
if (c == D)
should be:
if (c == 'D')
Similarly:
else if (c == T)
should be:
else if (c == 'T')
There are various other problems too, e.g. as already pointed out int he comments:
scanf("%d",&c);
is incorrect – it should be:
scanf("%c",&c);
although:
c = getchar();
is probably better.
Answered By – Paul R
Answer Checked By – Willingham (BugsFixing Volunteer)