• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Petla, wyswietlanie danych, stawka brutto

0 głosów
177 wizyt
pytanie zadane 29 stycznia 2016 w C i C++ przez kombinujacy Nowicjusz (120 p.)
Witam, mam problem.. Nie mam pojecia jak zrobic, zeby wszystkie dane z petli zostaly wyprowadzone na ekran (po czym dokona sie zapis do plku ) oraz ze stawka brutto, w ktorym miejscu mam ja dodac, zeby prawidlowo zostala obliczona (prosilbym o szybka odpowiedz) ponizej wstawiam kod:

 

#include <iostream>
#include <ostream>
#include <stdio.h>
#include <cstdlib>
#include <conio.h>
#include <fstream>
#include <windows.h>
#include <math.h>
using namespace std;

int main(int argc, char** argv[])

{
double brutto, netto; string nazwa;
char wybor; // przejscie z menu
int vat, kod, N;
int s=0;
brutto = netto *(1+(vat/100));
double v;
v= vat/100;

for(;;)
{

    cout << "Program przechowuje pozycje faktur" << endl;
    cout << "Podaj ilosc pozycji" << endl;
    cin >> N;    
    cout << "Podaj wartosc VAT dla wszystkich pozycji" << endl;
    cin >> vat;
    cout << "Podanych pozycji jest : "<< N << endl;
    cout << "Stawka VAT dla podanych pozycji wynosi: "<< vat << endl;
    cout << "Co chcesz zrobic: " << endl;
    cout << "1. Przypisz wartosci, zapis do pliku, wypisanie ich" << endl;
    cout << "2. Zakoncz program" << endl;
v=vat/100;
brutto= netto *(1+v);
    wybor=getch();
    switch(wybor)
{
case '1':

    cout << " Podaj kod, nazwe oraz cene netto" << endl;
{
fstream plik;
plik.open("test123.txt", ios::out);
{
for(int s=1; s<=N; s++)
{        
cin >> kod >> nazwa >> netto;
cout << s <<". Kod: "<< kod << " "<< " Nazwa: "<< nazwa<< " "<< "Cena netto: " << netto <<" Cena brutto: "<<brutto << endl;
}
}
plik<<s<<endl;
plik.close();
}
break;

case '2':
    exit(0);
break;
default:
    cout << "Nie ma takiej opcji w MENU" << endl;
}
    getchar();getchar();
    system("cls");    
}

    return 0;
}

1 odpowiedź

+1 głos
odpowiedź 29 stycznia 2016 przez Kaze47 Obywatel (1,700 p.)
brutto = netto * (1+v);

obliczasz to zaraz przed wypisaniem na ekran i zapisem do pliku.

Zapis do pliku też zrób w pętli tylko zamknięcie pliku poza nią.

i popraw klamry w switch ;)
komentarz 29 stycznia 2016 przez kombinujacy Nowicjusz (120 p.)
edycja 29 stycznia 2016 przez kombinujacy
Bardziej chodzilo mi o mozliwosc wypisania wszystkich danych z petli.. nie po kazdej linii kodu, tylko zeby wszystko bez wprowadzania juz danych wyrzucilo na ekran :p

KOD:

#include <iostream>
#include <ostream>
#include <stdio.h>
#include <cstdlib>
#include <conio.h>
#include <fstream>
#include <windows.h>
#include <math.h>
using namespace std;

int main(int argc, char** argv[])

{
double brutto, netto; string nazwa;
char wybor; // przejscie z menu
int vat, kod, N;
int s=0;
double v;
v= vat/100;

for(;;)
{

    cout << "Program przechowuje pozycje faktur" << endl;
    cout << "Podaj ilosc pozycji" << endl;
    cin >> N;    
    cout << "Podaj wartosc VAT dla wszystkich pozycji" << endl;
    cin >> vat;
    cout << "Podanych pozycji jest : "<< N << endl;
    cout << "Stawka VAT dla podanych pozycji wynosi: "<< vat << endl;
    cout << "Co chcesz zrobic: " << endl;
    cout << "1. Przypisz wartosci, zapis do pliku, wypisanie ich" << endl;
    cout << "2. Zakoncz program" << endl;
v=vat/100;
brutto= netto *(1+v);
    wybor=getch();
    switch(wybor)
{
case '1':

    cout << " Podaj kod, nazwe oraz cene netto" << endl;
{

for(int s=1; s<=N; s++)
{
fstream plik;
plik.open("test123.txt", ios::out);    
{
cin >> kod >> nazwa >> netto;
brutto=netto*(1+v);
cout << s <<". Kod: "<< kod << " "<< " Nazwa: "<< nazwa<< " "<< "Cena netto: " << netto <<" Cena brutto: "<<brutto << endl;
plik<<s<<endl;
}
plik.close();
}
}
break;

case '2':
    exit(0);
break;
default:
    cout << "Nie ma takiej opcji w MENU" << endl;
}
    getchar();getchar();
    system("cls");    
}

    return 0;
}

 

klamry sprawdzalem i wydaje mi sie ze sa dobrze, a  z zapisem  o to chodzilo ? + stawka vat podawana jest bez % wiec musi to troche inaczej wygladac, bo jak ktos poda np 23 to wyjdzie 23+1= 24 * netto | a jezeli nie o to chodzilo to prosilbym o dokladne wskazanie.. calkiem juz glowe stracilem :/ no i petla tez wypisuje tylko ostatnia pozycje (nawet do pliku przy zapisie ) ;/
komentarz 31 stycznia 2016 przez Kaze47 Obywatel (1,700 p.)
jezeli tak jak piszesz:

vat = 23 //liczba calkowita

netto=100 //przykladowa kwota

v=vat/100 // to v=23/100=0,23

netto * (1+v)=100*(1+0,23)=100*1,23=123 //kwota brutto

a jesli chcesz zeby petla Ci wszystko wyswietlila na koncu, to musisz albo w trakcie wprowadzania zapisywac to do pliku i pozniej na koncu odczytac albo stworzyc jakas dynamiczna tabele ktora by te informacje przez zapisem przechowywala

plik musisz otworzyc przed wejsciem w petle, w samej petli dopisujesz dane do pliku, a zamykasz plik po zakonczeniu petli inaczej tak jak w tym przypadku bedziesz nadpisywal dane

Podobne pytania

0 głosów
3 odpowiedzi 194 wizyt
pytanie zadane 25 sierpnia 2017 w PHP przez RAFI Początkujący (390 p.)
0 głosów
1 odpowiedź 246 wizyt
pytanie zadane 18 listopada 2016 w C i C++ przez Kunka Nowicjusz (170 p.)
0 głosów
2 odpowiedzi 466 wizyt
pytanie zadane 7 października 2023 w PHP przez Piotrek2713 Mądrala (5,520 p.)

93,604 zapytań

142,526 odpowiedzi

322,991 komentarzy

63,089 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...