Hirdetés

Új hozzászólás Aktív témák

  • cellpeti

    veterán

    Na valami kezd sikeredni! Lehet,hogy túl sok feltételt írtam az if-be de így is működik!
    Tehát EOF és üres sor ütéséré és ha nem 0 vagy nem 1 ütöttünk újra kér egy bináris kódot!

    #include <stdio.h>
    #include <string.h>
    #include<conio.h>

    #define MAXDB 17

    int getline(char s[],int lim){
    int i;
    char c;
    for(i=0;i<lim && (c=getchar())!='\n' && c!=EOF;++i)s[i]=c;
    s[i]='\0';
    while(c!='\n'&& c!=EOF)c=getchar();
    return i;
    }

    int bin(char s[]) {
    int rosszszam=0, i;

    for(i=0; i<strlen(s); i++) {
    if(s[i]!='0' && s[i]!='1') {
    return 0;
    }
    }
    return 1;
    }

    unsigned int btou(char s[]) {
    int eredmeny=0, i;

    strrev(s);
    for(i = strlen(s) - 1; i>=0; i--) {
    if(s[i]=='1')
    eredmeny+=(int)pow(2, i);
    }

    return eredmeny;
    }

    void main(void){
    char a[MAXDB+1];
    int i=1;

    do{
    printf("Kerem a %d. binaris szamot: ",i);
    if(!getline(a,MAXDB!=' ') || !EOF || (!bin(a))) printf("Ures sor,vagy EOF vagy nem binaris kód\n");
    else i++;
    }while(i<MAXDB);
    }

    [ Szerkesztve ]

    Tigris, tigris, csóvafény...

Új hozzászólás Aktív témák