#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <cstdlib>
#include <string.h>
#include <stdlib.h>
#include <fstream>
usingnamespace std;
class baza
{
public:
int m;
string nazwa;
int kcal;
int menu(int m);
void wczytywanie();
void historia();
void kalorie(string nazwa);
string produkt(int kcal);
int bilans();
void dzienne_zestawienie();
void dieta();
void swoje_zestawienie();
void informacje();
};
void baza::kalorie(string nazwa)
{
string produkt,linia;
int kal;
ifstream plik ("kalorie.txt");
if (plik.is_open())
{
while ( plik.good() )
{
getline (plik,linia);
produkt = linia.substr(0, linia.rfind(" "));
kal = atoi(linia.substr(linia.rfind(" "),linia.size()-linia.rfind(" ")).c_str());
if(produkt == nazwa)
{
cout << "kalorie na 100g: "<< kal << endl;
break ;
}
}
plik.close();
}
}
string baza::produkt(int kcal)
{
string produkt,linia;
int kal;
string *produkty;
produkty = new string [1000];
ifstream plik ("kalorie.txt");
if (plik.is_open())
{
while ( plik.good() )
{
getline (plik,linia);
produkt = linia.substr(0, linia.rfind(" "));
kal = atoi(linia.substr(linia.rfind(" "),linia.size()-linia.rfind(" ")).c_str());
if(kal <= kcal)
{
cout << "produkt o takiej ilosci kalorii lub mniejszej: "<< produkt << endl;
break ;
}
}
plik.close();
}
}
int baza::menu( int m )
{
poczatek:
system("cls");
cout << " BAZA KALORII" << endl;
cout << " ==============================================" << endl;
cout << " WITAJ!" << endl;
cout << "Ten program ulatwi ci zdrowo sie odzywiac oraz odchudzac :)" << endl << endl;
cout << " [1] Ilość kalorii na 100g produktu" << endl;
cout << " [2] Produkt o wybranej ilosci kalorii" << endl;
cout << " [3] Twoj bilans dzienny" << endl;
cout << " [4] Dzienne zestawienia posilkow" << endl;
cout << " [5] Odpowiednia dla ciebie dieta" << endl;
cout << " [6] Historia" << endl;
cout << " [7] Twoje zestawienia posilkow" << endl;
cout << " [8] Przydatne informacje" << endl;
cout << " [0] Koniec programu" << endl << endl;
cin >> m;
char key = 0;
system("cls");
do {
switch (m)
{
case 1:{
string nazwa;
baza nowa_nazwa;
cout << "Wprowadz nazwe produktu" << endl;
cin >> nazwa;
cout << endl;
nowa_nazwa.kalorie(nazwa);
break;}
case 2:{
int kcal;
baza nowe_kalorie;
cout << "Wprowadz ilosc kalorii do ktorej bedzie szukany produkt" << endl;
cin >> kcal;
cout << endl;
nowe_kalorie.produkt(kcal);
break;}
case 3:
{ }
break;
case 4:
{ }
break;
case 5:
{ }
break;
case 6:
{ }
break;
case 7:
{ }
break;
case 8:
{ }
break;
case 0:
{ cout << "Bye Bye :)";
break;}
default:{
cout << "Niepoprawne dzialanie" << endl;
}
}
cout << "\nAby zakonczyc wcisnij 2xESC."<<endl;
cout <<"Aby zaczac od nowa wcisnij ENTER."<<endl<<endl;
do {
key = getch();
if(key != 27) goto poczatek;
}while (key != 27);
} while (key != 27);
}
int main()
{
int m;
baza nowy;
nowy.menu(m);
system("PAUSE");
return 0;
}
the funktion produkt(int kcal) is searching products that have less or the same kalories that the user has written. this funktion is displaying one product and then program is bracking up.
A part of the file:
Actimel 88
Advocat 50
Agrest 60