Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C Programming > Novice needs jump-start w/ MVC Studio

Reply
Thread Tools

Novice needs jump-start w/ MVC Studio

 
 
Blankdraw
Guest
Posts: n/a
 
      08-12-2003
I thought I cut out for myself a "simple" 1-module ANSI C programming
task.
I will in fact require extensive use of step-thru debugging.

My old MS Visual C Developer Studio 4.2 should do this, but the
step-through debugger wants me to locate several files which look like
system files. I don't know what its problem is. The files are:
CHKSTK.ASM, CRT0.C, READ.C

Is there someone here familiar with MVC DS 4.2 that can explain how to
use the stepper? I have a slew of questions that will overload this
forum if I were to keep posting them.

It doesn't seem like the problem should be so hairy (2 program
approaches follow, no warnings or errors, w/o using stepper):


APPROACH # 1 ************************************************** *********

My program takes a text file of 5 integers per line, 140-odd lines of
this, and basically puts it into an array. The lines are separated
by LF-CR, of course.
The integers have to be matched in value with the rows in the array,
and my formatted printout will show 52 rows of integers. The
integers will be exactly as numerous as the rows in the text file are,
so it will show 52 rows by about 140 columns.

The array rows will be made of integers only increasing in value,
because each of the 5 integers-per-line in the text will be matched
with a given array row according to the integer's actual value, and
these integers repeatedly match and increment the row values as the
rows progress from left-to-right (as read). Many previous array
values repeat because there is not often a match with the text data.

INPUT n1 n2 n3 n4 n5 LFCR
n6 n7 n8 n9 n10 ....

OUTPUT
0 0 0 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 (... 140 columns of this )
....5 5 5 5
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 3 3 3 3 3 3 3 3 ... 3 3 3
3 4 4 4
(52 rows of this)




#include <stdio.h>
#include <fcntl.h> /* used by open() */
#define SIZE 1024 /* 140 x 7bytes, incl 1LF */
#define CTRL_Z '\032' /* text-mode EOF */

main(argc,argv)
int *argv[];
{
char buffer[SIZE]; /* hafta make do w/o int decl */
int fd;
long int n=1;
long count = 0;
int current[52][141]; /* r52c141 array, built-up */
int row; /* from repeat passes of a */
int col; /* current element index */
/* 52r140c printout omits init col - used for its 0's */


for (row = 0; row < 52; row++) /* initialize output array */
{
for(col = 0; col < 141; col++)
current[row][col] = 0;
}
row = 0;
col = 1;



fd = open(argv[1], O_RDONLY | O_TEXT);
/* while (n != CTRL_Z ) /* big loop - begin new records to EOF */
while (n > 0 ) /* big loop - begin new dwg date to EOF
*/
{ col++; /* only cols need init 0-buffer: (r[1]c[2] */
while ( (n = read(fd,buffer,SIZE)) != '\n' ) /* skip CR-LF */
{
for ( row = 0; row = 52; row++ )
{
current[row][col] = current[row][col-1]; /* copy prv */
if ( n == row )
{
current[row][col] = current[row][col-1] + 1;
} /* this IS now a match, so increment the copy */
}
}
/* hey - break-out read file into buffer, access data 1, access buffer
many */
}

for(row = 0; row < 52; row++)
{
printf("\n");
for (col = 0; col < 140; col++)
printf ("%d ", current[row][col]);
}

/* for(row = 1; row = 52; row++) */
/* { */
/* printf ("\n"); */
/* for (col = 1; col = 140; col++) */
/* printf ("%i ", current[row][col]); */
/* } */

return(0);
}






APPROACH # 2 ************************************************** ***



#include <stdio.h>
#include <fcntl.h> /* used by open() */
#define SIZE 5 /* best = ALL file.txt = 140 x 7bytes,
incl 1LF */
#define CTRL_Z '\032' /* text-mode EOF */

