|
Somewhat unrelated to your original question but........
REMOVE ALL THOSE #defines!
That is some ugly code! If you need a #define on a print function, do it once with a macro and not every single place you want to use that function.
#ifdef DEBUG
#define UTIL_PROC(X) Utility_LCD_Process((X));
#else
#define UTIL_PROC(X)
#endif
case LED_on:
{
UTIL_PROC("case LED_on")
State_Array[iInputPin] = LED_off;
break;
}
|
|
|
|
|
Good suggestion, however I did moved the #ifdef / #endif to the function itself so it does <b>look</b> cleaner.
Actually - is the #else necessary?
|
|
|
|
|
If you're using my method, yes... otherwise the compiler will tell you that function is undefined.
|
|
|
|
|
I'd love to hear any feed back regarding design, style and architecture.
You can find the source at http://github.com/corvusoft/restbed.
Asynchronous RESTful framework
#include <memory>
#include <cstdlib>
#include <restbed>
using namespace std;
using namespace restbed;
void get_method_handler( const shared_ptr< Session >& session )
{
const auto request = session->get_request( );
size_t content_length = 0;
request->get_header( "Content-Length", content_length );
session->fetch( content_length, [ ]( const shared_ptr< Session >& session,
const Bytes& body )
{
fprintf( stdout, "%.*s\n", ( int ) body.size( ), body.data( ) );
session->close( OK, "Hello, World!", { { "Content-Length", "13" } } );
} );
}
int main( const int, const char** )
{
auto resource = make_shared< Resource >( );
resource->set_path( "/resource" );
resource->set_method_handler( "GET", get_method_handler );
auto settings = make_shared< Settings >( );
settings->set_port( 1984 );
settings->set_default_header( "Connection", "close" );
Service service;
service.publish( resource );
service.start( settings );
return EXIT_SUCCESS;
}
modified 21-Jun-15 10:42am.
|
|
|
|
|
However this is not the appropriate place to post it (please remove).
|
|
|
|
|
Apologies, I was some what confused as to which thread this post would belong. Do you have any suggestions?
|
|
|
|
|
Unfortunately, no (I am confused too).
By the way, I've balanced the downvote.
|
|
|
|
|
Hmmm, the 'delete' button is greyed out?!
|
|
|
|
|
Context: MFC MDI CScrollView app, targeting Windows 7
When handling a WM_GESTURE command, specifically when GESTUREINFO.dwID = GID_PAN, and attempting to call UpdatePanningFeedback() to provide "over-panning" feedback when user attempts to pan beyond the scroll limits, the entire application window moves instead of the client area of the windows handle provided...
UpdatePanningFeedback(m_hWnd, 0, yOverpan, gi.dwFlags & GF_INERTIA);
Does anyone know if there is an alternative way to achieve the effect of the "over-panning" (that visual feedback that seems like your trying to stretch the client area beyond it's limits like a rubberband) only in the client area of the CScrollView window?
|
|
|
|
|
Hi sir need clear a explanation for this problem
(n = 3)??wap for this
1###1
33#33
55555
33#33
1###1
at the place of (#) should come spaces
|
|
|
|
|
Member 11779027 wrote: need clear a explanation for this problem That is a fairly basic logic/counting problem that you should be able to figure out by writing the numbers on paper, and deciding how to calculate the number of digits vs the number of spaces for each value.
|
|
|
|
|
Sir Thanks for your advice Finally done!!! but check it once and report me back if any problem is there in coding
#include<stdio.h>
#include<conio.h>
int main()
{
int num=3;
for(int r1=1;r1<=num;r1++)
{
for(int c1=1;c1<=r1;c1++)
{
printf("*");
}
for(int s1=r1;s1<num;s1++)
{
printf(" ");
}
for(int s1=r1;s1<num;s1++)
{
printf(" ");
}
for(int c1=1;c1<=r1;c1++)
{
printf("*");
}
printf("\n");
}
for(int r2=num;r2>=1;r2--)
{
for(int c2=1;c2<=r2;c2++)
{
printf("*");
}
for(int s1=r2;s1<num;s1++)
{
printf(" ");
}
for(int s1=r2;s1<num;s1++)
{
printf(" ");
}
for(int c2=1;c2<=r2;c2++)
{
printf("*");
}
printf("\n");
}
}
|
|
|
|
|
|
* *
** **
******
** **
* *
|
|
|
|
|
Your loop values are slightly off. You should be counting 1 - 3 - 5 - 3 - 1, and printing the numeric values in each line rather than stars. Your main loops should be something like:
int num = 5;
int index;
for (index = 1; index <= num; index += 2)
{
printf("%d\n", index); }
for (index = num - 2; index > 0; index -= 2)
{
printf("%d\n", index);
}
|
|
|
|
|
Ok sir Thnak's and could you please give some examples to practise in this pattern??
|
|
|
|
|
That is an example, your job is to fill in the fine detail. You will learn much more by trying it yourself than if someone else writes it for you. As an exercise you can try different values of num also.
|
|
|
|
|
yes sir the actual result is this
#include<stdio.h>
#include<conio.h>
int main()
{
int num=5;
for(int r1=1;r1<=num;r1+=2)
{
for(int c1=1;c1<=r1;c1++)
{
printf("%d",r1);
}
for(int s1=r1;s1<num;s1++)
{
printf(" ");
}
for(int s1=r1;s1<num;s1++)
{
printf(" ");
}
for(int c1=1;c1<=r1;c1++)
{
printf("%d",r1);
}
printf("\n");
}
for(int r2=num;r2>=1;r2-=2)
{
for(int c2=1;c2<=r2;c2++)
{
printf("%d",r2);
}
for(int s1=r2;s1<num;s1++)
{
printf(" ");
}
for(int s1=r2;s1<num;s1++)
{
printf(" ");
}
for(int c2=1;c2<=r2;c2++)
{
printf("%d",r2);
}
printf("\n");
}
}
|
|
|
|
|
You could make some reasoning about row number and to-be-produced pattern:
0 1###1
1 33#33
2 55555
3 33#33
4 1###1
The first point could be observig that
pattern(0) == pattern(4)
pattern(1) == pattern(3)
pattern(2) == pattern(2)
all hold true.
In other words
pattern(k) == pattern(4-k)
hold true for
k = 0, 1 , 2;
Go on and post specific questions when you are not able to continue.
|
|
|
|
|
#include<stdio.h>
#include<conio.h>
int main()
{
int num=3;
for(int r1=1;r1<=num;r1++)
{
for(int c1=1;c1<=r1;c1++)
{
printf("*");
}
for(int s1=r1;s1<num;s1++)
{
printf(" ");
}
for(int s1=r1;s1<num;s1++)
{
printf(" ");
}
for(int c1=1;c1<=r1;c1++)
{
printf("*");
}
printf("\n");
}
for(int r2=num;r2>=1;r2--)
{
for(int c2=1;c2<=r2;c2++)
{
printf("*");
}
for(int s1=r2;s1<num;s1++)
{
printf(" ");
}
for(int c2=1;c2<=r2;c2++)
{
printf("*");
}
printf("\n");
}
}
sir problem is with last loop??please check it once and report back to me soon.. thankyou
|
|
|
|
|
#include<stdio.h>
#include<conio.h>
int main()
{
int num=3;
for(int r1=1;r1<=num;r1++)
{
for(int c1=1;c1<=r1;c1++)
{
printf("*");
}
for(int s1=r1;s1<num;s1++)
{
printf(" ");
}
for(int s1=r1;s1<num;s1++)
{
printf(" ");
}
for(int c1=1;c1<=r1;c1++)
{
printf("*");
}
printf("\n");
}
for(int r2=num;r2>=1;r2--)
{
for(int c2=1;c2<=r2;c2++)
{
printf("*");
}
for(int s1=r2;s1<num;s1++)
{
printf(" ");
}
for(int c2=1;c2<=r2;c2++)
{
printf("*");
}
printf("\n");
}
}
problem is with last loop sir??please check it once and report back to me soon
|
|
|
|
|
Hi Everyone,
I am new to multithreading. I was trying controlling threads using EVENT Objects. FYI i have single process and multiple threads.
I could achieve the same results without using events. Instead i used global flags to achieve the same.I can totally understand that using global variable is not a good practice.
Can anybody tell, what else is a major difference and if anybody can give some specific examples where only events can be used.
Thanks in advance
|
|
|
|
|
The main difference is that a thread can wait on an event but not a global variable.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
When a thread waits on an event it isn't scheduled and so consumes so no CPU time. Waiting on a global variable requires polling and so does.
Steve
modified 18-Jun-15 21:41pm.
|
|
|
|
|
Stephen Hewitt wrote: ...and so consumes so CPU time. Waiting on a global variable requires polling and so does. Am I misreading this?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|