/* 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ä */ |