main(argc,argv)
int *argv[];
{
char buffer[SIZE]; /* hafta make do w/o int decl */
int fd;
int n = 1;
int count = 0;
int current[52][141]; /* r52c141 array, built-up */
int row; /* from repeat passes of a */
int col; /* current element index */
/* 52r140c printout omits init col - used for its 0's */


for (row = 0; row < 52; row++) /* initialize output array */
{
for(col = 0; col < 141; col++)
current[row][col] = 0;
}
row = 0;
col = 1;


fd = open(argv[1], O_RDONLY | O_TEXT);


for (count = 0; count < 140; count++) /* big loop - begin records, to
EOF */
{ /* use ONLY det. loops for try-out
coding */
/* fgets(buffer, sizeof buffer, fd); /* read 1 record into
5-byte 'buffer' */
sscanf(fd, "%2i%2i%2i%2i%2i", &buffer[0], &buffer[1], &buffer[2],
&buffer[3], &buffer[4]);
col++; /* only cols need init
0-buffer (r[1]c[2] */

for (n=0; n<5; n++)
{
for (row = 0; row < 52; row++)
{
current[row][col] = current[row][col-1]; /* copy prv */
if ( buffer[n] == row ) {
current[row][col] = current[row][col-1] + 1;
} /* this IS now a match, so increment the copy */
}
}
}



/* for(row = 0; row < 52; row++) */
/* { */
/* printf("\n"); */
/* for (col = 0; col < 140; col++) */
/* printf ("%d ", current[row][col]); */
/* } */


return(0);
}
 
Reply With Quote
 
 
 
 
Jack Klein
Guest
Posts: n/a
 
      08-13-2003
On 12 Aug 2003 10:19:37 -0700, http://www.velocityreviews.com/forums/(E-Mail Removed) (Blankdraw) wrote in
comp.lang.c:

> I thought I cut out for myself a "simple" 1-module ANSI C programming
> task.


Actually, your code is not ANSI conforming, it uses non-standard
extensions.

> I will in fact require extensive use of step-thru debugging.


Debuggers are completely off-topic here. The Microsoft support groups
live in the news:microsoft.public.vc.* family on the server
msnews.microsoft.com, if your ISP does not carry them.

> Is there someone here familiar with MVC DS 4.2 that can explain how to
> use the stepper? I have a slew of questions that will overload this
> forum if I were to keep posting them.


Don't post any questions about Microsoft's debugger or IDE here at
all, they are all off-topic. See the proper place above.

[snip]

> #include <stdio.h>
> #include <fcntl.h> /* used by open() */


This header is not part of standard C. The ONLY way to open a file in
C is fopen().

> main(argc,argv)
> int *argv[];


This style of function definition has been obsolete since 1989. It is
completely illegal under the current (1999) standard due to the
implicit int type of main() and argc. And it is completely undefined
behavior at all times in all situations, because argv is NOT a pointer
to pointer to INT, it is a pointer to pointer to CHAR.

[snip]

> fd = open(argv[1], O_RDONLY | O_TEXT);


No such function as open() in standard C. Whatever it is and whatever
it does is defined by your compiler, and not discussed here.

You need a Microsoft support group for information on using their
tools, and a good book on standard C.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++ ftp://snurse-l.org/pub/acllc-c++/faq
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
No MVC Project Template after installing ASP.NET MVC 1.0 Crazy Cat ASP .Net 1 09-03-2009 08:02 PM
WebForms X MVC? Why MVC? Give me reasons to migrate my web apps to it please. Pros x Cons! Thanks! Paulo ASP .Net 3 12-04-2008 03:00 AM
differences between Spring WebFlow,Spring MVC,and String Portlet MVC? rmn190 Java 2 01-10-2008 02:27 AM
Novice needs help! Connection Problem MAG7577 Wireless Networking 1 01-07-2005 12:11 AM
Novice needs help! Connection Problem MAG7577 Wireless Networking 2 01-07-2005 12:10 AM



Advertisments