Witam.
Mam problem z napisaniem swojego PIERWSZEGO programu...
*Polecenie: trzeba wczytać liczbę n<=30000 i napisać program, ktory zamieni ją na wybrany system o podstawie 16<= p >= 2. *
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
int n,s,d;
int tab[100];
printf("\n\nPROGRAM PRZELICZAJACY PODANA LICZBE NA WYBRANA NOTACJE LICZBOWA\n(od notacji
binarnej do szesnastkowej)\n\n\n");
start:
printf("Podaj podstawe systemu (od 2-16): ");
scanf("%d", &s);
switch(s)
{
case 2: printf("\nWybrano system BINARNY.\n\n");
break;
case 3: printf("\nWybrano system TROJKOWY.\n\n");
break;
case 4: printf("\nWybrano system CZWORKOWY.\n\n");
break;
case 5: printf("\nWybrano system PIATKOWY.\n\n");
break;
case 6: printf("\nWybrano system SZOSTKOWY.\n\n");
break;
case 7: printf("\nWybrano system SIODEMKOWY.\n\n");
break;
case 8: printf("\nWybrano system OKTALNY.\n\n");
break;
case 9: printf("\nWybrano system DZIEWIATKOWY.\n\n");
break;
case 10: printf("\nWybrano system DZIESIETNY.\n\n");
break;
case 11: printf("\nWybrano system JEDENASTKOWY.\n\n");
break;
case 12: printf("\nWybrano system DWUNASTKOWY.\n\n");
break;
case 13: printf("\nWybrano system TRZYNASTKOWY.\n\n");
break;
case 14: printf("\nWybrano system CZTERNASTKOWY.\n\n");
break;
case 15: printf("\nWybrano system PIETNASTKOWY.\n\n");
break;
case 16: printf("\nWybrano system SZESNASTKOWY.\n\n");
break;
}
if(s>=2 && s<=16)
{
printf("\nTeraz podaj liczbe naturalna, mieszczaca sie w przedziale 0-30 000: ");
scanf("%d", &n);
if(n<0 && n>30000)
{
printf("Liczba spoza wymaganego przedzialu. Sprobuj ponownie...\n\n\n\n");
goto start;
}
d=0;
while(n!=0)
{
tab[n] = n%s;
n=n/s;
d++;
}
printf("Wybrana liczba, czyli w systemie %d-kowym = ",s);
while(d!=0)
{
if(tab[d]==0)
{
d--;
printf("%x\n\n\n\n",tab[d]);
}
else
{
d--;
printf("%x\n\n\n\n",tab[d]);
}
}
}
else
if(s<2)
printf("\n\nsystem poza przedzialem 2 - 16. Sprobuj ponownie...\n\n");
else
if(s>16)
printf("\n\nsystem poza przedzialem 2 - 16. Sprobuj ponownie...\n\n");
goto start;
getch();
getch();
system("PAUSE");
return 0;
}
- PROBLEM JEST OD d=0 i z całą tą klamrą** - budzi moje wątpliwości, przyznam się, że mimo przekonań mojego kolegi, za cholerę nie uwierzę, że to jest dobrze napisane, zwłaszcza, ze po kompilacji, odpaleniu pokazuje mi złe wyniki.
To moje pierwsze styczności z programowaniem - ever. Nie do końca pewnie czuje się jeszcze w C, w pętlach i tablicach, więc jak łatwo się domyśleć, jestem totalnym laikiem...
Jest to mój pierwszy post, pierwszy krok na tym forum, pierwszy ogólny raz, więc bardzo proszę o wyrozumiałość...
ponawiam moją prośbę, czy byłby ktoś tak miły i by mi objaśnił? :)