atoi array to integer esimerkki

/*
Esimerkki atoi-funktion käytöstä
Anna luku merkkijonona ja muuta se luvuksi atoi-funktiolla. Tee ohjelma siten, että
se huolii ainoastaan kolme numeroa,herjaa, jos yritetään antaa kirjaimia.
Idea: Kysytään merkkejä getch=anna merkki, funktiolla ja kerätään annetut merkit
merkkijonoon. Muista merkkijonon indeksi= paikka jonossa, alkaa nollasta eli ensimmäisen
merkin järjestysnumero on nolla ja muistavielä,että merkkijono pitää päättää nollalla.
atoi=array to integer  array=jono merkkejä, atoi muuttaa merkkijonon luvuksi,  
Toimii dos ja Windows ympäristöissä
*/ 
#include <stdlib.h>
#include <stdio.h>
#include <tchar.h>
#include <conio.h>
 
void main()
{
    //Ohjelma kysyy luvun ja tulostaa sitä vastaavan ASCII-merkin
    char Merkkijono[10];//varataan kymmenen merkkiä pitkä merkkijono
    int Luku=0;//lukuun talletetaan merkkijonosta atoi-funktiolla muutettu arvo
    int Paikka=0;//merkin paikka merkkijonossa 0...2
    while(234!=Luku)//silmukassa kunnes annetaan 234 Huom. != on EI 
    {
        printf("\nANNA LUKU 1...255: ");
        while(Paikka<3 && Merkkijono[Paikka-1]!=13)// 13 on Enter
        {
            Merkkijono[Paikka]=getche();//getche kysyy ja näyttää merkin
            Paikka++;//lisätään paikkaa yhdellä= siirrytään seuraavaan kohtaan
            //merkkijonossa
        }
        Merkkijono[Paikka]=0;//laitetaan viimeiseksi merkkijonon lopetusmerkki=0
        Paikka=0;
        Luku=atoi(Merkkijono);//muutetaan merkkijono luvuksi
        if(Luku==0) printf("\nPyysin numeroita!!!!\7\7\7");
        else if(Luku>255) printf("\nPyysin lukua < 255!!!!\7\7\7");
        else printf("\nAntamasi merkki on: %c ja sen ASCII-arvo %d",Luku,Luku);
    }//while silmukka loppuu
}
 
/* Selityksiä 
!= EIHÄN
== ONHAN
&& JA
|| TAI
!  EI
<  PIENEMPI
> SUUREMPI
<= PIENEMPI TAI YHTÄSUURI
>= SUUREMPI TAI YHTÄSUURI
++ lisäys yhdellä
-- vähennys yhdellä
*/
Comments