Menurendszert kell csinalnom, az 1-es menüpont:Töltsön fel 10 db 5 jegyű egész számmal egy t1 nevű tömböt billentyűzetről saját készítésű függvénnyel?
void feltolt(int *p);
int main()
{
int t1[11]= {0};
char c;
while(1)
{
system("cls");
printf("1.Tomb feltoltese 5 jegyu szamokkal\n");
c=getchar();
while(getchar()!='\n');
switch(c)
{
case '1':
feltolt(t1);
break;
}
}
return 0;
}
void feltolt(int *p)
{
int i;
int j;
for(i=0; i<10;)
{
printf("Kerem a tomb %i. elemet:",i);
getchar();
while(getchar()!='\n');
if(j>=10000 && j<=99999)
{
printf("Ez megfelelo elem.");
*p=j;
p++;
i++;
}
}
}
A gondom az hogy nem fogad el semmilyen értéket, ami 5 számjegyű szám. Mi lehet a hiba?
if(j>=10000 && j<=99999)
Nekem nagyon úgy tűnik, hogy ezt a j változót sehol máshol nem látom értékadás baloldalán.
int feltolt (int *p);
int main()
{
int t1[11]= {0},t2[11]= {0},t3[11]= {0},t4[11]= {0};
int j;
while(1)
{
system("cls");
printf("\n1.t1 tomb feltoltese 5 szamjegyu szamokkal:\n");
j=getchar();
while(getchar()!='\n');
switch(j)
{
case '1':
feltolt(t1);
break;
}
}
return 0;
}
int feltolt (int *p)
{
int i;
int j;
for(i=0; i<10;p++)
{
printf("Kerem a tomb %i. 5 szamjegyu elemet:\n",i);
j=getchar();
while(getchar()!='\n');
if(j>=10000 && j<=99999)
{
printf("Ez megfelelo elem:");
*p=j;
i++;
}
}
}
j=getchar();
while(getchar()!='\n');
if(j>=10000 && j<=99999)
A j-ben a ciklus után is ugyanaz az érték van, mint a ciklus előtt. És (nem vagyok C++-os, de tippelem, hogy) a j egy karakterkódot tárol (getchar), ami nemigen lesz 100000 környékén.
Össze kéne fűzni a beolvasott karaktereket, számmá alakítani és azt megvizsgálni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!