C - evidence faktur – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C - evidence faktur – C / C++ – Fórum – Programujte.comC - evidence faktur – C / C++ – Fórum – Programujte.com

 

Venca
~ Anonymní uživatel
15 příspěvků
3. 5. 2014   #1
-
0
-

Zdravim,

Potřeboval bych poradit. Mám za úkol vytvořit program pro evidenci faktur( příchozí, odchozí ), který se bude ovládat pomocí jednoduchého menu. Udělal jsem si menu pomocí switche a ke každé položce přiřadil proceduru, která se bude volat. S čím bych potřeboval poradit je, jak a do čeho zaznamenávat jednotlivé faktury, jaký použít typ nebo pole. Děkuji za rady, či ukázky.

Nahlásit jako SPAM
IP: 93.99.142.–
3. 5. 2014   #2
-
0
-

pro udaje o fakture struktura a pro evidenci faktur pole struktur. Pole asi alokovane dynamicky a realokovat tak, aby se do nej aktualni seznam vesel.

hu

Nahlásit jako SPAM
IP: 194.228.20.–
Venca
~ Anonymní uživatel
15 příspěvků
3. 5. 2014   #3
-
0
-

ok. Díky za tip ;)

Nahlásit jako SPAM
IP: 93.99.142.–
3. 5. 2014   #4
-
0
-

Ještě doplňující otázka: umožňuje zadání použití databáze?

hu

Nahlásit jako SPAM
IP: 188.95.60.–
Martin Kozibrátka0
Stálý člen
3. 5. 2014   #5
-
0
-

Předpokládám, že když žadatel nezná ani základy programování, bylo by to stejně nad jeho možnosti

Nahlásit jako SPAM
IP: 176.102.79.–
Savana.cz - neomezený webhosting za pár kaček :)
3. 5. 2014   #6
-
0
-

Pravda, kdyby jsme mu to napsaly s použitím nějaké DB, pan učitel by to hned poznal.   

hu

Nahlásit jako SPAM
IP: 188.95.60.–
Venca
~ Anonymní uživatel
15 příspěvků
4. 5. 2014   #7
-
0
-

to hu: není možno použití databáze. Mohli by jste mi na ukázku napsat krátký kód s použitím pole struktur od kterého bych se mohl nějak odrazit? Něco jsem zkoušel, ale k ničemu rozumnému jsem nedošel. byl bych vděčný :) 

Nahlásit jako SPAM
IP: 93.99.142.–
4. 5. 2014   #8
-
0
-

Pomocí typedef vytvoříš strukturu jako datový typ, pojmenuješ ho např. faktura. Pak vytvoříš pole datového typu faktura. Pro zjednodušení začni se statickým polem - budeš omezen jeho velikostí. U faktury si to můžeš usnadnit tím, že budeš evidovat jen některé věci (např. číslo faktury, celková částka, datum vystavení).

hu

Nahlásit jako SPAM
IP: 188.95.60.–
Venca
~ Anonymní uživatel
15 příspěvků
9. 5. 2014   #9
-
0
-

Ještě bych potřeboval pomoct. Když zadám 2 a více faktur tak mi to při výpisu faktur vypíše jako hodnoty 0. Při jedné to funguje. Nemohu najít chybu. Druhá otázka je jak vytvořit výčtový typ TYP, kde budou 2 možnosti "vydana" a "prijata". Uživatel si bude možnost vybirat při vytvářeni nové faktury. Zde zasilam kód (vím, že je tam plno zbytečností, budu se je snažit později odstranit. Děkuji za pomoc.


#include "stdafx.h"
#include "ctype.h"
#include "stdio.h"
#include <iostream>
#include <string>
using namespace std ;
#pragma warning(disable : 4996)


int a;
int i = 0;
int pocetfaktur = 0;

struct faktura
{
  int cislo;
  double castkabezdph;
  int sazbadph;
  unsigned int den; 
  unsigned int mesic;
  unsigned int rok;
  int typ;
} ;

faktura fakt[10];

void VYD()
{
	
printf("Zadej cislo faktury: \n");
    scanf("%i",&fakt[i].cislo);

printf("Zadej castku faktury bez DPH: \n");
    scanf("%d",&fakt[i].castkabezdph);

printf("Zadej sazbu DPH  v % (0,15 nebo 21): \n");
    scanf("%i",&fakt[i].sazbadph);

printf("Zadej den vystaveni faktury: \n");
    scanf("%i",&fakt[i].den);

printf("Zadej mesic vystaveni faktury: \n");
    scanf("%i",&fakt[i].mesic);

printf("Zadej rok vystaveni faktury: \n");
    scanf("%i",&fakt[i].rok);
	 printf("Faktura s cislem %i byla uspesne ulozena!\n",fakt[i].cislo);

	 pocetfaktur++;

	return;

}

void vytvorfakturu()  //vytvoreni faktury
{  
	
	int vol;
 printf("Zadejte typ faktury, chtery chcete vytvorit: \n");
 printf("1 - Vydana faktura \n");    
 printf("2 - Prijata faktura: \n");
 scanf("%i",&vol);
 if ( vol == 1 )
 {
	VYD();
 }  

  if ( vol == 2 )
  {
	printf("cislo faktury je: %i \n",fakt[1].cislo);   
  }

 if ((vol > 2) || (vol < 1)) {
  printf("Zadal jste spatnou volbu! \n");
     printf("\n");
      vytvorfakturu();
 }
};

void vypisfakturu()   //vypsani faktury
	
{ 	printf("------Vypis faktur-------\n");
   printf("\n");

   for ( int i = 0 ; i<= pocetfaktur; i++) {
	      printf("\n");
 printf("Cislo faktury: %i\n",fakt[i].cislo);
 printf("Castka bez DPH: %d\n",fakt[i].castkabezdph);	
 printf("Sazba DPH: %i %\n",fakt[i].sazbadph);	
 printf("Datum vystaveni faktury: %i. %i. %i\n",fakt[i].den,fakt[i].mesic,fakt[i].rok);
    printf("\n");
   };

 return;		
};




int _tmain(int argc, _TCHAR* argv[])
{
	int volba = 0;
	printf("  ----  Vaclav Lezak   ukol c.3 ----  \n ");	


	do
	{
		// menu
		printf(" \n ");	
		printf("-------------------------------\n");
		 printf("  1 - Vytvorit fakturu \n ");	
		printf(" 2 - Uhrada faktury \n ");	
		printf(" 3 - Vypis faktur \n ");	
		printf(" 4 - Vypis faktur ve zvolenem obdobi splatnosti \n ");	
		printf(" 0 - Ukoncit program \n ");
		printf("-------------------------------\n");


		// nacte se volba vybrana uzivatelem a podle toho se vybere case
		printf(" Zadej volbu: \n ");	
		scanf("%d", &volba);
		
		switch(volba)
		{
		case 1: vytvorfakturu();
		break;

		case 2: 
		break;


		case 3: vypisfakturu();
		break;


		case 4:
		break;

		case 0: return 0;
        break;

		default: printf("  Zadal jsi neplatnou vulbu!Zadej znova!  \n ");	
		}
	
	}while(true);
	return 0;
}

Nahlásit jako SPAM
IP: 93.99.142.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 95 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý