Tehtävä 1
#include <stdio.h>
#include <conio.h>
int arvo (int luku);
void muuttuja(int *luku);
void jokeri(int luku, int pot, int *summa);
void main (void)
{
int toiminto,luku,summa=0,pot;
printf ("Anna toiminto\n1 = arvoparametri, 2 = muuttujaparametri, 3 = jokeri\n");
scanf ("%d", &toiminto);
switch (toiminto) {
case 1:
printf ("Anna luku: ");
scanf ("%d", &luku);
summa = arvo(luku);
break;
case 2:
printf ("Anna luku: ");
scanf ("%d", &luku);
muuttuja(&luku);
summa = luku;
break;
case 3:
printf ("Anna luku: ");
scanf ("%d", &luku);
printf ("Anna potenssi: ");
scanf ("%d", &pot);
jokeri(luku, pot, &summa);
break;
default:
printf("Annoit vaaran toiminnon!\n\n");
}
printf ("Tulos on %d\n", summa);
getch();
}
int arvo(int luku)
{
return luku * luku;
}
void muuttuja(int *luku)
{
*luku = *luku * *luku;
}
void jokeri(int luku, int pot, int *summa)
{
int i;
if (pot != 0) {
for (i=1;i<pot;i++) {
if (*summa == 0) *summa = luku * luku;
else *summa = *summa * luku;
}
} else *summa = 1;
}
Tehtävä 2
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define TAULUKON_KOKO 20
void tayta_taulukko(void);
void tulosta_taulukko(void);
void hae_arvo(void);
void menu(void);
char uusiksi(void);
int taulukko[TAULUKON_KOKO];
void main (void)
{
int toiminto,lopetus=1;
do {
clrscr();
menu();
scanf ("%d", &toiminto);
switch (toiminto) {
case 1:
tayta_taulukko();
break;
case 2:
hae_arvo();
break;
case 3:
tulosta_taulukko();
break;
case 4:
lopetus = 0;
break;
default:
printf("Annoit vaaran toiminnon!\n");
}
toiminto = 0;
} while (lopetus == 1);
}
void tayta_taulukko(void)
{
int paikka,luku;
char vastaus;
do {
clrscr();
printf (".: SYOTTO :.\n\n");
printf ("Anna indeksi: ");
scanf ("%d",&paikka);
if (paikka >= 0 && paikka < TAULUKON_KOKO) {
printf ("Anna luku: ");
scanf ("%d",&luku);
taulukko[paikka] = luku;
} else {
printf("Annoit indeksin jota ei ole. Viimeinen indeksi on %d.\n", TAULUKON_KOKO - 1);
}
vastaus = uusiksi();
} while (vastaus == 'e');
}
void tulosta_taulukko(void)
{
int i,j,arvo=0,positio=0,apu[TAULUKON_KOKO] = {0},sort[TAULUKON_KOKO] = {0};
char vastaus;
// JOKERI ALKAA
for (i = 0; i < TAULUKON_KOKO; i++) apu[i] = taulukko[i];
for (j = 0; j < TAULUKON_KOKO; j++) {
for (i = 0; i < TAULUKON_KOKO; i++) {
if (arvo < apu[i]) {
arvo = apu[i];
positio = i;
}
}
apu[positio] = 0;
sort[j] = arvo;
arvo = 0;
}
// JOKERI LOPPUU
do {
clrscr();
printf (".: TULOSTUS :.\n\n");
for (i = 0; i < TAULUKON_KOKO; i++) printf ("Sija %d on %d\n",i+1,sort[i]);
vastaus = uusiksi();
} while (vastaus == 'e');
}
void hae_arvo(void)
{
int i,arvo,osuma=0;
char vastaus;
do {
clrscr();
printf (".: HAKU :.\n\n");
printf ("Anna haettava arvo: ");
scanf ("%d",&arvo);
for (i = 0; i < TAULUKON_KOKO; i++) {
if (arvo == taulukko[i]) {
printf ("Indeksi %d = %d\n",i,taulukko[i]);
osuma = 1;
}
}
if (osuma == 0) printf ("Antamaasi arvoa ei ole taulukossa.\n");
vastaus = uusiksi();
osuma = 0;
} while (vastaus == 'e');
}
void menu(void)
{
printf (".: MENU :.\n\n1 = Syota\n2 = Hae\n3 = Tulosta\n4 = Lopeta\n\nAnna toiminto: ");
}
char uusiksi(void)
{
char vastaus;
printf("\nJatketaanko valikkoon? (k tai e)\n");
vastaus = getche();
if (vastaus != 'k' && vastaus != 'e') {
do {
clrscr();
printf("Annoit vaaran komennon.\n");
printf("Jatketaanko valikkoon? (k tai e)\n");
vastaus = getche();
} while (vastaus != 'k' && vastaus != 'e');
}
return vastaus;
}
Tehtävä 3
#include <stdio.h>
#include <conio.h>
char uusiksi(void);
struct tili {
char tilinimi[30];
char tyyppi;
int tilinumero;
float alkusaldo;
float saldo;
};
struct tapahtuma {
char paiva[10];
int tilinumero;
float summa;
};
void main (void)
{
int check;
struct tili account;
struct tapahtuma action;
char vastaus, empty[1] = {0};
do {
clrscr();
fflush ( stdin );
printf ("Anna nimi: ");
gets(account.tilinimi);
printf ("Anna tilin tyyppi (kredit tai debet): ");
gets(account.tyyppi);
printf ("Anna tilinumero: ");
scanf ("%d",&account.tilinumero);
printf ("Anna alkusaldo: ");
scanf ("%f",&account.alkusaldo);
account.saldo = account.alkusaldo;
action.tilinumero = account.tilinumero;
clrscr();
fflush ( stdin );
printf ("Anna paiva: ");
gets(action.paiva);
printf ("Anna summa: ");
scanf ("%f",&action.summa);
account.saldo = account.saldo + action.summa;
clrscr();
printf (".: TILITIEDOT :.\n\n");
printf ("Nimi %s, jonka numero on %d.\n", account.tilinimi, account.tilinumero);
printf ("Tili on %s-saldoinen.\n", account.tyyppi);
printf ("Saldo on %.2f ja alkusaldo oli %.2f\n", account.saldo, account.alkusaldo);
printf ("Tapahtuman %.2f kirjauspaiva oli %s\n", action.summa, action.paiva);
vastaus = uusiksi();
} while (vastaus == 'k');
}
char uusiksi(void)
{
char vastaus;
printf("\nJatketaanko? (k tai e)\n");
vastaus = getche();
if (vastaus != 'k' && vastaus != 'e') {
do {
clrscr();
printf("Annoit vaaran komennon.\n");
printf("Jatketaanko? (k tai e)\n");
vastaus = getche();
} while (vastaus != 'k' && vastaus != 'e');
}
return vastaus;
}
Tehtävä 4
Tehtävä 5
Tehtävä 6
Tehtävä 7
Tehtävä 8
Tehtävä 9
Tehtävä 10
|