zopakujme si zaklady v C :)

Programovacie jazyky, rady, poradňa...
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

zopakujme si zaklady v C :)

Príspevok od používateľa BX »

Zdravim, pisem tento jednoduchy program. Napisem prve IF ide vsetko v pohode, ale ako som pridal druhe, v mieste scanf("%d", &t1); zadam t1 a program sa zruti a da tabulku odoslat/neodoslat.
Robi to aj pri prvom aj pri druhom IF. Ak jedno odstranim musim pridat if(a='0') a ide, ale ak pri obidvoch zadam to '0' / '1' tak to zase nejde... V com je chyba?

Kód: Vybrať všetko

int   a;
    int   v1,t1;
    int   s2,t2;
    printf("Zadaj co chces pocitat: pre drahu zadaj 0 (nula)");
    printf("\n                        pre rychlost zadaj 1 (jednotka)");
    printf("\n                        pre cas zadaj 2 (dvojka)");      
    scanf("%d", &a);
      if (a=0) { 
               printf("s=v.t\n");
               printf("Zadaj rychlost v m/s: ");
               scanf("%d", &v1);
               printf("Zadaj cas prejdenia drahy v sekundach: ");
               scanf("%d", &t1);
               printf("draha = %d x %d\n", v1, t1);
               printf("s= %dm\n", v1*t1); 
               }   
      if (a=1) {
              printf("v=s/t\n");
              printf("Zadaj drahu v metroch: ");
              scanf("%d", &s2);
              printf("Zadaj cas prejdenia tejto drahy v sekundach: ");
              scanf("%d", t2);
              printf("rychlost = %d / %d\n", s2, t2);
              printf(" v = %d", s2/t2);
              }
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

v c je prirovnanie cez == a nie cez =. Čiže podmienka je if (a==1)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Príspevok od používateľa BX »

aha... to som zabudol :oops: dobry si bratu, ale pri druhom IF to roby stale (Odoslat/neodoslat)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

scanf("%d", t2); zmeň na scanf("%d", &t2);
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Príspevok od používateľa BX »

No ty koxo, aj som si daval pozor na tie sproste & adresy, aj tak som tam jednu zabudol!!! 3krat som si ten program precital a nevidel som to :evil:
Dakujem velmi pekne :)

//autoeditácia príspevku ( 02 Nov 2008, 20:27 )
Inak ked uz som tu :) Nieje nahodou v C podobny prikaz ako v pascale clrscr; na vycistenie obrazovky? Ze by som to supol medzi IFka ??? Neviem ho najst v knihe, ak tam je tak je niekde zasity...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

system("cls");

je to v knižnici stdlib, takže na začiatok programu:
#include <stdlib.h>
Napísať odpoveď