Decimal Values & ANSI C Code for Image File

Click For Summary

Discussion Overview

The discussion revolves around coding in ANSI C to read and process an image file containing decimal values. Participants explore how to read the file's header and subsequent data lines, perform calculations, and structure the code effectively.

Discussion Character

  • Technical explanation
  • Homework-related
  • Exploratory

Main Points Raised

  • One participant describes the structure of the input file and requests help with coding to read and process the data.
  • Another participant suggests using the scanf function to read the first line and subsequent data lines, providing example code snippets.
  • A different participant reiterates the suggestion regarding the use of scanf and mentions a specific issue with starting the loop for reading data.
  • Another suggestion is made to create separate functions for reading the header and data lines, which could improve clarity and organization in the code.

Areas of Agreement / Disagreement

Participants generally agree on the use of the scanf function for reading input, but there is no consensus on the best approach to structuring the code, as different methods are proposed.

Contextual Notes

Some participants express uncertainty about how to effectively implement loops and function structures in their code, indicating a need for clarity on these programming concepts.

brad sue
Messages
270
Reaction score
0
Hi, I have a problem to code this:

Image that you have the following file presenting the following decimal values:

2 A 40.0
115.00 1.02842 5.944 10.0528 -1.656
115.00 1.01911 4.678 10.0528 177.078

11 6 100.0
115.00 1.01530 2.392 2.9097 11.933
115.00 1.00338 2.849 0.2633 37.685
115.00 1.00566 2.460 1.5274 8.387
230.00 0.99738 5.209 4.3274 -2.728

How can I code in ANSI C so that the program reads the first line, prints it ( I know this part) then reads the following 5 ( which are the values for voltages) add all of them, then goes to to the second ste of five data.

After thatthe program reads the second set of three data, print them, and reads the follwoing five, add them all and so forth.

can some help me or give me some suggestions
Thank you

B
 
Technology news on Phys.org
Do you know how to use the scanf function?

For the first line you can do:

scanf("%d %c %f",&a, &b, &c) ;

Then for the the rest of the lines you have a for loop that does this:

scanf("%f %f %f %f %f",&d, &e, &f, &g, &h) ;
 
dduardo said:
Do you know how to use the scanf function?

For the first line you can do:

scanf("%d %c %f",&a, &b, &c) ;

Then for the the rest of the lines you have a for loop that does this:

scanf("%f %f %f %f %f",&d, &e, &f, &g, &h) ;

Thank you
My problem was where to start the loop.
 
brad sue said:
can some help me or give me some suggestions
My suggestion is that you write separate functions for each separate task, which helps make everything much clearer. For example, write function "readHeaderLine" to process the top line of each data set and write function "readDataLine" to read and process each data line. If these functions return a value like the number of items processed then you can make them return 0 when they come across an empty line. This way your main function will know when a data set is finished (readDataLine has returned 0) or when there is no more data sets to process (readHeaderLine has returned 0). Using these accessory functions, you will find it simple to write the main loop.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K