Solving C Programming Issues: Read & Calculate Numbers

  • Thread starter Thread starter tandoorichicken
  • Start date Start date
  • Tags Tags
    Issues Program
Click For Summary
SUMMARY

The discussion focuses on resolving issues in C programming related to reading and calculating numbers from user input. The user initially struggles with correctly scanning input into an array and encounters a segmentation fault in their code. Key problems identified include improper usage of the scanf function and logical errors in conditional statements. The suggested solutions emphasize the importance of clear, step-by-step programming instructions and debugging techniques.

PREREQUISITES
  • Understanding of C programming syntax and structure
  • Familiarity with the scanf function for input handling
  • Knowledge of conditional statements and logical operators in C
  • Basic debugging techniques for identifying segmentation faults
NEXT STEPS
  • Review the correct usage of the scanf function in C, specifically for reading multiple values into an array
  • Learn about debugging segmentation faults in C programs
  • Study the proper implementation of conditional statements and logical comparisons
  • Explore best practices for structuring C programs for clarity and maintainability
USEFUL FOR

C programmers, computer science students, and anyone looking to improve their skills in handling user input and debugging in C programming.

tandoorichicken
Messages
245
Reaction score
0
For a homework assignment I need to be able to read in a string of numbers and display them on the screen, and then use them in some calculations. How would be the best way to go about this?
Here's what I have so far to give you an idea of what I need to do:

int n;
double a[15];
printf("Here is the problem:\n");
printf("Enter the number of elements (<16): ");
scanf("%d", n);
printf("\nEnter %d double f-p numbers:\n", n);

Next the user enters 'n' float-point numbers on the screen, and I need to somehow scan that into a[]. How would I do this?
 
Physics news on Phys.org
Best way of approaching programming issues is to approach them from a programming language independent viewpoint.

Imagine you have a person who can handle only one simple instruction at a time, how would you instruct this person to do the job ?

Write this out.

Only when finished think about the data you need to store and the specific programming approach. If you do this, it will be much clearer exactly where the problem is, and somebody will be able to hint you further.

Regards,
Leo
 
Okay, I think I might have that problem figured out. However, here is part of another program I am having trouble with. Could somebody please check the code to make sure nothing is wrong. The compiler doesn't catch anything, so I know it's probably a logic or common sense error on my part.

#include <stdio.h>
#include <math.h>
void problem(void);
double g_value(double x);

void main(void) {
problem(void);
}

void problem (void) {
double x, g_x;
printf("Here is the problem:\n");
printf("Enter a double f-p number:");
scanf("%lf", x);
g_x = g_value(x);
printf("g(%f) = %e", x, g_x);
return;
}

double g_value(double x) {
double g;
if (x>=3.0) g = x*x*x - x*x - 9.0*x + 9;
if (-4.0<x<3.0) g = x*cos(x);
if (x<=-4.0) g = x + 3;
return g;
}

The program runs down to about "Enter a double f-p number" and then abruptly ends with something called a "Segmentation Fault (core dump)."
Can anyone shed some light on this?
 

Similar threads

  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
14
Views
4K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
7
Views
2K
  • · Replies 19 ·
Replies
19
Views
3K