Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C by Roli ( 14 years ago )
#include <stdafx.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
enum {
MAX = 128,
MAXSZAMJEGY = 5
};
int egesz(char s[]){
int i;
i=(s[0]=='-' || s[0]=='+')?1:0;
while(s[i]){
if(!isdigit(s[i]))return 0;
i++;
}
return 1;
}
int getline(char s[],int lim)
{
int i;
char c;
for (i=0;i<lim && (c=getchar())!=EOF && c!='\n';++i)
s[i]=c;
s[i]='\0';
while (c!=EOF && c!='\n')
c=getchar();
return i;
}
void main(void) {
int i, vege=0, ok=0, osszeg=0;
long int szam1, szam2, ujszam, hossz=0;
char tmp[MAX+1], osszegTomb[MAX+1];
printf("Szamvizsgalo Program!\n");
printf("---------------------\n\n");
while(!vege) {
while(!ok) {
printf("Kerem adjon meg egy maximum %d jegyu szamot!\n\n", MAXSZAMJEGY);
if(!getline(tmp, MAX)) {
printf("Ures sort adott meg!\n\n");
ok=1;
vege=1;
}else if(strlen(tmp) > MAX-1) {
printf("Tul sok karaktert adott meg!\n\n");
}else{
szam1 = atol(tmp);
if(!egesz(tmp)) {
printf("Nem egesz szamot adott meg!\n\n");
ok=1;
}else if(szam1 < -99999 || szam1 > 99999) {
printf("Maximum %d jegyu szamot adhat meg!\n\n", MAXSZAMJEGY);
}else{
printf("\n\nA beirt szam: -\n\n", szam1);
strrev(tmp);
szam2 = atol(tmp);
if(szam1 < 0) {
szam2 = szam2 * -1;
}
printf("A megforditott szam: -\n\n", szam2);
ujszam = szam1 + szam2;
printf("A ket szam osszege: -\n\n", ujszam);
if(szam1 < 0) {
ujszam = ujszam * -1;
}
ltoa(ujszam, osszegTomb, 10);
for(i=0; osszegTomb[i]; ++i)
osszeg+=osszegTomb[i]-'0';
printf("Az uj szam szamjegyeinek osszege : -\n\n", osszeg);
}
}
ok=1;
}
vege=1;
}
getchar();
}
Revise this Paste