Kezdőoldal » Számítástechnika » Programozás » (C nyelv) Számológépes program...

(C nyelv) Számológépes program x = előző összeg eredmény. Ha 1 + 1 =2 Ha x + 1 =3 Hogy vizsgálom meg hogy a bemenet 'x'?

Figyelt kérdés

Jelenleg csak egy összeadással kísérletezem:


#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <math.h>

#include <ctype.h>


int main()

{

int vegertek=0;

int eloertek=0;

char operat,ertek1char='0',ertek2char='0';

int ertek1,ertek2;



while(scanf("%d %c %d",&ertek1,&operat,&ertek2)!=EOF)

{

ertek1char=ertek1+'0';

ertek2char=ertek2+'0';

/*osszeadas*/

/*------------------------------------------*/

switch(operat)

{



case '+':

if(ertek1char=='x')

{

vegertek=eloertek+ertek2;

printf("%d",vegertek);

eloertek=vegertek;


}

else if(ertek2char=='x')

{

vegertek=ertek1+eloertek;

printf("%d",vegertek);

eloertek=vegertek;



}


else if(ertek1char=='x' && ertek2char=='x')

{

vegertek=eloertek+eloertek;

printf("%d",vegertek);

eloertek=vegertek;


}


else

{

vegertek=ertek1+ertek2;

printf("%d\n",vegertek);

eloertek=vegertek;

}


}


}

return 0;

}

Próbáltam átkonvertálni az értékeket stringé és úgy megvizsgálni, később rájöttem, ha átkonvertálom nem ugyan azt kapom vissza, máshogy meglehet vizsgálni, vagy mit írjak át?

Esetleg dinamikus memória használatával tömbökkel kellene megoldanom?


Aki tudna esetleg ebben segíteni, hálás lennék, köszönöm előre is a válaszokat.


amugy ez lenne a feladatom:

[link]



2021. jún. 2. 19:24
 1/6 anonim ***** válasza:
34%

Vergődj még egy kicsit.

Nem érezni az izzadság szagát.

2021. jún. 2. 19:26
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:

Kedves első válaszoló


Sajnos ezzel a válasszal sokra nem jutottam és úgy vélem, hogy nem témához illő, ha az izzadással kapcsolatos témák megválaszolására vágyik, javaslom hogy más szekciót válasszon :)


Higgye el, ha máshol találok választ, akkor nem itt kérdezem meg (igen, tudom mi az a google, duckduckgo, ecosia meg még sorolhatnám). :)


De mivel ez az oldal arra született, hogy kérdéseket tegyünk fel és (remélhetőleg) értelmes válaszokat kapjunk a témával kapcsolatban, gondoltam teszek egy próbát. :)


Ha meg egyszerűen azért írt, mert unatkozik, javaslom hasznosabb dolgokra szentelje az idejét, az élet rövid. :)

Megértését köszönöm.

2021. jún. 2. 19:49
 3/6 anonim ***** válasza:
20%

"De mivel ez az oldal arra született, hogy kérdéseket tegyünk fel "


Az iskola meg arra, hogy tanuljunk.

Megértését nem várom el.

2021. jún. 2. 20:05
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:
Bocsi, hogy ennyire megsértettem az érzéseidet. :)
2021. jún. 2. 20:14
 5/6 anonim ***** válasza:

Ez a kód borzalom, gyakorolj először könnyebb dolgokon. Annak ellenére, hogy ez a feladat.

Az if és switch-case szerkezeteket gyakorold még, utána eshetsz neki ennek csak.

Elmagyarázni ezt katasztrófa lenne neked, kész kódot meg nem adok.

2021. jún. 3. 18:17
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:

Kedves 5. válaszoló.


Tudom hogy a kód rossz, valamint tudom hogy fejlődnöm kell még, ezzel a kóddal csak kísérletezni próbáltam, kész kódot nem vártam el (ha bár nem tagadom meg és tisztelem is érte a személyt), csak egyesek véleményét, hogy hogy indulna neki a kódnak, vagy helyettem mit csinálna másképp, esetleg tippeket adna.

De azért köszönöm, hogy próbáltál segíteni.



Azóta a kódot sikerült megcsinálnom (mégha nem is tökéletesen, de a rendszer elfogadta):


ha valaki esetleg még mindig cáfolná, nyugodtan kommentelheti a saját kódját, szép estét uraim/hölgyeim :

/*

[link]

*/

#include <stdio.h>

#include <string.h>

#include <math.h>

#include <ctype.h>

#include <stdlib.h>



int main()

{

char ertek1t[1000],ertek2t[1000];

char operat;

int ertek1,ertek2,eloertek=0,vegertek;



while(scanf("%s %c %s",&ertek1t,&operat,&ertek2t)!=EOF)

{


if(ertek1t[0]=='x' && ertek1t[1]=='\0')

ertek1=eloertek;


else if(isalnum(ertek1t[0]))

ertek1=atoi(ertek1t);


if(ertek2t[0]=='x')

ertek2=eloertek;

else if(isalnum(ertek1t[0]))

ertek2=atoi(ertek2t);



switch(operat)

{



case '+':

eloertek=ertek1+ertek2;

printf("%d\n",ertek1+ertek2);

break;

case '-':

eloertek=ertek1-ertek2;

printf("%d\n",ertek1-ertek2);

break;

case '*':

eloertek=ertek1*ertek2;

printf("%d\n",ertek1*ertek2);

break;

case '/':

if(ertek2==0)

printf("Hiba!\n");

else

{

eloertek=ertek1/ertek2;

printf("%d\n",ertek1/ertek2);

}

break;

default :

break;


}



}



return 0;

}

2021. jún. 3. 21:24

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!