Reading math equations in from file












2















I'm making a program where the users get a menu like this



Multiplication 1
Division 2
Subtraction 3
Addition 4
Review 5


where they can choose an option and put in the number range they want to work with and how many problems they want to do and it generates math problems for them.



That part works and I have it so when they get one wrong it puts the problem into a file math.txt using fout and that works.



What I'm trying to do now is when they choose to review it reads in the file and gives them those problems.



The file is in the format of (for example)



1 + 1 = 
2 * 2 =


I'm just not sure how to read in the numbers and identify what operation it is (multiplication, addition etc.)



I've tried just getting it to read in a number with



std::ifstream fin("math.txt");
int x;
fin>>x;


But that returns 0 everytime.



So to summarize, my question is-- How can I read in a file and pull the equation (ex. 4 + 4 = n 3 / 3 = ) so that the user can solve it?










share|improve this question




















  • 2





    Close voters: why Too Broad? OP is trying to read a single line from a file, what's broad about that?

    – Tas
    Nov 26 '18 at 22:24











  • Was the file opened correctly? You should check than before reading from it. (although I'm not sure if that's the problem here).

    – Yksisarvinen
    Nov 26 '18 at 22:32
















2















I'm making a program where the users get a menu like this



Multiplication 1
Division 2
Subtraction 3
Addition 4
Review 5


where they can choose an option and put in the number range they want to work with and how many problems they want to do and it generates math problems for them.



That part works and I have it so when they get one wrong it puts the problem into a file math.txt using fout and that works.



What I'm trying to do now is when they choose to review it reads in the file and gives them those problems.



The file is in the format of (for example)



1 + 1 = 
2 * 2 =


I'm just not sure how to read in the numbers and identify what operation it is (multiplication, addition etc.)



I've tried just getting it to read in a number with



std::ifstream fin("math.txt");
int x;
fin>>x;


But that returns 0 everytime.



So to summarize, my question is-- How can I read in a file and pull the equation (ex. 4 + 4 = n 3 / 3 = ) so that the user can solve it?










share|improve this question




















  • 2





    Close voters: why Too Broad? OP is trying to read a single line from a file, what's broad about that?

    – Tas
    Nov 26 '18 at 22:24











  • Was the file opened correctly? You should check than before reading from it. (although I'm not sure if that's the problem here).

    – Yksisarvinen
    Nov 26 '18 at 22:32














2












2








2








I'm making a program where the users get a menu like this



Multiplication 1
Division 2
Subtraction 3
Addition 4
Review 5


where they can choose an option and put in the number range they want to work with and how many problems they want to do and it generates math problems for them.



That part works and I have it so when they get one wrong it puts the problem into a file math.txt using fout and that works.



What I'm trying to do now is when they choose to review it reads in the file and gives them those problems.



The file is in the format of (for example)



1 + 1 = 
2 * 2 =


I'm just not sure how to read in the numbers and identify what operation it is (multiplication, addition etc.)



I've tried just getting it to read in a number with



std::ifstream fin("math.txt");
int x;
fin>>x;


But that returns 0 everytime.



So to summarize, my question is-- How can I read in a file and pull the equation (ex. 4 + 4 = n 3 / 3 = ) so that the user can solve it?










share|improve this question
















I'm making a program where the users get a menu like this



Multiplication 1
Division 2
Subtraction 3
Addition 4
Review 5


where they can choose an option and put in the number range they want to work with and how many problems they want to do and it generates math problems for them.



That part works and I have it so when they get one wrong it puts the problem into a file math.txt using fout and that works.



What I'm trying to do now is when they choose to review it reads in the file and gives them those problems.



The file is in the format of (for example)



1 + 1 = 
2 * 2 =


I'm just not sure how to read in the numbers and identify what operation it is (multiplication, addition etc.)



I've tried just getting it to read in a number with



std::ifstream fin("math.txt");
int x;
fin>>x;


But that returns 0 everytime.



So to summarize, my question is-- How can I read in a file and pull the equation (ex. 4 + 4 = n 3 / 3 = ) so that the user can solve it?







c++






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 26 '18 at 22:21









Piotr Skotnicki

34.9k472118




34.9k472118










asked Nov 26 '18 at 22:19









Harmony KunzlerHarmony Kunzler

448




448








  • 2





    Close voters: why Too Broad? OP is trying to read a single line from a file, what's broad about that?

    – Tas
    Nov 26 '18 at 22:24











  • Was the file opened correctly? You should check than before reading from it. (although I'm not sure if that's the problem here).

    – Yksisarvinen
    Nov 26 '18 at 22:32














  • 2





    Close voters: why Too Broad? OP is trying to read a single line from a file, what's broad about that?

    – Tas
    Nov 26 '18 at 22:24











  • Was the file opened correctly? You should check than before reading from it. (although I'm not sure if that's the problem here).

    – Yksisarvinen
    Nov 26 '18 at 22:32








2




2





Close voters: why Too Broad? OP is trying to read a single line from a file, what's broad about that?

– Tas
Nov 26 '18 at 22:24





Close voters: why Too Broad? OP is trying to read a single line from a file, what's broad about that?

– Tas
Nov 26 '18 at 22:24













Was the file opened correctly? You should check than before reading from it. (although I'm not sure if that's the problem here).

– Yksisarvinen
Nov 26 '18 at 22:32





Was the file opened correctly? You should check than before reading from it. (although I'm not sure if that's the problem here).

– Yksisarvinen
Nov 26 '18 at 22:32












1 Answer
1






active

oldest

votes


















3














It sounds like the problem is that you haven't flushed the previous write operation. You can either do this explicitly with flush() or close() your fout instance. Example:



std::ofstream fou("math.txt");
fou << "1 + 1 =";
// Need this: fou.close();

std::ifstream fin("math.txt");
int x;
fin >> x;
std::cout << x;


I was able to reproduce your problem when fou.close() was missing.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53489991%2freading-math-equations-in-from-file%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    3














    It sounds like the problem is that you haven't flushed the previous write operation. You can either do this explicitly with flush() or close() your fout instance. Example:



    std::ofstream fou("math.txt");
    fou << "1 + 1 =";
    // Need this: fou.close();

    std::ifstream fin("math.txt");
    int x;
    fin >> x;
    std::cout << x;


    I was able to reproduce your problem when fou.close() was missing.






    share|improve this answer




























      3














      It sounds like the problem is that you haven't flushed the previous write operation. You can either do this explicitly with flush() or close() your fout instance. Example:



      std::ofstream fou("math.txt");
      fou << "1 + 1 =";
      // Need this: fou.close();

      std::ifstream fin("math.txt");
      int x;
      fin >> x;
      std::cout << x;


      I was able to reproduce your problem when fou.close() was missing.






      share|improve this answer


























        3












        3








        3







        It sounds like the problem is that you haven't flushed the previous write operation. You can either do this explicitly with flush() or close() your fout instance. Example:



        std::ofstream fou("math.txt");
        fou << "1 + 1 =";
        // Need this: fou.close();

        std::ifstream fin("math.txt");
        int x;
        fin >> x;
        std::cout << x;


        I was able to reproduce your problem when fou.close() was missing.






        share|improve this answer













        It sounds like the problem is that you haven't flushed the previous write operation. You can either do this explicitly with flush() or close() your fout instance. Example:



        std::ofstream fou("math.txt");
        fou << "1 + 1 =";
        // Need this: fou.close();

        std::ifstream fin("math.txt");
        int x;
        fin >> x;
        std::cout << x;


        I was able to reproduce your problem when fou.close() was missing.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 26 '18 at 22:32









        user10708715user10708715

        461




        461
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53489991%2freading-math-equations-in-from-file%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

            Calculate evaluation metrics using cross_val_predict sklearn

            Insert data from modal to MySQL (multiple modal on website)