Gå til innhold

sliter litt med å få output til fil


Gjest Slettet+142

Anbefalte innlegg

Gjest Slettet+142

hei..

 

har et problem her..

eg har laget et lte program som skal hjelpe meg med å gjøre noe drittlekser i heimkunnskap, men har lyst å få det lagret til fil, så...

 

noen som kan hjelpe meg med å få resultatet i denne koden inn i en fil? (windows)

 

resultatet er det som står imellom "------------------------------------------"-cout'ene mine + to cout'er linjer til :p

 


//
//
//

#include <string>
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <iomanip>
#include <cctype>
using namespace std;

int main(){
   double protein;
   double fett;
   double karbo;
   double energi;
   
   double total_g;
   string vare;
   double total;
   
   cout << endl << "Når du skal angi et desimaltall; bruk punktum(.) som komma, ellers vil det bli feil! " << endl << endl;
   
   //protein, karbo, fett, total(+++)
   
   cout << "Hvilket produkt spiste du? ";
   getline(cin, vare);
   cout << endl;
   
   cout << "Angi proteiener pr. 100 gram i gram: ";
   cin >> protein;
   cout << endl;
   cout << "Angi karbohydrater pr. 100 gram i gram: ";
   cin >> karbo;
   cout << endl;
   cout << "Angi Fett pr. 100 gram i gram: ";
   cin >> fett;
   cout << endl;
   cout << "Hvor mye spiste du av \"" << vare << "\" angitt i gram(!) ? ";
   cin >> total_g;
   cout << endl;
   cout << "Hvor mye Energi (angitt i kJ) pr. 100 gram \"" << vare << "\" inneholder...  ";
   cin >> energi;
   cout << endl;
   
   total = protein + karbo + fett;
   
   
   double protein_pr;
   double karbo_pr;
   double fett_pr;
   
   protein_pr = (protein / total) * 100;
   karbo_pr = (karbo / total) * 100;
   fett_pr = (fett / total) * 100;
   
   double protein_kj;
   double karbo_kj;
   double fett_kj;
   
   protein_kj = (protein_pr * energi) / 100;
   karbo_kj = (karbo_pr * energi) / 100;
   fett_kj = (fett_pr * energi) / 100;
   
   double energi_total = (energi / 100) * total_g;
   string betegnelse;
   
   if(energi_total > 1000){ betegnelse = "mJ"; energi_total = energi_total / 1000; }
   else if(energi_total < 1){ betegnelse = "J"; energi_total = energi_total * 1000; }
   else betegnelse = "kJ";
   
   cout << endl << endl << endl << endl;
   cout << "---------------------------------------------------------------------------" << endl;
   cout << "Du har spist: " << vare << endl << endl;
   cout << endl;
   cout << "\"" << vare << "\" inneholder pr. 100g: " << endl << "-----------------------------------------------------" << endl;
   cout << endl;
   cout << "Proteiner: " << protein << "g, altså " << protein_pr << "% av næringsinnholdet, altså " << protein_kj << "kJ...";
   cout << endl << endl;
   cout << "Karbohydrater: " << karbo << "g, altså " << karbo_pr << "% av næringsinnholdet, altså " << karbo_kj << "kJ...";
   cout << endl << endl;
   cout << "Fett: " << fett << "g, altså " << fett_pr << "% av næringsinnholdet, altså " << fett_kj << "kJ...";
   cout << endl;
   cout << endl << "---------------------------------------------------------------------------" << endl;
   cout << endl << endl;
   
   
   
   double t_fett = (fett / 100) * total_g;
   double t_karbo = (karbo / 100) * total_g;
   double t_protein = (protein / 100) * total_g;
   
   double t_fett_pr = (fett_pr / 100) * total_g;
   double t_protein_pr = (protein_pr / 100) * total_g;
   double t_karbo_pr = (karbo_pr / 100) * total_g;
   
   double t_fett_kj = (fett_kj / 100) * total_g;
   double t_karbo_kj = (karbo_kj / 100) * total_g;
   double t_protein_kj = (protein_kj / 100) * total_g;
   
   cout << "---------------------------------------------------------------------------" << endl;
   cout << "Du har spist: " << vare << endl << endl;
   cout << endl;
   cout << "\"" << vare << "\" inneholder TOTALT (" << total_g << " gram) " << endl << "-----------------------------------------------------" << endl;
   cout << endl;
   cout << "Proteiner: " << t_protein << "g, altså " << t_protein_pr << "% av næringsinnholdet, altså " << t_protein_kj << "kJ...";
   cout << endl << endl;
   cout << "Karbohydrater: " << t_karbo << "g, altså " << t_karbo_pr << "% av næringsinnholdet, altså " << t_karbo_kj << "kJ...";
   cout << endl << endl;
   cout << "Fett: " << t_fett << "g, altså " << t_fett_pr << "% av næringsinnholdet, altså " << t_fett_kj << "kJ...";
   cout << endl;
   cout << endl << "---------------------------------------------------------------------------" << endl;
   cout << endl << endl;
   
   
   cout << "Total energi pr. 100g var: " << energi << "kJ." << endl;
   cout << "Total energi som du spiste, var " << energi_total << betegnelse << "." << endl;
   
   
   cout << endl << endl << endl << endl;
   system("pause");
   return 0;
}

   //(antall% <ganget med> antall som skal regnes prosent ut ifra) / 100( %)
   //
   //eks: (50% * 200) / 100 = 100
   /*
   
   string alt;
   
   alt.insert(alt.length(), "\n\n\n\n");
   alt = "---------------------------------------------------------------------------" + "\n";
   alt.insert(alt.length(), "Du har spist: " + vare + "\n\n");
   alt.insert(alt.length(), "\n");
   alt.insert(alt.length(), "\"" + vare + "\" inneholder pr. 100g: " + "\n" + "-----------------------------------------------------" + "\n");
   alt.insert(alt.length(), "\n");
   alt.insert(alt.length(), "Proteiner: " + protein + "g, altså " + protein_pr + "% av næringsinnholdet, altså " + protein_kj + "kJ...");
   alt.insert(alt.length(), "\n\n");
   alt.insert(alt.length(), "Karbohydrater: " + karbo + "g, altså " + karbo_pr + "% av næringsinnholdet, altså " + karbo_kj + "kJ...");
   alt.insert(alt.length(), "\n\n");
   alt.insert(alt.length(), "Fett: " + fett + "g, altså " + fett_pr + "% av næringsinnholdet, altså " + fett_kj + "kJ...");
   alt.insert(alt.length(), "\n");
   alt.insert(alt.length(), "\n" + "---------------------------------------------------------------------------" + "\n");
   alt.insert(alt.length(), "\n\n");
   
   alt.insert(alt.length(), "Total energi pr. 100g var: " + energi + "kJ." + "\n");
   alt.insert(alt.length(), "Total energi som du spiste, var " + energi_total + betegnelse + "." + "\n");
   
   cout << alt;
   alt > "C:\\text.txt";
   
   */


 

