Do while petlja C++

C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
Odgovori
Romano K
Postovi: 25
Pridružen/a: 21 sij 2019, 00:54
Spol: M
OS: Win 10 Pro / Ubuntu
Lokacija: Zagreb

Do while petlja C++

Post Postao/la Romano K »

Pozdrav, imam cpp kod koji racuna iz binarnog u dekatski. Htio bih napraviti da konstantno mogu upisivati vrijednost i računati, a ne nakon izračuna da mi se konzola ugasi. Guglao sam i vidim da se radi preko do while petlje ali sam jos početnik i ne znam di bih to tocno ubacio u kod... Zna li netko? Hvala :hihi

Kod: Označi sve

#include <iostream>
#include <cmath>
using namespace std;

int main () {
    int unos;
    cout << "Unesi 4-znamenkasti binarni broj: " ;
    cin >> unos;

    if(unos / 10000 > 0) {
    cout << "Unos nije ispravan";
    }
    else if(unos%10>1 || (unos/10)%10>1 || (unos/100)%10>1 || (unos/1000)%10>1) {
    cout << "Koristi iskljucivo 1 i 0!";
    }
    else {
    int dec = 0;
    ((unos/1000)%10==1)?dec+=8:dec+=0;
	((unos/100)%10==1)?dec+=4:dec+=0;
	((unos/10)%10==1)?dec+=2:dec+=0;
	(unos%10==1)?dec+=1:dec+=0;
	cout<< "Dekatska vrijednost binarnog broja iznosi: " <<dec<<endl;

    }

    return 0;
    system ("pause");
}
Avatar
iweb
Site Admin
Postovi: 4641
Pridružen/a: 07 ožu 2009, 17:00
Spol: M
OS: fedora 34

Re: Do while petlja C++

Post Postao/la iweb »

Ovo je modificirana verzija tvog koda tako da se ponavlja dok ne upišeš 2, a na 2 se prestane izvršavati:

Kod: Označi sve

#include <iostream>
#include <cmath>
using namespace std;

int main () {
  int unos, t;
  do{
    cout << "Unesi 4-znamenkasti binarni broj: " ;
    cin >> t;
    if(t == 2) break;
    unos = t;
    if(unos / 10000 > 0) {
      cout << "Unos nije ispravan";
    }
    else if(unos%10>1 || (unos/10)%10>1 || (unos/100)%10>1 || (unos/1000)%10>1) {
      cout << "Koristi iskljucivo 1 i 0!";
    }
    else {
      int dec = 0;
      ((unos/1000)%10==1)?dec+=8:dec+=0;
      ((unos/100)%10==1)?dec+=4:dec+=0;
      ((unos/10)%10==1)?dec+=2:dec+=0;
      (unos%10==1)?dec+=1:dec+=0;
      cout<< "Dekatska vrijednost binarnog broja iznosi: " <<dec<<endl;

    }

  } while(1);
  return 0;
  system ("pause");
}
Ovo ti je C program koji bilo koji dekadski broj (koji stane u int) pretvara u bilo koju bazu <=10. (Ne nosi se lijepo sa slučajevima kad je baza >10):

Kod: Označi sve

#include <stdio.h>

int dekbin(int a, int b){
	if(b<2){printf("nedozvoljen unos");return -2;}
	int ab=0;
	int c=0;
	int t;
	
	while(a!=0){
		t=a%b;
		a=a/b;
		int pot=1;
		for(int i=0;i<c;i++){pot*=10;}
		ab=t*pot+ab;
		c++;
	}
	return ab;
}

int main(void){
	int a, baza;
	scanf("%d %d", &a, &baza);

	printf("%d", dekbin(a,baza));

	return 0;
}
Ovo je program koji pretvara iz bilo koje baze <=10 u bazu 10 (dekadsku). Isto se ne nosi lijepo s rubnim slučajevima.

Kod: Označi sve

#include <stdio.h>

int dekbin(int a, int b){
	if(b<2){printf("nedozvoljen unos");return -2;}
	int ab=0;
	int c=0;
	int t;
	
	while(a!=0){
		t=a%10;
		a=a/10;
		int pot=1;
		for(int i=0;i<c;i++){pot*=b;}
		ab=t*pot+ab;
		c++;
	}
	return ab;
}

int main(void){
	int a, baza;
	scanf("%d %d", &a, &baza);

	printf("%d", dekbin(a,baza));

	return 0;
}
Na istu do-while foru kao u primjeru gore ih možeš modificirati da se izvršavaju do terminacije :)
Romano K
Postovi: 25
Pridružen/a: 21 sij 2019, 00:54
Spol: M
OS: Win 10 Pro / Ubuntu
Lokacija: Zagreb

Re: Do while petlja C++

Post Postao/la Romano K »

Hvala puno!
s3m
Postovi: 2
Pridružen/a: 14 ožu 2022, 02:10
Spol: Ž
OS: Ubuntu
Kontakt:

Re: Do while petlja C++

Post Postao/la s3m »

možeš pretvarati u deksadke hexadeksadke i slicnu u pytohnu u par linija koda.. nemoj se muciti s tim C++om
Avatar
iweb
Site Admin
Postovi: 4641
Pridružen/a: 07 ožu 2009, 17:00
Spol: M
OS: fedora 34

Re: Do while petlja C++

Post Postao/la iweb »

Cek, jel ovaj tvoj jedini post pokusaj promoviranja tvog foruma koji je u linku u tvom profilu, ima jednog usera, hostan je na free hostingu na random domeni i svodi se na tvoje… samostalno postanje?

Rekao bih da nemas puno godina, i to je sasvim okej :)

Ako sam u krivu, isprike radi te pretpostavke, ali onda je to drugaciji razgovor - što se vidi iz same moje pretpostavke.

Ja sam se učlanio na ovaj forum sa, sad u retrospektivi, puno premalo godina da bih uopce bio na internetu u mjeri u kojoj sam bio: ali biti dio takvih computer/hacker zajednica i konstantno se challengati da naučim nove stvari (jer su mi bile jako zanimljive) mi je pomoglo da zapravo imam karijeru u developmentu, kao i da upoznam neke izvrsne ljude.

Krenuo sam i sam s nekim takvim projektima poput tebe, ali nisu zaživjeli (iz danas očitih razloga: zajednice se jednostavno ne rađaju tako).

Moj savjeti za tebe su:
1. ne bježi od stvari koje su teške (C u odnosu na Python, iako je mozda prerano da ga ucis) - jer te uce puno bolje razmisljati o problemima, a to je jedna od najkorisnijih vještina u zivotu. možeš ovaj program napisati u liniji koda u mnogim drugim jezicima, ali to ti neće objasniti što brojevne baze jesu, i sakrit će od tebe kako doista softver funkcionira (upravljanje memorijom i slicno)
2. pridruzi se postojećim zajednicama koje imaju slicne kolektivne interese poput tebe, sudjeluj u njima i uči iz njih umjesto da pokušavaš razviti svoje (što jest samo po sebi zabavno, što je - je)
3. pazi se na internetu :)
Avatar
bertone
Site Admin
Postovi: 11497
Pridružen/a: 01 kol 2012, 12:39
Spol: M
OS: LMDE 6

Re: Do while petlja C++

Post Postao/la bertone »

iweb je napisao/la:Cek, jel ovaj tvoj jedini post pokusaj promoviranja tvog foruma koji je u linku u tvom profilu, ima jednog usera, hostan je na free hostingu na random domeni i svodi se na tvoje… samostalno postanje?
Kad Vl@do vidi kombinaciju boja imati će dva :-D
iweb je napisao/la: Ja sam se učlanio na ovaj forum sa, sad u retrospektivi, puno premalo godina da bih uopce bio na internetu u mjeri u kojoj sam bio: ali biti dio takvih computer/hacker zajednica i konstantno se challengati da naučim nove stvari (jer su mi bile jako zanimljive) mi je pomoglo da zapravo imam karijeru u developmentu, kao i da upoznam neke izvrsne ljude.
A ti si poseban, trebalo mi je par mjeseci da pohvatam da nemaš koliko kažeš da imaš :-D

PS. Ti i max360se ste mi u to vrijeme bili pod povećalom :hihi
[+ Prikaži] Klik
ThinkPad T14s Gen. 1
AMD Ryzen 7 PRO 4750U
16 GB DDR4-3200
Samsung SSD 970 EVO Plus 2TB
14" FHD IPS (Innolux N140HCG-GQ2)
WiFi Intel® Wi-Fi® 6 AX200
OS: LMDE 6
Slika: dio kolekcije

***

ZEN
"Charlie. What are you thinking?"
"I'm thinking about what I want and what I need."
"What do you want?"
"I want a peaceful soul."
"And what do you need?"
"I need a bigger gun."
Avatar
iweb
Site Admin
Postovi: 4641
Pridružen/a: 07 ožu 2009, 17:00
Spol: M
OS: fedora 34

Re: Do while petlja C++

Post Postao/la iweb »

Sasvim opravdano :)
Odgovori