C program - greška kad dođe do % u printf

poruka: 409
|
čitano: 99.182
|
moderatori: XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
odjavljen
offline
C programiranje- pomoć

Danas sam ownao sve bodove. Hvala svima na pomoći!!!

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
Moj PC  
1 1 hvala 0
17 godina
neaktivan
offline
RE: C programiranje- pomoć
jurluk kaže...
vexx5555 kaže...
jurluk kaže...

loše nas je grgec naučio Namigiva

 Bolje rečeno ništa. Ništa nam nije pokazao, a na vježbama trebamo napisati rogram rabeći naradbe koje izvlačimo ...od kud?

točno to. ja sam mislio da će nam na labosu predavač il asisstent il bilo ko malo pokazat kak se programira, a ono prvi sat odma mi moramo sami programirat. ja bleno, nisam imo pojma. još sam imo kod smilevskog. gori je neg grgec

Na predavanjima Smilevski super objasni naspram Grgeca(imali smo jednom sve 4 grupe spojeno predavanje kod Grgeca pa sam vidio kako on predaje), a laboratni bi se isto mogli malo potruditi, a ne reci samo da koristis google. Ali Boze moj..btw osvojio sam danas 2 boda! :)

...Scooter Tuning is not A Crime!!...
16 godina
neaktivan
offline
C programiranje- pomoć

Pozz ekipa potrebna mi je pomoc. Treba napisat program koji računa cijenu kupljenog goriva na benzinskoj postaji. Program na početku pita korisnika za količinu kupljenog goriva po vrstama (eurosuper 95, super plus 98, eurodizel i dizel). Uneseni brojevi su realni, a cijene goriva sljedece: eurosuper 95 - 8.70kn/l, superplus 98 -8.70kn/l, eurodizel - 7.96kn/l, dizel 7.77kn/l. Program na kraju ispisuje ukupnu cijenu goriva koju korisnik mora platiti : Cijena je :_ kn i _lp.

Sad sam ja ovako napravio:

#include<stdio.h>

void main ()

{

  float a=8.7, b=8.7, c=7.96, d=7.77, kn, y, u, lp;

  int x=98, z=95;

  printf("\nEurosuper%d:", x);

  scanf("%f", &u);

  printf("\nSuperplus%d:", z);

  scanf("%f", &u);

  printf("\nEurodizel:");

  scanf("%f", &u);

  printf("\nDizel:");

  scanf("%f", &u);

  kn=(a*u)+(b*u)+(c*u)+(d*u);

  y=(int)kn;

  lp=(kn-y)*100;

  printf("Cijena goriva je %d kuna i %.0f lipa", y, lp);

}

Al kad ubacim 0 litra u neko od tih uvijek baci da je 0 lipa i 0 kn sveukupno bez obzira sto ove druge nisu. Pomoc! 
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: C programiranje- pomoć

Ti sve spremaš u istu varijablu u. Tako da će za svaki unos ostati samo u koji je zadnji unesen. dobit ćeš istu cijenu za unos 1 2 3 4 i 120 157 894 4.Svaku od količina spremi u svoju varijablu pa onda računaj.

Btw kaj će ti varijable x i z? Pa slobodno staviš brojeve u ispis...

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
17 godina
neaktivan
offline
C programiranje- pomoć

Čisto iz znatiželje, u kojoj ste vi to školi (sve mi se čini faksu)?

http://3.141592653589793238462643383279502884197169399375105820974944592.com/index314.html
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: C programiranje- pomoć
1domagoj1 kaže...

Čisto iz znatiželje, u kojoj ste vi to školi (sve mi se čini faksu)?

zanemari post... ne pita se mene :D

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
Poruka je uređivana zadnji put čet 28.10.2010 20:51 (Luuka).
16 godina
neaktivan
offline
C programiranje- pomoć

Hvala, sad cu probat

Moj PC  
0 0 hvala 0
16 godina
odjavljen
offline
RE: C programiranje- pomoć
dedaa kaže...

Pozz ekipa potrebna mi je pomoc. Treba napisat program koji računa cijenu kupljenog goriva na benzinskoj postaji. Program na početku pita korisnika za količinu kupljenog goriva po vrstama (eurosuper 95, super plus 98, eurodizel i dizel). Uneseni brojevi su realni, a cijene goriva sljedece: eurosuper 95 - 8.70kn/l, superplus 98 -8.70kn/l, eurodizel - 7.96kn/l, dizel 7.77kn/l. Program na kraju ispisuje ukupnu cijenu goriva koju korisnik mora platiti : Cijena je :_ kn i _lp.

Sad sam ja ovako napravio:

