Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Rename SQL column

Achiziționare tuner TV !

Din ce este facuta terasa asta?

Cum accesez site-ul CNAS ?
 Algoritm simplu de calculare al u...

Bitdefender Total Security ș...

casa verde 2024

Intrerupator cu N - doza doar cu ...
 Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata

Suprataxa card energie?!

Cum era nivelul de trai cam din a...
 probleme cu ochelarii

Impozite pe proprietati de anul v...

teava rezistenta panou apa calda

Acces in Curte din Drum National
 

[TEMA]Program transformare monezi in bancnote

- - - - -
  • Please log in to reply
7 replies to this topic

#1
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014
Seara buna... Am incercat sa fac un program care ii cere utilizatorului sa introduca numarul de monezi de 1 ban, 5 bani, 10 bani, 50 de bani pe care le detine, iar acesta ii va transforma in bancnote (De exemplu: 5lei si 25 bani). Faza e ca am facut programul, functioneaza 100%, doar ca nu imi place ideea in sine... Cred ca se putea redacta mai eficient... Ceva pareri?
#include <iostream>
using namespace std;
int main()
{
	int bUnu, bCinci, bZece, bCinciZece;
	int suma=0;
	cout << "Cate monezi de 1 ban ai: "; cin >> bUnu; cout << endl;
	cout << "Cate monezi de 5 bani ai: "; cin >> bCinci; cout << endl;
	cout << "Cate monezi de 10 bani ai: "; cin >> bZece; cout << endl;
	cout << "Cate monezi de 50 de bani ai: "; cin >> bCinciZece; cout << endl;
	suma=suma+(bUnu/100)+(bCinci/20)+(bZece/10)+(bCinciZece/2);
	int rest=0;
	rest=rest+(bUnu%100)*1+(bCinci%20)*5+(bZece%10)*10+(bCinciZece%2)*50;
	int bani;
	bani=rest/100;
	suma+=bani;
	cout << "Suma ta este: " << suma << " lei si " << rest << " bani." << endl;

	return 0;
}


PS: OriginalCopy, nu tre' sa imi zici ca da dureri de cap, stiu deja asta :))

#2
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Imi da dureri de cap.

Vezi cat de repetitiva este aceasta secventa de cod:
	 cout << "Cate monezi de 1 ban ai: "; cin >> bUnu; cout << endl;
	 cout << "Cate monezi de 5 bani ai: "; cin >> bCinci; cout << endl;
	 cout << "Cate monezi de 10 bani ai: "; cin >> bZece; cout << endl;
	 cout << "Cate monezi de 50 de bani ai: "; cin >> bCinciZece; cout << endl;

?

Pune asta intr-un array, si inputurile la fel, in loc de acele variabile bUnu, bCinci, bZece, bCinciZece vei avea un std::map.

Apoi fa o bucla frumoasa si genereaza dinamic tot ce se poate genera dinamic.

Idem pentru calcule: gaseste corelatii matematice si calculeaza dinamic acele valori.

Scopul final e sa poti adauga "o linie" in definitia unei variabile in capul fisierului, si programul sa fie "automat" extins.

Asta iti va face programul usor extensibil.

dani.user ti-a dat renumitul exemplu: http://forum.softped...8#entry15325063

#3
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014

View PostOriginalCopy, on 27 iulie 2014 - 20:34, said:

Imi da dureri de cap.

Stiu.

Vezi cat de repetitiva este aceasta secventa de cod:
	 cout << "Cate monezi de 1 ban ai: "; cin >> bUnu; cout << endl;
	 cout << "Cate monezi de 5 bani ai: "; cin >> bCinci; cout << endl;
	 cout << "Cate monezi de 10 bani ai: "; cin >> bZece; cout << endl;
	 cout << "Cate monezi de 50 de bani ai: "; cin >> bCinciZece; cout << endl;

?

Pune asta intr-un array, si inputurile la fel, in loc de acele variabile bUnu, bCinci, bZece, bCinciZece vei avea un std::map.


Apoi fa o bucla frumoasa si genereaza dinamic tot ce se poate genera dinamic.

Idem pentru calcule: gaseste corelatii matematice si calculeaza dinamic acele valori.

Inteles.



Scopul final e sa poti adauga "o linie" in definitia unei variabile in capul fisierului, si programul sa fie "automat" extins.

Aici n-am inteles. La ce te referi prin sa fie extins? Ce linie in definitia unei variabile? Aceea cu #define?



#4
G1q

G1q

    Active Member

  • Grup: Members
  • Posts: 1,019
  • Înscris: 31.01.2007
suma=suma+(bUnu/100)+(bCinci/20)+(bZece/10)+(bCinciZece/2);
rest=rest+(bUnu%100)*1+(bCinci%20)*5+(bZece%10)*10+(bCinciZece%2)*50;


Ce rost mai are sa aduni suma sau rest daca tot e 0 ?

#5
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
In exemplul de aici: http://forum.softped...8#entry15325063 daca vrei sa adaugi o noua unitate, ai doar doua noi linii de adaugat, in definitiile variabilelor transformari si legenda.

Asta inseamna cod mentenabil (nu doar asta, dar e un aspect important in cod procedural).

#6
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,383
  • Înscris: 10.08.2005

View PostGlontzZz, on 27 iulie 2014 - 20:27, said:

Seara buna... Am incercat sa fac un program care ii cere utilizatorului sa introduca numarul de monezi de 1 ban, 5 bani, 10 bani, 50 de bani pe care le detine, iar acesta ii va transforma in bancnote (De exemplu: 5lei si 25 bani). Faza e ca am facut programul, functioneaza 100%, doar ca nu imi place ideea in sine... Cred ca se putea redacta mai eficient... Ceva pareri?

PS: OriginalCopy, nu tre' sa imi zici ca da dureri de cap, stiu deja asta Posted Image)
Uite alta bataie de cap
sunt 5 bancnote de 1 leu  sau o bancnota de 5 lei?

View PostG1q, on 27 iulie 2014 - 20:55, said:

Ce rost mai are sa aduni suma sau rest daca tot e 0 ?
trecem peste, a spus ca a incercat nu ca a reusit.
2. acolo citeste valorile, deci nu sunt zero

View PostGlontzZz, on 27 iulie 2014 - 20:54, said:

Aici n-am inteles. La ce te referi prin sa fie extins? Ce linie in definitia unei variabile? Aceea cu #define?
adica eu vreau sa adaug o bancnote de 10 lei, si de 100 lei

#7
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostGlontzZz, on 27 iulie 2014 - 20:54, said:

Stiu
Acum hai sa te vedem cu noul cod, sa vedem ca nu ne pierdem timpul degeaba cu tine.

#8
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014
Imi cer scuze ca nu am mai postat, insa de 5 zile tot incerc sa imi dau seama cum sa rezolv cu map si make.pair... Am cautat peste tot, dar tot nu am inteles cum trebuie... Doar cplusplus.com a reusit sa ma lamureasca intr-o oarecare masura, dar nu 100%. Revin din nou cand reusesc sa il pun la punct...

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate