MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Jaký fotograf/ka získal/a cenu za nejpopulárnější příspěvek v Nikon Photo Contest?

V dnešní soutěži hrajeme o:

Seriály

Více seriálů



Ansi C vs mac os x

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Ansi C vs mac os x

Autor: JirSoft

15:47:55 06.03.2012

Problém je jednoduchý, sice mluvíte o předmětu ANSI-C, ale conio není jeho součástí, takže by neměla vůbec být universálně používána (používá se jen v DOSu a WINech...) - čtení z nebufferovaného vstupu se přestalo jinde používat před 20 lety, pokud chcete terminálový výstup, určitě by se našly vhodnější knihovny.
Takže jako první upozorněte učitele, že conio.h NEPATŘÍ do ANSI-C. A pokud to je neprůchodné, nahraďte je něčím z iostream.h (úplně stejnou funkčnost nedosáhnete. Např s touto úpravou je to už přeložitelné (mimochodem CLS je ze stejného soudku...):
[bold]
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int hadej(int max, int min);
int zacatek();
int cpuhadej(int max, int min);

int main()
{
int max,min,moznost;
printf("Zadej maximalni mozne cislo : ");
scanf ("%d",&max);
printf("Zadej minimalni mozne cislo : ");
scanf ("%d",&min);

if ((max<min)||(min>max)){printf("Zadali jste chybny rozsah\n");main();}
if (max==min){printf("Zadali jste chybny rozsah\n");main();}
printf ("Vyberte si program : 1. Hadej\n");
printf (" 2. Hadat bude pocitac\n");
scanf ("%d",&moznost);

if(moznost>2){printf("Zadej bud 1 nebo 2");system("CLS");main();} //TESTOVANI//
if(moznost==1)hadej(max,min);
if(moznost==2)cpuhadej(max,min);

return 0;
}

int hadej(int max, int min)
{
int pokus,cislo;
pokus=max+min+1;
printf ("Tak tedy hadej...\n");

srand ( time(NULL) );
cislo = (rand() % max + min);


while ((pokus>cislo)||(pokus<cislo))
{
printf ("Tipni si cele cislo z daneho intrevalu <%d ; %d>\n",min,max);
printf("Tvuj tip = ");
scanf ("%d",&pokus);
if ((pokus<min)||(pokus>max)){printf("Nezadal si cislo z daneho intervalu\n");getchar ();}
system("CLS");

if(pokus>cislo){printf("Nemyslim si cislo %d. Cislo, ktere si myslim je mensi.\n",pokus);} //TESTOVANI//
if(pokus<cislo){printf("Nemyslim si cislo %d. Cislo, ktere si myslim je vetsi.\n",pokus);}
}
printf("Dobra prace, uhodl jsi!\n");

char q;
printf ("\nChcete program ukoncit? a/n ");
scanf ("%s",&q);
if (q=='a')return 0;
system("CLS");
if (q=='n')main();

return 0;
}

int cpuhadej(int max, int min)
{

printf ("Vymysli si cele cislo z daneho intrevalu <%d ; %d>\n",min,max);

int cislo,overovani,zkouska;
zkouska=0;

while (zkouska==0)
{
srand ( time(NULL) );
cislo = (rand() % (max-min) + min);

printf ("Je cislo ktere si myslis %d ?\n",cislo);
printf ("Jestlize ano, napis < 1 > jestlize ne, napis < 0 > ");
scanf ("%d",&zkouska);
if (zkouska==0){printf("Napis, jestli je tvoje cislo vetsi nebo mensi [2,1]\n");scanf("%d",&overovani);}
if (zkouska==1){printf("Uhodl sem!");getchar();}
if (overovani==2){min=cislo+1;}
if (overovani==1){max=cislo-1;}
if (max==min){printf ("Tvoje cislo je %d \n",max);printf("Pro pokracovani stisknete libovolnou klavesu");getchar();return 0;}
if (min>max){printf("V tom pripade kecas!\n");return 0;}
}
return 0;
}
[/bold]

Citovat příspěvek

 

Re: Ansi C vs mac os x

Autor: get10

18:59:27 05.03.2012

dobrá, jde mi třeba o tenhle program

[bold]
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>

int hadej();
int zacatek();
int cpuhadej();

int main()
{

int zacatek;

int max,min,moznost;
printf("Zadej maximalni mozne cislo : ");
scanf ("%d",&max);
printf("Zadej minimalni mozne cislo : ");
scanf ("%d",&min);

if ((max<min)||(min>max)){printf("Zadali jste chybny rozsah\n");main();}
if (max==min){printf("Zadali jste chybny rozsah\n");main();}
printf ("Vyberte si program : 1. Hadej\n");
printf (" 2. Hadat bude pocitac\n");
scanf ("%d",&moznost);

if(moznost>2){printf("Zadej bud 1 nebo 2");system("CLS");main();} //TESTOVANI//
if(moznost==1)hadej(max,min);
if(moznost==2)cpuhadej(max,min);

return 0;
}
int hadej(int max, int min)
{
int pokus,cislo;
pokus=max+min+1;
printf ("Tak tedy hadej...\n");

srand ( time(NULL) );
cislo = (rand() % max + min);


while ((pokus>cislo)||(pokus<cislo))
{
printf ("Tipni si cele cislo z daneho intrevalu <%d ; %d>\n",min,max);
printf("Tvuj tip = ");
scanf ("%d",&pokus);
if ((pokus<min)||(pokus>max)){printf("Nezadal si cislo z daneho intervalu\n");getch ();}
system("CLS");

if(pokus>cislo){printf("Nemyslim si cislo %d. Cislo, ktere si myslim je mensi.\n",pokus);} //TESTOVANI//
if(pokus<cislo){printf("Nemyslim si cislo %d. Cislo, ktere si myslim je vetsi.\n",pokus);}
}
printf("Dobra prace, uhodl jsi!\n");

char q;
printf ("\nChcete program ukoncit? a/n ");
scanf ("%s",&q);
if (q=='a')return 0;
system("CLS");
if (q=='n')main();

return 0;
}

int cpuhadej(int max, int min)
{

printf ("Vymysli si cele cislo z daneho intrevalu <%d ; %d>\n",min,max);

int cislo,overovani,zkouska;
zkouska=0;

while (zkouska==0)
{
srand ( time(NULL) );
cislo = (rand() % (max-min) + min);

printf ("Je cislo ktere si myslis %d ?\n",cislo);
printf ("Jestlize ano, napis < 1 > jestlize ne, napis < 0 > ");
scanf ("%d",&zkouska);
if (zkouska==0){printf("Napis, jestli je tvoje cislo vetsi nebo mensi [2,1]\n");scanf("%d",&overovani);}
if (zkouska==1){printf("Uhodl sem!");getch();}
system("CLS");
if (overovani==2){min=cislo+1;}
if (overovani==1){max=cislo-1;}
if (max==min){printf ("Tvoje cislo je %d \n",max);printf("Pro pokracovani stisknete libovolnou klavesu");getch();return 0;}
if (min>max){printf("V tom pripade kecas!\n");return 0;}
}
return 0;
}

[/bold]

nenajde knihovnu conio.h

Citovat příspěvek

 

Re: Ansi C vs mac os x

Autor: JirSoft

21:30:32 04.03.2012

Opravdu by bylo fajn napsat, co to píše. Zvolíte-li nový projekt (Mac OS X - Application - Command Line Tool), zvolíte soubor main.c a do něj nakopírujete např.:
[bold] #include <math.h>
#include <stdio.h>

int
main (void)
{
double x = sqrt (2.0);
printf ("The square root of 2.0 is %f\n", x);
return 0;
}[/bold]
a dáte Run, co to napíše za chybu?

Citovat příspěvek

 

Re: Ansi C vs mac os x

Autor: get10

20:56:01 04.03.2012

to sem se právě pokoušel najít, ale nenašel. Každopádně Eclipse je najde, tak je z tama zkopíruju. A nastavení linkeru mám hledat pod čím?

Citovat příspěvek

 

Re: Ansi C vs mac os x

Autor: goddard

11:28:58 01.03.2012

zkus si ty hlavickove soubory najit na svem macu. pokud je najdes, tak si je pak v xcode pridej (zrejme v nastaveni linkeru)

Citovat příspěvek

 

Re: Ansi C vs mac os x

Autor: JirSoft

20:50:45 25.02.2012

Zdravím, sice používám XCode pro iOS, ale myslím, že když vyberete Mac, CLI a C jako jazyk, tak by to mělo normálně fungovat. Dejte někam program, který nefunguje...

Citovat příspěvek

 

Ansi C vs mac os x

Autor: get10

16:34:26 25.02.2012

ahoj
ve škole máme předmět programování v ANSI C,rozhodl jsem se tedy programovat v Xcode (3.0).
Jednoduché programy jako "hello world" fungují, respektive programy kde se používá základní knihovna stdio.h, jakmile potřebuji použít např. knihovnu math.h nebo time.h tak už jsou problémy a program nefunguje. Zkoušel jsem i program Eclipse, ale tam, i když se některé knihovny načetly, program stejně vypisoval chybu Binary not found.
Tenhle problém už řeším docela dlouho. Četl jsem x anglických diskuzí, x příruček, viděl sem x videí, ale stejně nevím, jak Xcode používat se všemi potřebnými knihovnami. Posím, pomožte a už mě nikam neodkazujte.
Klidně budu používat i jiný program, jen abych mohl programovat bez problémů v ANSI C,jako ostatní spolužáci s Windows.
Děkuju mockrát!

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: