我是编程新手,我正在努力学习C,因为我喜欢它并且它非常容易。我的第一个问题是GUI如何制作,如按钮和所有东西?
我的代码有点帮助。 我试图制作一个更高 - 更低的游戏,它会产生1到100之间的随机数,你会猜测这个数字是高于50还是低于50。 这是代码:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
int score = 0;
char veceManje[6];
void ocistiEkran()
{
system("cls");
printf("~Ekran ociscen~\n");
}
void randomBroj()
{
int rand1;
rand1 = rand() % 100 + 1;
printf("");
printf("Novi broj je generisan, probajte pogoditi da li je veci ili manji od 50.\n");
printf("Upisite 'vece' ako mislite da je veci, a 'manje' ako mislite da je manji.\n");
}
void restartIgre()
{
score = 0;
ocistiEkran();
printf("Restartovali ste igricu. Sada vam je score 0.\n");
randomBroj();
}
main()
{
randomBroj();
scanf(" %s", &veceManje);
if(veceManje == "vece")
{
if(rand1 < 50)
{
printf("Pogrijesili ste, broj %d je manji od 50.\n", rand1);
score = 0;
randomBroj();
}
else
{
printf("Odlicno! Broj %d je veci od 50.\n", rand1);
score ++;
randomBroj();
}
}
if(veceManje == "manje")
{
if(rand1 > 50)
{
printf("Pogrijesili ste, broj %d je veci od 50.\n", rand1);
score = 0;
randomBroj();
}
else
{
printf("Odlicno! Broj %d je manji od 50.\n", rand1);
score ++;
randomBroj();
}
}
else
{
printf("Upisite 'vece' ako mislite da je veci, a 'manje' ako mislite da je manji.\n");
scanf(" %s", &veceManje);
}
}
我得到了这些错误:
C:\Users\Acer\Desktop>gcc igrica.c
igrica.c: In function 'main':
igrica.c:42:6: error: 'rand1' undeclared <first use in this function>
igrica.c:42:6: note: each undeclared identifier is reported only once for each function it appears in.
感谢任何帮助。
答案 0 :(得分:0)
为了更新rand1以生成数字,你要么使用指针,要么更简单,只需让你的函数将数字返回给主
int randomBroj()
{
int rand1
rand1 = rand() % 100 + 1;
printf("");
printf("Novi broj je generisan, probajte pogoditi da li je veci ili manji od 50.\n");
printf("Upisite 'vece' ako mislite da je veci, a 'manje' ako mislite da je manji.\n");
return rand1
}
另外,你的main声明是错误的,main是你编译后第一个运行的函数,所以你必须在那里声明rand1
int main()
{
int rand1;
rand1 = randomBroj();
scanf(" %s", &veceManje);
if(veceManje == "vece")
{
....
}
}
C实际上并不是一种简单的语言,实际上是最难的语言之一。但是将它作为第一语言学习是很好的,因为学习其他语言会更容易,而且你对内存管理和其他低级细节也有了很好的理解。
不要用C创建GUI。 如果你想这样做,学习一种更容易和更初学者友好的语言,你也可以做GUI只学习python。
答案 1 :(得分:-1)
函数“randomBroj”应该返回它生成的随机数(rand1)。同样,在函数main中,应声明rand1并将其设置为“randomBroj”的返回值。
例如:
void randomBroj()
{
int rand1;
rand1 = rand() % 100 + 1;
return rand1;
}
main()
{
int rand1 = 0;
rand1 = randomBroj();
// The rest of your code
}