|
Well, Belated Reply
After getting my laptop finally upgraded to Win10 (There were all sorts of issues of compatibility which stopped Windows Upgrade to work since Last December), I tried to download VS 2013. not Available, had to be VS 2015. Tons of Lots.
DOES NOT SUPPORT MFC!!! C++, A# to Z# Not in the remotest interested in that nonsence! MFC is my platform.
MFC is Central here!
Regards,
Bram
Bram van Kampen
|
|
|
|
|
Hey Guys,
I have one Project which has inside 2 different loops if loops are not empty display results but both of them are empty must be display just one result like as "Not any Problem" How can I do? and if string how can i use?
|
|
|
|
|
By "loops" do you mean "collections"? Or "arrays"? Or something like that?
Can you do something like if ( ( collection1.count == 0 ) && ( collection2.count == 0 ) ) ...
|
|
|
|
|
Hey thank you for answer, I shared question originally and also how can identify your collection1.count and 2. yes should be like this.
Thank you
Voltage readings are obtained from an electrical substation once every hour for six hours (so there are six
readings). Write a C program to perform the following checks on the substation:
a) display all voltages that differ from the average by more than 10% of the average.
b) display all pairs of consecutive hours where the change from the voltage at one hour
to the next is greater than 15% of the average.
Example 1
Enter 6 voltages: 210.1 223.2 189.6 206.2 235.1 215.0
The average is 213.2 volts.
10% = 21.3 volts.
15% = 32.0 volts.
The following problems occurred:
1. Voltage at hour 3 was 189.6 volts (difference of 23.6 volts).
2. Voltage at hour 5 was 235.1 volts (difference of 21.9 volts).
3. Voltage change from hour 2 to hour 3 was 33.6 volts.
Example 2
Enter 6 voltages: 233.1 201.0 221.5 240.2 222.7 208.1
The average is 221.1 volts.
10% = 22.1 volts.
15% = 33.2 volts.
No problems were encountered.
I created project but when I put any think in for loops coming 11 "No problems were encountered"
or put under for loops this result coming sometimes with voltage results.
|
|
|
|
|
We cannot help unless you show the code that is causing the problems.
|
|
|
|
|
#include <stdio.h>
#include <math.h>
#include <string.h>
int i;
float volt[6];
float avg, avg10, avg15, total, a, b;
int main () {
total= 0 ;
avg = 0;
printf("Enter 6 Volts of Machine\n");
for ( i=0; i<6; i++) {
printf("Type %d. volt", i+1);
scanf("%f",&volt[i]);
total = total + volt[i];
}
avg = total/6;
avg10 = (avg * 10) / 100;
avg15 = (avg * 15) / 100;
printf("------------------------------------------\n");
printf("The machine Avarage Voltage is %.2f\n", avg);
printf("The Machine Avarage is%.2f\n", avg10);
printf("The Machine 15 Avarage is%.2f\n\n\n", avg15);
for (i=0;i<6;i++) {
a = fabs(volt[i] - avg);
if( a > avg10 ) {
printf("\nVoltage at hour %d was %.2f volts (diffrence of %.2f volts)\n\n", i+1, volt[i], a);
}
}
for (i=0; i<5; i++) {
b = fabs(volt[i+1] - volt[i]);
if( b > avg15) {
printf("\nVoltage change from hour %d to hour %d was %.2f\n\n", i+1, i+2, b);
}
}
}
|
|
|
|
|
I did not see any issue in above code. But what condition you are checking to show the comment - No Issues in voltage?
|
|
|
|
|
I need if not any voltage problem to print
"No problems were encountered.
but just one result. How can I do? Code is right not any problem in code just I need information how can add this print?
|
|
|
|
|
You just need to add a boolean value to indicate whether any problems were found in either of the loops. So your code would have the following additions:
int voltageProblem = 0;
for (i=0;i<6;i++) {
a = fabs(volt[i] - avg);
if( a > avg10 ) {
printf("\nVoltage at hour %d was %.2f volts (diffrence of %.2f volts)\n\n", i+1, volt[i], a);
voltageProblem = 1;
}
}
if (voltageProblem == 0) {
printf("No problems were encountered.\n");
}
|
|
|
|
|
Richard MacCutchan Thank you so much, you are amazing! I tried but wrong first under curly brackets and second I tried
voltageproblem++
.
.
if (voltageproblem==0)
.
.
anyway Just thank you so much. Happy coding
|
|
|
|
|
Happy to help. Good luck in the future.
|
|
|
|
|
And you have some code ?
Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
|
|
|
|
|
Read the thread messages.
|
|
|
|
|
you should have used "Edit" in first message.
Everyone will read your first message, but it is unlikely that everyone will read discussion when not involved.
Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
|
|
|
|
|
Reading the messages first helps to decide whether there is any point in posting a response. Something that I generally do, especially when it is obvious that the thread has a conversation going between OP and another CP member.
|
|
|
|
|
Hi Freinds,
I have combobox control in my mfc application. Here I am adding an item with an empty string and 2 more item with some txt.
if i am navigating through the items, if empty string get selected, it draws a dotted boundary, but when other item is getting selected, dotted boundary of empty string is not getting cleared. So basically I can see 2 items selected at the same time.
please help me out.
Regards,
Amrit
|
|
|
|
|
You could just intercept the DrawItem call and for any empty string simply clear the lpDrawItemStruct->rcRect manually and then pass all the calls thru to the normal drawitem. lpDrawItemStruct has everything you need to know what to draw
lpDrawItemStruct->itemID it the string number
lpDrawItemStruct->itemState & ODS_SELECTED will tell give you if it is selected or not.
lpDrawItemStruct->rcRect is the area to draw in
In vino veritas
|
|
|
|
|
Hi
If have a class member say CFont cf; which is a member of My CDialig derived class which I create on the heap via new
Does storage for cf get allocated when I do the new for the CDialog derived class
Thanks
|
|
|
|
|
Yes, storage for class members will be allocated when the object is created. In the case of class objects (such as your CFont object) their constructor will be called to create them. You can see this happen by stepping through the code in the debugger.
|
|
|
|
|
Code source de FIFO,LIFO,SJF,Round Robin en langage C?
|
|
|
|
|
Hi,
Is it that time of year again? Sorry, we have past our own exams, and are not going to sit yours. I suggest you read a few books on the subject.
Regards and Success
Bram van Kampen
|
|
|
|
|
What about a little study ?
and a little work by yourself ?
Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
|
|
|
|
|
|
Is the first method correct for all the platforms?
I describe the three methods in the following code:
#include <stdio.h>
#include <iostream>
using namespace std;
#define YMAX 6
#define XMAX 4
void print_data2d(float *matriz[XMAX],int max1,char *method);
void print_data2d(float (*matriz)[XMAX],int max1,char *method);
void print_adress(float (*matriz)[XMAX],int ymax,char *method);
void print_adress(float *matriz[XMAX],int ymax,char *method);
void print_data2d(float *matriz,int ymax,int xmax,char *method);
void print_data2d(float **matriz,int ymax,int xmax,char *method);
int main()
{
int x,y;
float *matriz1_m=new float[XMAX*YMAX];
float (*matriz1)[XMAX]=(float (*)[XMAX]) &matriz1_m[0];
float (*matriz2)[XMAX]=new float[YMAX][XMAX];
float *matriz3[YMAX];
for (y=0;y<YMAX;y++)
matriz3[y]=new float[XMAX];
float **matriz4 = new (float*[YMAX]);
for (int y = 0; y < YMAX; y++)
matriz4[y] = new float[XMAX];;
for (y=0;y<YMAX;y++)
for (x=0;x<XMAX;x++)
{
matriz1[y][x]=matriz2[y][x]=matriz3[y][x]=matriz4[y][x]=(y+1)*1000.0f+x;
}
print_data2d(&matriz1[0][0],YMAX,XMAX,"Values 1st method");
print_data2d(matriz3,YMAX,XMAX,"Values 3rd method");
print_data2d(matriz4,YMAX,XMAX,"Values 4th method");
print_data2d(matriz1,YMAX,"Values 1st method");
print_data2d(matriz2,YMAX,"Values 2nd method");
print_data2d(matriz3,YMAX,"Values 3rd method");
print_data2d(matriz4,YMAX,"Values 4rd method");
print_adress( matriz1,XMAX,"Adress 1st method");
print_adress( matriz2,XMAX,"Adress 2nd method");
print_adress( matriz3,XMAX,"Adress 3rd method");
print_adress( matriz4,XMAX,"Adress 3rd method");
long size=sizeof(float)*XMAX*YMAX;
printf("\nMinimum =%li",size);
size= (sizeof(float) + (long) (&matriz1[YMAX-1][XMAX-1]) ) - (long) &matriz1[0][0];
printf("\nArray 1 =%li",size);
size= (sizeof(float) + (long) (&matriz2[YMAX-1][XMAX-1]) ) - (long) &matriz2[0][0];
printf("\nArray 2 =%li",size);
size= (sizeof(float) + (long) (&matriz3[YMAX-1][XMAX-1]) ) - (long) &matriz3[0][0];
printf("\nArray 3 =%li",size);
size= (sizeof(float) + (long) (&matriz4[YMAX-1][XMAX-1]) ) - (long) &matriz4[0][0];
printf("\nArray 4 =%li",size);
delete matriz1_m;
delete[] matriz2;
for (int y=0;y<YMAX;y++)
delete matriz3[y];
for (int y=0;y<YMAX;y++)
delete matriz4[y];
printf("\n\n=== END ===");getchar();getchar();
return 1;
}
void print_adress(float (*matriz)[XMAX],int xmax,char *method)
{
cout << "\n============= INI DIR "<< method << "=============\n";
int x,y;
for (y=0;y<YMAX;y++)
{
for (x=0;x<xmax;x++)
cout << ((long) (&matriz[y][x]) - (long) (&matriz[0][0])) << '\t';
cout <<endl;
}
cout << "\n============= END DIR "<< method << "=============\n";
}
void print_adress(float *matriz[XMAX],int xmax,char *method)
{
cout << "\n============= INI DIR "<< method << "=============\n";
int x,y;
for (y=0;y<YMAX;y++)
{
for (x=0;x<xmax;x++)
cout << ((long) (&matriz[y][x]) - (long) (&matriz[0][0])) << '\t';
cout <<endl;
}
cout << "\n============= END DIR "<< method << "=============\n";
}
void print_data2d(float *matriz[XMAX],int maxy,char *method)
{
cout << "\n============= INI VAL "<< method << "=============\n";
long y,x;
for (y=0;y<maxy;y++)
{
for (x=0;x<XMAX;x++)
{
cout << matriz[y][x] <<'\t';
}
cout <<endl;
}
cout << "============= FIN VAL "<< method << "=============\n";
}
void print_data2d(float (*matriz)[XMAX],int maxy,char *method)
{
cout << "\n============= INI VAL "<< method << "=============\n";
long y,x;
for (y=0;y<maxy;y++)
{
for (x=0;x<XMAX;x++)
{
cout << matriz[y][x] <<'\t';
}
cout <<endl;
}
cout << "============= FIN VAL "<< method << "=============\n";
}
void print_data2d(float **matriz3,int ymax,int xmax,char *method)
{
cout << "\n============= INI VAL "<< method << "=============\n";
long y,x;
for (y=0;y<ymax;y++)
{
for (x=0;x<xmax;x++)
{
cout << matriz3[y][x] <<'\t';
}
cout <<endl;
}
cout << "============= FIN VAL "<< method << "=============\n";
}
void print_data2d(float *matriz1,int ymax,int xmax,char *method)
{
cout << "\n============= INI VAL "<< method << "=============\n";
long y,x;
for (y=0;y<ymax;y++)
{
for (x=0;x<xmax;x++)
{
cout << matriz1[y*xmax+x] <<'\t';
}
cout <<endl;
}
cout << "============= FIN VAL "<< method << "=============\n";
}
modified 30-Apr-16 5:09am.
|
|
|
|
|
Hi,
Four Questions:
1st: What do you mean by 'Different Platforms' It's all standard CPP, Standard Libraries, etc. Should work on any machine that supports a CPP Compiler to ISO Standards.
2nd: Does it Work! (I Don't see any obvious errors at a Glance, but a First Glance can be deceiving in this game, which is the reason we do debugging. I am not willing to do that for you, but I'll offer Help if you encounter a Difficulty.)
3rd: What are you trying to prove, apart from that there is more than one way to skin a Cat (or in this case, write a piece of Code) Otherwise, Did you provide a Crude Example of a Bigger Problem, but you are trying to touch the basics, by simplifying the problem, (and sometimes by Abstracting the problem, hiding the real issues that you try to discuss). For Instance, did you abstract the concept of MFC Classes down to Floating Point Variables.
4th: If it all works, Why pose the question in the first place. (In other words, What was the real question!)
Kind Regards
Bram van Kampen
modified 29-Apr-16 21:35pm.
|
|
|
|
|