hi ,
i'm writing a program which calculates registration fee of student and this program opens an external txt file.It's my first time writing a program with an input file so i'm kinda confused.my program asks for the status and number of credits but does not gimme the fee.

#include<iostream>
#include<fstream>
#include<iomanip>
#include<cstdlib>
#include<conio.h>
#include<cmath>
using namespace std;

int main()

{

      string filename = "registration fee.txt";

      ifstream inFile;


int n;
double fee;
char response1,response2;

char i,o,u,g;

inFile.open("registration fee.txt");

cout<<"please enter your status of residence,type i or o"<<endl;

cin>>response1;

cout<<"please enter your status of study,type u or g"<<endl;

cin>>response2;

cout<<"please enter your number of credits"<<endl;

cin>>n;
i = 0;
u = 0;
if ((response1 == i)&& (response2 == u))

{

      if (n < 12)

      {

fee = ((280 *n *0.35)+ (43 * n));

      cout<<"status of residence : " << response1<<endl;

      cout<<"status of study : "<<response2<<endl;

      cout<<"number of credits : "<<endl;

      cout<<fee<<endl;

      if (n >= 12)

      {

            fee = ((280 *n *0.35)+ (43 * 12));

cout<<"status of residence : " << response1<<endl;

      cout<<"status of study : "<<response2<<endl;

      cout<<"number of credits : "<<endl;

      }

}

}
g = 0;
if((response1 == i) && (response2 == g))

{

      if (n < 9)

      {

            fee = (400 * n * 0.35) + (43 * n) + 10;

cout<<"status of residence : " << response1<<endl;

      cout<<"status of study : "<<response2<<endl;

      cout<<"number of credits : "<<endl;

      cout<<fee<<endl;

      if (n >= 9)

      {

            fee = (400 * n * 0.35) + (43 * 9) + 10;

cout<<"status of residence : " << response1<<endl;

      cout<<"status of study : "<<response2<<endl;

      cout<<"number of credits : "<<endl;

      cout<<fee<<endl;

      }

}

}
o = 1;
if ((response1 == o)&& (response2 == u))

{

      if (n < 12)

      {

fee = (280 * n) + (43 * n); 

cout<<"status of residence : " << response1<<endl;

      cout<<"status of study : "<<response2<<endl;

      cout<<"number of credits : "<<endl;

      cout<<fee<<endl;

      if (n >= 12)

      {

            fee = (280 * n) + (43 * 12);

cout<<"status of residence : " << response1<<endl;

      cout<<"status of study : "<<response2<<endl;

      cout<<"number of credits : "<<endl;

      cout<<fee<<endl;

      }

}

}

if ((response1 == o) && (response2 == g))

{

      if (n < 9)

      {

            fee = (400 * n * 0.35) + (43 * n) + 10;

cout<<"status of residence : " << response1<<endl;

      cout<<"status of study : "<<response2<<endl;

      cout<<"number of credits : "<<endl;

      cout<<fee<<endl;

      if (n >= 9)

      {

            fee = (400 * n * 0.35) + (43 * 9) + 10;

cout<<"status of residence : " << response1<<endl;

      cout<<"status of study : "<<response2<<endl;

      cout<<"number of credits : "<<endl;

      cout<<fee<<endl;

      }

}

}

inFile.close();

return 0;

}

this is my txt file,

i     u     n                  

i     g     n                  

o     u     n                  

o     g     n

i don't know if it's right . Please help me

Member Avatar for iamthwee

A few things that stand out are:

-You're reading a file but what are you actually doing with it? if ((response1 == o)&& (response2 == u)) Those letters should be surrounded with apostrophes like so 'o' 'u' -Are those nested if statements actually what you want? I don't think so.

I don't know, have a look at the code below....

#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
#include <cmath>

using namespace std;

int main()
{
  string filename = "registration fee.txt";

  ifstream inFile;
  int n;
  double fee;
  char response1, response2;

  char i, o, u, g;
  inFile.open ( "registration fee.txt" );

  cout << "please enter your status of residence,type i or o" << endl;
  cin >> response1;

  cout << "please enter your status of study,type u or g" << endl;
  cin >> response2;

  cout << "please enter your number of credits" << endl;
  cin >> n;
  i = 0;
  u = 0;
  if ( ( response1 == 'i' ) && ( response2 == 'u' ) )
  {
    if ( n < 12 )
    {
      fee = ( ( 280 * n * 0.35 ) + ( 43 * n ) );
      cout << "status of residence : " << response1 << endl;
      cout << "status of study : " << response2 << endl;
      cout << "number of credits : " << endl;
      cout << fee << endl;
    }
    else if ( n >= 12 )
    {
      fee = ( ( 280 * n * 0.35 ) + ( 43 * 12 ) );
      cout << "status of residence : " << response1 << endl;
      cout << "status of study : " << response2 << endl;
      cout << "number of credits : " << endl;
      cout << fee << endl;
    }
  }
  g = 0;
  if ( ( response1 == 'i' ) && ( response2 == 'g' ) )
  {
    if ( n < 9 )
    {
      fee = ( 400 * n * 0.35 ) + ( 43 * n ) + 10;
      cout << "status of residence : " << response1 << endl;
      cout << "status of study : " << response2 << endl;
      cout << "number of credits : " << endl;
      cout << fee << endl;
    }

    else if ( n >= 9 )
    {      fee = ( 400 * n * 0.35 ) + ( 43 * 9 ) + 10;
      cout << "status of residence : " << response1 << endl;
      cout << "status of study : " << response2 << endl;
      cout << "number of credits : " << endl;
      cout << fee << endl;
    }  
   }
  o = 1;
  if ( ( response1 == 'o' ) && ( response2 == 'u' ) )
  {
    if ( n < 12 )
    {
      fee = ( 280 * n ) + ( 43 * n );
      cout << "status of residence : " << response1 << endl;
      cout << "status of study : " << response2 << endl;
      cout << "number of credits : " << endl;
      cout << fee << endl;
    }

    else if ( n >= 12 )
    {
      fee = ( 280 * n ) + ( 43 * 12 );
      cout << "status of residence : " << response1 << endl;
      cout << "status of study : " << response2 << endl;
      cout << "number of credits : " << endl;
      cout << fee << endl;
    }
  }

  if ( ( response1 == 'o' ) && ( response2 == 'g' ) )
  {
    if ( n < 9 )
    {
      fee = ( 400 * n * 0.35 ) + ( 43 * n ) + 10;
      cout << "status of residence : " << response1 << endl;
      cout << "status of study : " << response2 << endl;
      cout << "number of credits : " << endl;
      cout << fee << endl;
    }

    else if ( n >= 9 )
    {      fee = ( 400 * n * 0.35 ) + ( 43 * 9 ) + 10;
      cout << "status of residence : " << response1 << endl;
      cout << "status of study : " << response2 << endl;
      cout << "number of credits : " << endl;
      cout << fee << endl;
    }
  }

  inFile.close();
  system ( "pause" );
  return 0;
}

thank you very much ,i corrected my mistakes and my program is now working

Member Avatar for iamthwee

Ok, :) Can you explain what the file is for though? Or are you going to work on that now?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.