Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Program v C

Takže... Začal jsem se učit programovat v C, ale zasekl, jsem se hned ze začátku u příkladu, na výpis mocnin 2ky :-D. Program má fungovat tak, že se další mocnina vypíše, po zadání "a". Můj program ovšem vypíše při zadání "a" 2 mocniny místo jedné a po jedné klidně vypisuje pokud jen mačkám enter (program se neukončí, jak by měl). Myslím, že chyba je v podmínce cyklu, ale nevím, jak jinak ji zapsat.

//Knihovny
#include <stdio.h>
#include <math.h>
#include <conio.h>

//Deklaruju promenne

int p; //poradi
int v; //hodnota 2ky
char o; //pokracovat?

int main (void){
p= 0;
v= 1;

do {p++;
v = v*2;
printf ("%i%s%i%s",p,". mocnina 2ky je ",v,". Chcete pokracovat? (a = ano)\n");
scanf ("%c",&o);
}
while (o ='a');
return 0;
}

P.s.: Moc díky za rady a pokud víte o nějakém uceleném online seriálu / dobré knížce o C, budu jen rád :-D

Předmět Autor Datum
miesto while (o ='a'); ma byt while (o =='a');
nl12345 20.02.2012 12:47
nl12345
Díky, jinak teď to okamžitě vypíná po zmáčknutí enter, takže ten cyklus asi zas nefunguje :-D A vím,…
Katsushiro 20.02.2012 12:55
Katsushiro
Místo scanf("%c",&o); dej scanf(" %c",&o); Ta mezera je tam proto, že když to čte jeden znak, ne…
Niko Bellic 20.02.2012 13:05
Niko Bellic
Moc díky, tohle je přesně ono, už to jede. poslední
Katsushiro 20.02.2012 13:13
Katsushiro

Zpět do poradny Odpovědět na původní otázku Nahoru