|
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
void OpenFiles(char ch, float gpa);
void initialize(int fcout, int mcout, float fgpa, float mgpt);
void sumGrades( int fcout, int mcout, float fgpa, float mgpa);
void averageGrades(float avfgpa, float avmgpa);
void printResults(int fcout, int mcout, float avfgpa, float avmgpa);
void main()
{
ofstream out;
ifstream in;
char ch;
float gpa;
float avfgpa;
float avmgpa;
int fcout, mcout;
float fgpa; //define female GPA
float mgpa; //define male GPA
initialize (fcout, mcout, fgpa, mgpa);
OpenFiles(ch, gpa);
while(!in.eof())
{
sumGrades(fgpa,mgpa,fcout,mcout);
in>>ch>>gpa;
averageGrades(avfgpa, avmgpa);
}
printResults(fcout, mcout, avfgpa, avmgpa);
return;
}
void OpenFiles(char ch, float gpa)
{
ofstream out;
ifstream in;
in.open("k:\\prob-7.txt",ios::in);
if (!in)
{
cout<<"Can not open input file"<<endl;
cout<<"program terminates!!"<<endl;
}
in.get(ch);
in>>gpa;
in.eof();
out.open("k:\\out.txt", ios::out);
out<<fixed<<showpoint;
out<<setprecision(2);
//out<<"Female" <<ch<<endl;
}
void initialize(int fcout, int mcout, float fgpa, float mgpa)
{
fgpa = 0.0;
mgpa= 0.0;
fcout = 0;
mcout = 0;
}
void sumGrades(int fcout, int mcout, float fgpa, float mgpa)
{
char ch;
float gpa;
OpenFiles(ch, gpa);
switch (ch)
{
case 'F':
case 'f': fgpa = fgpa+gpa;
fcout++;
//avfgpa = fgpa/fcout;
break;
case 'M':
case 'm': mgpa = mgpa + gpa;
mcout++;
//avmgpa = mgpa/mcout;
break;
default: cout<<"invalid gender"<<endl;
return;
}
}
void averageGrades(float avfgpa, float avmgpa)
{
float fgpa, mgpa;
int fcout, mcout;
sumGrades(fcout, mcout, fgpa, mgpa);
avfgpa = fgpa/fcout;
avmgpa = mgpa/mcout;
}
void printResults(int fcout, int mcout, float avfgpa, float avmgpa)
{
ofstream out;
out<<"Number of female ="<<fcout<<endl;
out<<"Average female GPA = "<<avfgpa<<endl;
out<<"Number of male ="<<mcout<<endl;
out<<"Average male GPA ="<<avmgpa<<endl;
out.close();
}
give a lots of error vs warning, I think that having trouble with function calls, and passing to main function, but i have no idea to fix cause the book i am studying hasnt clear out much.
summerize what program will do :
open a file with 2 columes; one is letter of f or m (represent for female and male), the other colume is GPA (grade).
read it and sum the gpa of female , sum the gpa of male, and display the everage of female and male gpa.
the function calls need to have 5 of them:
initialize variable
open and format output
sum gpa of female and male
find the average of female male gpa
print the rerults.
|
|
|
|
|
Please read the posting guidelines here[^] because your post is almost unreadable.
|
|
|
|
|
In the sample code below,
when an exception is catched,
e.what() always returns ios_base::failbit set .
Is there any built in way that can tell more detailed information about the exception?
ifstream infile;
infile.exceptions(ios_base::failbit|ios_base::badbit);
try {
infile.open(L"c:\\data1.txt");
int i,j,k;
infile>>i>>j>>k;
wcout<<i<<L' '<<j<<endl;
} catch (exception &e) {
cout<<e.what()<<endl;
return -1;
}
system
|
|
|
|
|
What if you catch ifstream::failure instead of exception?
...
} catch (ifstream::failure e) {
...
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
try {
...
} catch (ifstream::failure &e) {
cout<<e.what()<<endl;
return -1;
}
I tried this, but the same result.
system
|
|
|
|
|
//suppose data.txt is like this:
//11 22
int i,j;
ifstream infile(L"data.txt")
infile>>i>>j;
//what if data.txt is like this:
//aa bb
string a,b;
infile>>a>>b;
Any STL way to do this?
system
|
|
|
|
|
What is the most efficient way to invert the RGB portion of an ARGB without effecting the alpha byte?
For simplicity, I'm assuming the alpha byte is the most significant byte, followed by the Red, Green, and Blue (at least for the sake of discussion)
My best guess at this point is something like...
color ^= 0x00FFFFFF;
modified on Saturday, August 30, 2008 1:41 PM
|
|
|
|
|
bob16972 wrote: My best guess at this point is something like...
color ^= 0x00FFFFFF;
I don't know how you'd flip the bits more efficiently than that.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Thanks. I wasn't sure if there was a machine code or assembly guru who would pouce on that with something faster.
|
|
|
|
|
Maybe on the looping but a 32-bit XOR is a single instruction.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
In C#, when calling a GUI control from another thread, you can use Control.IsInvokeRequired and Control.Invoke.
I am looking for the C++ equivalent (when using CWnd).
Any ideas?
|
|
|
|
|
Typically UI processing is all done on one thread.
You can post messages from another thread to windows created
on the UI thread. The posted messages will be queued and processed
on the UI thread.
I've personally never needed a "IsInvokeRequired" since I generally
know if I'm writing UI thread code or not.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Hi all,
I want to open network connection dialog, how can i do so?
thanks in advance
|
|
|
|
|
I'm not sure if this is what you're looking for, but you can find a windows app called rasphone.exe in C:\Windows\System32.
So, something like this might help:
ShellExecute(0, 0, _T("rasphone.exe"), 0, 0, SW_SHOW);
When you execute that, it will let you connect, disconnect, and edit properties of you network connections.
Hope it helps.
|
|
|
|
|
Have you tried SHGetFolderLocation(NULL, CSIDL_CONNECTIONS, ...) ? That would get you a PIDL that can then be used to obtain the actual path of the "Network Connections" virtual folder.
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
The control panel "dialog"?
If so...
// On Vista:
::CreateProcess(_T("C:\\Windows\\System32\\control.exe"),
_T(" /name Microsoft.NetworkAndSharingCenter"),
...
// On older OSs (I didn't test this):
::CreateProcess(_T("C:\\Windows\\System32\\control.exe"),
_T(" ncpa.cpl"),
...
And if that's the wrong dialog, never mind
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
thanks for your solution it worked for vista but the one which you gave for lower version is not working(xp i have checked)....
|
|
|
|
|
sorry its working thanks for your answer
|
|
|
|
|
Hi All,
I just want to know how to create folders using Vc++ code...
Thanks & Regards
Anitha
|
|
|
|
|
You may use the Win32 API CreateDirectory to create a new folder.
If the function succeeds, the return value will be nonzero.
Regards,
Rane
|
|
|
|
|
Im using MFC (dialog based application).
|
|
|
|
|
Hi,
You can use WIN32 API in MFC also..
The price of anything is the amount of life you exchange for it.
Thanks and Regards.
SANTHOSH V
|
|
|
|
|
Here is sample code for what Rane says:
if (::<code>CreateDirectory</code>("C:\\temp\\", NULL) == 0)
{
}
else
{
}
zafer
|
|
|
|
|
Hi,
Can anybody tell me why am I not getting Value's data in below code, in buffer 'pszRegValData' ? The surprising thing is that I am able to receive other value's data in it which has REG_SZ datatype... but the value for which it's not giving any output has REG_SZ as a datatype too.. data for it is "04/26/2007 10:20:01".. It's not giving me data in buffer(pszRegValData) for REG_BINARY too...
retCode = RegEnumValue(hkScanKey, i,
szRegValueName,
&dwRegValNameLen,
NULL,
&dwRegValType,
(LPBYTE)pszRegValData,
&dwRegValLen);
Thanks in advance.
regards,
Supriya Tonape
|
|
|
|
|
also the error code I get is '234' though I am making sure that buffer has enough size to hold the returned data...
|
|
|
|
|