PS: eg e temmelig C++ noob, så kan være koden over e veldig "idiotisk" altså...

 

koden vil mest sannsylnlig bli oppdatert litt etter litt

 

håper på hjelp og takker for alle svar :)

Endret av Slettet+142
Lenke til kommentar
Videoannonse
Annonse

http://www.cppreference.com/cppio/constructors.html

 

#include <iostream>
#include <fstream>
#include <string>

using namespace std;


int main(){
 fstream output("testtttt.txt", ios::out|ios::trunc);

 string name;
 unsigned int age;
 cout << "type in your name and press enter: ";
 cin >> name;
 cout << "type in your age and press enter: ";
 cin >> age;

 // write to file.
 output << name << endl;
 output << age << endl;

 output.close();

 // now we open the recently created file and read in the values again.
 fstream input("testtttt.txt", ios::in);

 string name_from_file;
 unsigned int age_from_file;
 input >> name_from_file;
 input >> age_from_file;

 cout << "the data read from the file was '" << name_from_file
      << "' and '" << age_from_file << endl;

 input.close();  
 
 return 0;}

 

lars@ibmr52:~/programming/c$ g++ -Wall -g std-c++-file-io.cpp -o std-c++-file-io && ./std-c++-file-io

type in your name and press enter: Lars

type in your age and press enter: 26

the data read from the file was 'Lars' and '26

lars@ibmr52:~/programming/c$ cat testtttt.txt

Lars

26

Endret av lnostdal
Lenke til kommentar
Gjest Slettet+142

tusen takk :w00t:

 

men mens tråden kanskje blir sett;

 

noen som kan hjelpe meg med å få legt datoen (dd.åå) inn i en variabel "string dato"?

 

eg kan og si at eg har sett her, men at eg ikkje skjønner strukturen og kordan eg får det til å virke :p (me = c++ noob)

Endret av Slettet+142
Lenke til kommentar
Gjest Slettet+142

ehm.. eg endret innlegget litt over... gidd u se på då? evt. hjelpe meg med det?

og; eg kjører windows på akkurat denne maskinen :(

 

går det forresten an å legge output/resultat fra en system()-kommando inn i en variabel?

då kan eg jo bare bruke som et eksempel her

 

string dato = system("DATE /T");

 

- noe som det kommer feilmelding på :(

Endret av Slettet+142
Lenke til kommentar

#include <iostream>
#include <ctime>

using namespace std;

int main(){
 unsigned int const MAXSIZE = 50;
 char str[MAXSIZE];
 time_t t = time(0);
 strftime(str, MAXSIZE, "%b.%y", gmtime(&t));
 string result = str;
 cout << "current date: " << result << endl;
 return 0;}

 

lars@ibmr52:~/programming/c$ g++ -g -Wall std-time-date.cpp -o std-time-date && ./std-time-date

current date: Sep.06

 

edit:

Om du tar en titt her http://www.cppreference.com/stddate/strftime.html så ser du at du kan hente ut andre data rundt dette med tid også.

Endret av lnostdal
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...