To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
Forum Oficjalnego Klubu Mitsubishi - MitsuManiaki

Off Topic - SZukam kozaka programisty od C++

karolgt - 29-01-2008, 20:19

dylirzans napisał/a:
Teraz tylko chcialbym zeby program pytal o ponowne przeliczenie no i zeby te wyniki jakos ladnie podawal w ramce itp


Kod:

#include <iostream>
// definicja klasy, pola prywatne + metody publiczne
using namespace std;

class TFaktura
{
private:
double netto;
double vat;
double brutto;
public:
void WstawNetto(float);
void WstawVat(float);
void WstawBrutto(float);
void PodajWszystko();
void Oblicz();
};
void TFaktura::WstawNetto(float n)
{
netto=n;
};
void TFaktura::WstawVat(float v)
{
vat=v;
};
void TFaktura::Oblicz()
{
brutto = netto + vat/100.0 * netto;
};
void TFaktura::PodajWszystko()
{
cout << " \t | netto | " << " \t | brutto | " << " \t | vat |" << endl;
cout << " \t " << netto << " " << " \t\t " << brutto << " " << " \t\t  " << vat << endl;

};


int main( int argc, const char* argv[] )
{
cout << "\n\t Witam w programie do obliczania wartosci brutto";
double w_netto;
int wybor;

TFaktura fakturka;
int n=1;
int i;
while(n)
{
cout << " \t\t\n\n\n\n Wybierz dzialanie (1 lub 2): \n\n";
cout << " 1 - Podanie wartosci  \n";
cout << " 2 - Koniec programu \n";

cin >> wybor;

switch(wybor)
{
case 1:
    cout << "Podaj wartosc netto:\n" << endl;
    cin >> w_netto;
    fakturka.WstawNetto(w_netto);
    fakturka.WstawVat(22);
    fakturka.Oblicz();
    fakturka.PodajWszystko();
break;

case 2:
    cout << " Koniec programu " << endl;
    n=0;
break;


default :
    cout << "\n Wybrano zle polecenie \n ";
break;

}
}

return 0;
}


tylko musisz przerobic pod swoj kompilator co on tam potrzebuje.
p.s oczywiscie kod na szybko pisany :D

arekp - 29-01-2008, 22:13

karolgt napisał/a:
arekp napisał/a:

cns80 napisał/a:
lub przynajmniej dać mu wskazówki

Na samym poczatku zaproponowalem uzyczenie bardzo dobrej ksiazki do nauki C.


ciekawe gdzie On by w tej książce klasy znalazł, chyba tylko jako opis ze w 2 części są opisane.


Jest caly rozdzial na temat klas :-)


Jesli chodzi o opracowywany przez Was program warto tez dodac sprawdzenie czy podana wartosc netto nie jest ujemna, nie podawac na sztywno 22% stawki VAT poniewaz mamy ich troche wiecej i albo dac do wyboru stawki VAT (22, 7, 3, 0) albo pilnowac co uzytkownik wprowadzi (wartosc nieujemna i na przyklad nie wieksza niz 100 lub czy wprowadzono jedna z powyzszych)

Po przeliczeniu stawki program powinien zapytac czy policzc nowa wartosc :)

Anonymous - 29-01-2008, 22:31

arekp napisał/a:
Jesli chodzi o opracowywany przez Was program warto tez dodac sprawdzenie czy podana wartosc netto nie jest ujemna, nie podawac na sztywno 22% stawki VAT poniewaz mamy ich troche wiecej i albo dac do wyboru stawki VAT (22, 7, 3, 0) albo pilnowac co uzytkownik wprowadzi (wartosc nieujemna i na przyklad nie wieksza niz 100 lub czy wprowadzono jedna z powyzszych)


jak to latwo napisac...

karolgt - 29-01-2008, 22:55

dylirzans napisał/a:
arekp napisał/a:
Jesli chodzi o opracowywany przez Was program warto tez dodac sprawdzenie czy podana wartosc netto nie jest ujemna, nie podawac na sztywno 22% stawki VAT poniewaz mamy ich troche wiecej i albo dac do wyboru stawki VAT (22, 7, 3, 0) albo pilnowac co uzytkownik wprowadzi (wartosc nieujemna i na przyklad nie wieksza niz 100 lub czy wprowadzono jedna z powyzszych)


jak to latwo napisac...


zrobie Ci to jutro, dzisiaj juz mi sie nie chce :D a Ty w tym czasie mozesz sam sprobowac.

(Pobieranie Vatu - dokladnie tak samo jak pobieranie ceny netto)

[ Dodano: 29-01-2008, 22:59 ]
arekp napisał/a:
karolgt napisał/a:
arekp napisał/a:

cns80 napisał/a:
lub przynajmniej dać mu wskazówki

Na samym poczatku zaproponowalem uzyczenie bardzo dobrej ksiazki do nauki C.


ciekawe gdzie On by w tej książce klasy znalazł, chyba tylko jako opis ze w 2 części są opisane.


Jest caly rozdzial na temat klas :-)



nie ma :wink:
są klasy zmiennych, a nie opis klas w rozumienia tworzenia obiektów jak w cpp

arekp napisał/a:

Po przeliczeniu stawki program powinien zapytac czy policzc nowa wartosc :)


to juz jest :) a z resztą niech sie sam pomęczy a jak nie wyjdzie to mu dopisze jutro

[ Dodano: 30-01-2008, 23:30 ]
dylirzans i jak napisales juz ?
czy wkleic Ci gotowe/poprawione rozwiazanie ? :wink:

gigant87 - 03-02-2008, 21:51

to teraz ja :)

potrzebowałbym pomocy przy pisaniu programu w ANSI C

ma to być baza danych oparta na liście jednokierunkowej z możliwością dodawania wpisów, odejmowania, sortowania, filtrowania, wyświetlania, przeglądania, zapisywania i odtwarzania z pliku. :)

moja baza to książka telefoniczna... dane są w pliku ksiazka.txt

musze jeszcze dopisać edytowanie kontaktu, planuję to zrobić tak, aby po wybraniu 3 wyświetlała się lista kontaktów i by z nich wybierać kontakt do edycji, choć nie wiem czy to dobre i łątwe rozwiązanie

czy ktoś z Was ma może gotową jakąś bazę danych spełniającą choć część wymagań, na której mógłbym się wzorować?


na razie tak to wygląda



Kod:

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


struct osoba
{
        char *imie, *nazwisko, *email, *ulica, *miasto, *nr_domu;
        int nr_mieszkania, kod, nr_tel, nr_kierunkowy, kom;
        char *nazwa_firmy, *branza, *www;
};

struct listElem
{
    struct osoba;
    struct listElem *next;
};

struct *osoba wczytaj(FILE *plik)
{
    struct osoba *kontakt=(struct osoba*)malloc(sizeof(struct osoba));
    int rozmiar=strlen(buf);
    kontakt->nazwisko=(char*)calloc(rozmiar,sizeof(char));
    strcpy(kontakt->nazwisko,buf);

    return kontakt;
}

void menu()
{
printf("Program KSIAZKA TELEFONICZNA\n\n");
printf("Wybierz 1-3 aby wykonać:\n 1. Przegladaj spis telefonów\n 2. Dodaj nowy kontakt \n 3. Edytuj kontakt\n 4.Zakoncz\n\n");
}

void wyswietl(struct osoba obywatel)
{
    printf("\n nazwisko : %s imie : %s\n");
    printf("nr_kierunkowy : %i nr_tel : %i, kom : %i\n");
    printf("email : %s , nazwa_firmy : %s , branza : %s, www : %s\n");
    printf("kod : %i miasto\n");
    printf("ulica : %s nr_domu : %s nr_mieszkania : %i\n");
   
}


void dodaj(FILE *plik)
{
char buf[80];
struct osoba obywatel;
plik=fopen("ksiazka.TXT","a");

printf("Podaj nazwisko : ");
scanf("%s",buf);
int rozmiar=strlen(buf);
obywatel.nazwisko=(char*)calloc(rozmiar,sizeof(char));
strcpy(obywatel.nazwisko,buf);

printf("Podaj imie : ");
scanf("%s",buf);
rozmiar=strlen(buf);
obywatel.imie=(char*)calloc(rozmiar,sizeof(char));
strcpy(obywatel.imie,buf);

printf("Podaj numer kierunkowy : ");
scanf("%i",&obywatel.nr_kierunkowy);

printf("Podaj numer telefonu : ");
scanf("%i",&obywatel.nr_tel);

printf("Podaj numer komorki : ");
scanf("%i",&obywatel.kom);


printf("Podaj adres email : ");
scanf("%s",buf);
rozmiar=strlen(buf);
obywatel.email=(char*)calloc(rozmiar,sizeof(char));
strcpy(obywatel.email,buf);


printf("Podaj nazwe firmy : ");
scanf("%s",buf);
int rozmiar=strlen(buf);
obywatel.nazwa_firmy=(char*)calloc(rozmiar,sizeof(char));
strcpy(obywatel.nazwa_firmy,buf);

printf("Podaj branze firmy : ");
scanf("%s",buf);
int rozmiar=strlen(buf);
obywatel.branza=(char*)calloc(rozmiar,sizeof(char));
strcpy(obywatel.branza,buf);

printf("Podaj adres strony www : ");
scanf("%s",buf);
int rozmiar=strlen(buf);
obywatel.www=(char*)calloc(rozmiar,sizeof(char));
strcpy(obywatel.www,buf);

printf("Podaj kod pocztowy : ");
scanf("%i",&obywatel.kod);

printf("Podaj nazwe miasta : ");
scanf("%s",buf);
int rozmiar=strlen(buf);
obywatel.miasto=(char*)calloc(rozmiar,sizeof(char));
strcpy(obywatel.miasto,buf);

printf("Podaj nazwe ulicy : ");
scanf("%s",buf);
int rozmiar=strlen(buf);
obywatel.ulica=(char*)calloc(rozmiar,sizeof(char));
strcpy(obywatel.ulica,buf);

printf("Podaj numer domu : ");
scanf("%s",buf);
int rozmiar=strlen(buf);
obywatel.nr_domu=(char*)calloc(rozmiar,sizeof(char));
strcpy(obywatel.nr_domu,buf);

printf("Podaj numer mieszkania : ");
scanf("%i",&obywatel.nr_mieszkania);




fprintf(plik,"%s %s %i %i %i %s %s %s %s %i %s %s %s %i\n",//
        obywatel.nazwisko, obywatel.imie, obywatel.nr_kierunkowy, obywatel.nr_tel, obywatel.kom, obywatel.email, obywatel.nazwa_firmy, obywatel.branza_firmy, obywatel.www, obywatel.kod, obywatel.miasto, obywatel.ulica, obywatel.nr_domu, obywatel.nr_mieszkania);
printf("Dziekujemy za dodanie oferty.\n\n");
}


void odczyt(FILE *plik)
{
    struct osoba obywatel;
    while(!feof(plik))
    {
        fscanf(plik, "%s %s %i %i %i %s %s %s %s %i %s %s %s %i", //
                    obywatel.nazwisko, obywatel.imie, $obywatel.nr_kierunkowy, $obywatel.nr_tel, $obywatel.kom, obywatel.email, obywatel.nazwa_firmy, obywatel.branza_firmy, obywatel.www, $obywatel.kod, obywatel.miasto, obywatel.ulica, obywatel.nr_domu, $obywatel.nr_mieszkania);
        if(feof(plik))
        {
            printf("To juz wszystkie kontakty);
            break;
        }
        else wyswietl(obywatel);
    }
}


int main()
{   
    FILE *plik;
    plik=fopen("ksiazka.TXT","r");
    int wybor;
    menu();
    scanf("%i",&wybor);
    switch(wybor)
    {
    case 1: odczyt(plik); break;
    case 2: dodaj(plik); break;
    case 3: edycja...
    case 4: break;
    default: printf("Nie ma takiej opcji !\n");   
    }
    fclose(plik);
    return 0;



[ Dodano: 05-02-2008, 20:59 ]
up :) sprawa robi się coraz pilniejsza

akbi - 07-02-2008, 13:33

Na prośbę giganta87, odświeżam temat ... chyba przypyliło kolegę :lol:


Powered by phpBB modified by Przemo © 2003 phpBB Group