Ja sam na vježbi morao računati saamo Eurosuper 95.

Trebao bi uzeti ovako:

 

float vrsta_goriva;

float cijena_litra;

float količina_goriva;

int kune;

float liperac;

float  lipe;

scanf("\n%f", &količina_goriva);

vrsta_goriva=cijena_litra*količina_goriva;

kune=vrsta_goriva;

liperac = ( vrsta_goriva- (float)kune)*100;
lipe = (int)liperac;

 

Dalje valjda sam znaš.

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
16 godina
neaktivan
offline
C programiranje- pomoć

Hvala puno Luka radi sad, inače tek sam početnik u programiranju na faksu, što bi rekli newb, tako da još puno učim

Moj PC  
1 0 hvala 0
16 godina
neaktivan
offline
RE: C programiranje- pomoć
Lion King kaže...

btw osvojio sam danas 2 boda! :)

i ja također. kod smilevskog

 

1domagoj1 kaže...

Čisto iz znatiželje, u kojoj ste vi to školi (sve mi se čini faksu)?

TVZ, ima nas tu par

Atomska bubamara
17 godina
neaktivan
offline
C programiranje- pomoć

Može pomoć, imam program ovakvog koda:

 

main()
{int i;
     for(i=1;i<=1000;i++)
     printf("%d",i);
     getch();
}

 

on mi ispisiva brojeve od 1 do 1000 u ovakvom obliku : 1234567891011...

 

sad me zanima kako dodati prijelaz u novi red (kad se radi sa ispirom teksta doda se "\n" ali ovdje neće!!) pa da brojeve ispisiva ovako:

1

2

3

4

5

6

7

8

9

10

11...

IRebic
Moj PC  
0 0 hvala 0
17 godina
offline
C programiranje- pomoć

printf("%d\n",i);

 
0 0 hvala 1
16 godina
odjavljen
offline
RE: C programiranje- pomoć
IRebic kaže...

main()
{int i;
        for(i=1;i<=1000;i++)
        printf("%d",i);
        getch();
}

 

  Trebalo bi ovo raditi:

 

main()
{int i;
        for(i=1;i<=1000;i++)
      printf("%d\n",i);
        getch();
}

i ovo:

main(){int i;    for(i=1;i<=1000;i++)

      {          printf("%d",i);

          printf("\n");

      }    getch();

Heart: _/\_/\_/\_/\_/\_/\_/\_/\_ Brain: __________________________
17 godina
neaktivan
offline
C programiranje- pomoć

hvala, radi

IRebic
Moj PC  
0 0 hvala 0
17 godina
offline
RE: C programiranje- pomoć
IRebic kaže...

hvala, radi

vjerojatno si napravio grešku jer si znak za novi red stavio izvan petlje, tako da si imao samo jedan prijelaz u novi red, i to poslije ispisa brojeva u petlji

ovako imaš toliko prijelaza koliko petlja  iteracija

Poruka je uređivana zadnji put pet 29.10.2010 18:18 (Floki).
16 godina
odjavljen
offline
C programiranje- pomoć

Opet problemi. {#} 

Želim da mi program pretvara ASCII znakove u brojeve i provjerava njihov raspon (odnosno da li se nalaze u engleskoj abecedi u ASCII tablici). Problem je taj što kada upišem bilo koje slovo, program to prepoznaje kao slovo K. HELP!!{#}

Ovo je program:

 

#include <stdio.h>
#include <stdlib.h>

int main()
{
  char a;
  int b;
  scanf("%c", &a);
  (int) b=a;
  printf("%c\n", a);
  printf("%d\n", b);
  if(b>64&&b<91){
                 printf("%c\n",a);
                 }
                
  system("PAUSE"); 
  return 0;
}

 

EDIT: popravljeno.

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
Poruka je uređivana zadnji put sri 3.11.2010 10:42 (vexx5555).
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: C programiranje- pomoć

Prvo što bih savjetovao je da znakove učitavaš sa

scanf(" %c", &znak);

(primjeti razmak ispred %c ). To je zato što ako učitavaš više znakova zaredom, onda će onaj enter koji lupiš nakon prvog znaka biti spremljen u drugi, a to ne želimo. Ovaj razmak se za to pobrine.

 

Ako želiš provjeriti da li je znak iz engleske abecede, možeš napraviti i ovo:

 

if( (znak>= 'a' && znak<='z') || (znak>='A' && znak<='Z') )

 

charove se može uspoređivati, pa zašto to ne koristiti. :D

 

I ne bih rekao da ti ovo gore funkcionira...

(int) b=a;

nije baš naredba koja ima smisla, ovdje se zapravo događa b=a. Bolje b= (int)a;

 

 

A ako želiš doznati koje je tvoje slovo po abecedi, onda možeš koristiti ovo:

int broj= znak-'A' + 66

 

sad ako je znak=='A' onda je broj=1, ako je znak=='B' onda je broj=2 itd

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
16 godina
odjavljen
offline
RE: C programiranje- pomoć
Luuka kaže...

Prvo što bih savjetovao je da znakove učitavaš sa

scanf(" %c", &znak);

(primjeti razmak ispred %c ). To je zato što ako učitavaš više znakova zaredom, onda će onaj enter koji lupiš nakon prvog znaka biti spremljen u drugi, a to ne želimo. Ovaj razmak se za to pobrine.

 

Ako želiš provjeriti da li je znak iz engleske abecede, možeš napraviti i ovo:

 

if( (znak>= 'a' && znak<='z') || (znak>='A' && znak<='Z') )

 

charove se može uspoređivati, pa zašto to ne koristiti. :D

 

I ne bih rekao da ti ovo gore funkcionira...

(int) b=a;

nije baš naredba koja ima smisla, ovdje se zapravo događa b=a. Bolje b= (int)a;

 

 

A ako želiš doznati koje je tvoje slovo po abecedi, onda možeš koristiti ovo:

int broj= znak-'A' + 66

 

sad ako je znak=='A' onda je broj=1, ako je znak=='B' onda je broj=2 itd

 Taj program radi. Imao sam prije napisano a=b; pa zato nije radilo. Inače, što znači da je neko slovo leksički veće ili manje od drugog? I znaš li možda kako da mi program ako napišem npr. g da on skuži da je to g i da ga napiše veliko, odnosno G? Bi li to mogao napraviti slično kao ovo što si ti napravio: int broj= znak-'A' + 66, samo da stvim malo slovo i drugi broj da paše u ASCII tablici, npr: a-32=A (ovo sam onako napisao, nadam se da kužiš što sam mislio).

 

I hvala za hint sa usporedbom charova.{#} Nisam imao blage veze da se to može.

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
Poruka je uređivana zadnji put sri 3.11.2010 11:27 (vexx5555).
16 godina
neaktivan
offline
RE: C programiranje- pomoć

Za pretvaranje u malo/veliko slovo postoje već gotove funkcije, toupper i tolower:

char toupper(char c)

char tolower(char c)

 

Prva vraća veliko slovo od slova c (ili ostavlja kako je ako nije malo slovo)

Druga vraća malo slovo od slova c (ili ostavlja kako je ako nije veliko)

 

Naravno, možeš to i ručno napisat, nije teško, opet se koristi ascii tablica za ona shift.

 

Usporedba charova ide prema ascii tablici, zapravo se uspoređuje njihova "cjelobrojna vrijednost"

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
16 godina
neaktivan
offline
C programiranje- pomoć

Dali mi neko može napisati program u Microsoft Visual C++ 2008 Express Edition koji će izračunati površinu i volumen kugle ako je zadan polumjer r,a formula za površinu je s=4*pi*r*r, a za volumen je v=4/3*pi*r*r*r? Ako bi to moblo biti gotovo do sutra do 7 sati ujutro bio bih mu zahvalan: Hvala

dancy_94@hotmail.com
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
C programiranje- pomoć

#include (stdafx.h)
#include (stdio.h)
#include (math.h)
float ,r,p,v,pi=3.14159;
void main
{
    printf(\nUpisi polumjer kruga?  r=);
    scanf(\n%f, &a);
    S=4*pi*r*r;
    V=4/3*(pi*r*r*r);
    printf(\nS=);
    printf(\nV=);
}

može li mi neko reći  zašto ovo ne radi i šta trebam promijeniti da radi

dancy_94@hotmail.com
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: C programiranje- pomoć

Jaaako puno toga je krivo.

Fale navodnici kod ispisa, kod includeova idu <> zagrade, varijable bi trebale ići unutar maina (no to i nije tolika greška), u scanf ne može ići \n, ispis neće ispisati vrijednost S i V... pogledaj si ono što ste na satu radili, jer ovo je ko da si prvi put krenuo išta... puno sintaktičkih grešaka koje se ne bi smjele događat, bar ne u tolikim količinama

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
17 godina
neaktivan
offline
RE: C programiranje- pomoć
Luuka kaže...

Jaaako puno toga je krivo.

Fale navodnici kod ispisa, kod includeova idu <> zagrade, varijable bi trebale ići unutar maina (no to i nije tolika greška), u scanf ne može ići \n, ispis neće ispisati vrijednost S i V... pogledaj si ono što ste na satu radili, jer ovo je ko da si prvi put krenuo išta... puno sintaktičkih grešaka koje se ne bi smjele događat, bar ne u tolikim količinama

Bome je. Konkretno u ovom slučaju neće ništa se dogoditi, ali igrat se s globalnim varijablama, a ne znati što radiš...

http://3.141592653589793238462643383279502884197169399375105820974944592.com/index314.html
16 godina
neaktivan
offline
RE: C programiranje- pomoć
1domagoj1 kaže...
Luuka kaže...

Jaaako puno toga je krivo.

Fale navodnici kod ispisa, kod includeova idu <> zagrade, varijable bi trebale ići unutar maina (no to i nije tolika greška), u scanf ne može ići \n, ispis neće ispisati vrijednost S i V... pogledaj si ono što ste na satu radili, jer ovo je ko da si prvi put krenuo išta... puno sintaktičkih grešaka koje se ne bi smjele događat, bar ne u tolikim količinama

Bome je. Konkretno u ovom slučaju neće ništa se dogoditi, ali igrat se s globalnim varijablama, a ne znati što radiš...

Jasno da općenito svega može bit, ali u ovom slučaju nije tolika greška s obzirom na sve ostalo {#}

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
17 godina
offline
C programiranje- pomoć

Sutra očito dobiješ jedinicu kao kuća ako ne shvatiš naredbe za ispis printf i upis scanf:

printf("Upisi polumjer kruga r=  ");   - ispisuje ono što je u navodnicima

scanf("%f", &r);   - na adresu varijable r postavlja float vrijednost koju uneseš

printf("Povrsina kruga: %f", S); - ispisuje ono što je u navodnicima s tim da ne mjesto oznake za float vrijednost %f postavlja vrijednost varijable S

Ne zaboravi deklarirati varijable S i V

Ne zaboravi varijable deklarirati u main funkciji

i ne zaboravi u zaglavlju postaviti: #include<stdio.h>, a ove druge ti u zaglavlju za ovo ne trebaju

Poruka je uređivana zadnji put sri 3.11.2010 21:50 (Floki).
 
0 0 hvala 0
17 godina
offline
C programiranje- pomoć

I ovo je ok:

 

#include <stdio.h>
int main ()
{
float r=0;

printf("Upisi polumjer kruga: ");
scanf("%f", &r);
printf("\nPovršina kugle je: %f \n", 4*3.14159*r*r);
printf("\nVolumen kugle je: %f \n\n" ,(4/3)*3.14159*r*r*r);
}

 

Bemti koji sam ja noob, kak idu potencije? Ja stavim (r^3) i javlja error...

 

Taj C...{#}

MSN - drazen016@net.hr , e-mail - drazen018@email.t-com.hr | FAN of Neon Genesis Evangelion and Star Trek | Downloading High Definiton Video
Moj PC  
0 0 hvala 0
17 godina
offline
C programiranje- pomoć

r^3 ide:

pow(r, 3);

s tim da u zaglavlju mora biti math.h biblioteka

 

dakle, ako si mislio:

printf("Povrsina: %f", 4*pi*pow(r,2));

why not

Poruka je uređivana zadnji put sri 3.11.2010 22:30 (Floki).
 
0 0 hvala 0
17 godina
offline
RE: C programiranje- pomoć
Floki kaže...

r^3 ide:

pow(r, 3);

s tim da u zaglavlju mora biti math.h biblioteka

 

dakle, ako si mislio:

printf("Povrsina: %f", 4*pi*pow(r,2));

why not

Sad malo čitam neki tvz-ov pdf i baš sam naišao na taj "pox(x,y)" -> xy

 

I treba <math.h> gore stavit. Cool

MSN - drazen016@net.hr , e-mail - drazen018@email.t-com.hr | FAN of Neon Genesis Evangelion and Star Trek | Downloading High Definiton Video
16 godina
odjavljen
offline
C programiranje- pomoć

Hvala svima na pomoći!

 

I danas sam skupio sve bodove. Rasturio sam zadatak. {#}

 

Da se nisam žurio na vlak pokazao bih asistentici jedan long double. {#}

 

 

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
Moj PC  
0 0 hvala 0
17 godina
offline
RE: C programiranje- pomoć
vexx5555 kaže...

Hvala svima na pomoći!

 

I danas sam skupio sve bodove. Rasturio sam zadatak. {#}

 

Da se nisam žurio na vlak pokazao bih asistentici jedan long double. {#}

 

 

Odavno nisam čuo bolju foru{#}

Još da tvoja asistentica zna da si ovdje pokupio instrukcije u 5 do 12, rekla bi ipak da je to char{#}

Nova poruka
E-mail:
Lozinka:
 
vrh stranice