Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Code Block

 
Wiki Markup
\#include <stdio.h>
\#include <stdlib.h>
\#include <math.h>
\#include <string.h>


char\* itoa(int luku, char*jono);
int LuvunSyotto(int Minimi,int Maksimi);
void SotunTarkastus(char*);

int main()

{     char any;    
	char any;
    char Sotu\[100\];
       SotunTarkastus(Sotu);
       printf("Sotu on %s",Sotu);
       scanf("%c",&any); 
return 1;  

}
&nbsp;
void SotunTarkastus(char\* Sotu)
{
&nbsp;&nbsp;&nbsp;    int JarjNo;
&nbsp;&nbsp;&nbsp;    char Apu\[100\];
&nbsp;&nbsp;&nbsp;    char Merkki;
&nbsp;&nbsp;&nbsp;    int SyntAika,Indeksi,Paiva,Kk,Vuosi;
&nbsp;&nbsp;&nbsp;    char TarkJono\[\]="0123456789ABCDEFHJKLMNPRSTUVWXY";
&nbsp;&nbsp;&nbsp;    printf("\nAnna paiva: ");
&nbsp;&nbsp;&nbsp;    Paiva = LuvunSyotto(1,31);
&nbsp;&nbsp;&nbsp;    printf("\nAnna kuukausi: ");
&nbsp;&nbsp;&nbsp;    Kk = LuvunSyotto(1,12);
&nbsp;&nbsp;&nbsp;    printf("\nAnna vuosi: ");
&nbsp;&nbsp;&nbsp;    Vuosi = LuvunSyotto(0,99);
&nbsp;&nbsp;&nbsp;    printf("\nAnna vuoden jalkeiset KOLME numeroa: ");
&nbsp;&nbsp;&nbsp;    JarjNo = LuvunSyotto(1,999);
&nbsp;&nbsp;&nbsp;    printf("\nAnna viimeinen merkki huom\! ISO KIRJAIN:\n ");
&nbsp;&nbsp;&nbsp;    scanf("%c",&Merkki);
&nbsp;&nbsp;&nbsp;    scanf("%c",&Merkki);
&nbsp;&nbsp;&nbsp;    SyntAika=Paiva*10000000+Kk*100000+Vuosi*1000+JarjNo;
&nbsp;&nbsp;&nbsp;    Indeksi=SyntAika%31;
&nbsp;&nbsp;&nbsp;    if(Merkki==TarkJono\[Indeksi\])
&nbsp;&nbsp;&nbsp;
{            {
        itoa(SyntAika,Apu);//Muutetaan luku merkkijonoksi        
        if(SyntAika<100000000) strcpy(Sotu,"0");//jos päivä<10 lisätään 0 alkuun        
        else strcpy(Sotu,"");//muuten tyhjennetään merkkijono        
        strcat(Sotu,Apu);//lisätään merkkijonoon syntaika ja järjestysnumero        
        Sotu\[9\]=Merkki;//laitetaan tarkastusmerkki loppuun        
        Sotu\[10\]=0;//päätetäään merkkijono        
        printf("\nOikein, sotu oli %s",Sotu);
       }
&nbsp;&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;
{            else
    {
        printf("\nVÄÄRIN");
       }
}
&nbsp;
int LuvunSyotto(int Minimi,int Maksimi)
{
&nbsp;&nbsp; &nbsp;	int luku;
&nbsp;&nbsp; &nbsp;do
&nbsp;&nbsp; &nbsp;
{     scanf	do
	{
	scanf("%d",&luku);     if
	if(luku>Minimi\|\|luku
luku<Maksimi) break;
	}while(1);
&nbsp;&nbsp; &nbsp;	return luku;
&nbsp;&nbsp; &nbsp;
}
\\

char\* itoa(int luku, char*jono)
{
&nbsp;&nbsp; &nbsp;	int i=0;
&nbsp;&nbsp; &nbsp;	int apu,numero;
&nbsp;&nbsp; &nbsp;	i=log10((double)luku);//luvussa on i+1; numeroa
&nbsp;&nbsp; &nbsp;jono\	jono[i+1\]=0;//päätetään merkkijono eli 0 loppuun
&nbsp;&nbsp; &nbsp;	while(i>-1)
&nbsp; {
{      apu	apu=luku/10;     apu
	apu=apu*10;     numero
	numero=luku-apu; //luvun vähiten merkitsevä numero     jono\
	jono[i\]=48+numero; //muutetaan numero ASCII-arvoksi     i
	i--;     luku
	luku=luku/10;
  }
&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp; &nbsp; 	return jono;
}
\\