Witam. Potrzebuję pomocy z moim programem. Program ma rozwiązywać układ 2 równań metodą wyznaczników. Poza tym ma nie pozwalać na wciśnięcie innego klawisza oprócz cyfr (przy wpisywaniu wartości zmiennej). Oto pierwsza wersja więc liczę na rady i sugestie:
#include<dos.h>
#include<conio.h>
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
void main()
{
int z,a1,a2,b1,b2,c1,c2,W,Wx,Wy,x,y,liczba;
char znak;
//Ramki
clrscr();
textattr(16*0+0); clrscr();
for(z=1;z<=24;z++)
{
window(1,1,80,z);
textattr(16*12+14); clrscr();
delay(50);
}
for(z=24;z>=4;z--)
{
window(1,z,80,25);
textattr(16*9+0); clrscr();
delay(50);
}
for(z=4;z<=80;z++)
{
window(1,4,z,20);
textattr(16*11+11); clrscr();
delay(30);
}
window(1,21,80,24);
textattr(16*9+0); clrscr();
printf("\n");
printf("\n");
printf("\n");
printf(" ESC-KONIEC\n");
window(1,1,80,3);
textattr(16*12+14); clrscr();
gotoxy(20,2);
printf(" Desktop made by MadJack");
//Koniec ramek
window(1,11,80,14);
textattr(16*11+0); clrscr();
printf("\n");
printf(" a1 x + b1 y = c1\n");
printf(" a2 x + b2 y = c2\n");
gotoxy(2,2);
liczba=0;
while(znak!=27)
{
znak=getch();
if ((znak>=48)&&(znak<=57))
{
gotoxy (2,2);
printf ("%d",liczba=liczba*10+(znak-48));
}
else
{
sound(400);
delay (200);
nosound();
}
//Obliczenia
W=(a1*b2)-(a2*b1);
Wx=(c1*b2)-(c2*b1);
Wy=(a1*c2)-(a2*c1) ;
x=Wx/W;
y=Wy/W;
//Koniec obliczen
}
//Koniec
for(z=1;z<=25;z++)
{
window(1,1,80,z);
textattr(16*0+0); clrscr();
delay(80);
}
textattr(16*0+15); clrscr();
gotoxy(37,13);
cprintf("KONIEC");
getch();
}
Najlepiej gdyby wpisywane wartości pojawiały się tak jak a1.
Niewiem jak podpiąć to wszystko do obliczeń, a może zabrałem się do tego ze złej strony?
#include<dos.h>
#include<conio.h>
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
void main()
{
int z,a1,a2,b1,b2,c1,c2,W,Wx,Wy,x,y,liczba;
char znak;
//Ramki
clrscr();
textattr(16*0+0); clrscr();
for(z=1;z<=24;z++)
{
window(1,1,80,z);
textattr(16*12+14); clrscr();
delay(50);
}
for(z=24;z>=4;z--)
{
window(1,z,80,25);
textattr(16*9+0); clrscr();
delay(50);
}
for(z=4;z<=80;z++)
{
window(1,4,z,20);
textattr(16*11+11); clrscr();
delay(30);
}
window(1,21,80,24);
textattr(16*9+0); clrscr();
printf("\n");
printf("\n");
printf("\n");
printf(" ESC-KONIEC\n");
window(1,1,80,3);
textattr(16*12+14); clrscr();
gotoxy(20,2);
printf(" Desktop made by MadJack");
//Koniec ramek
window(1,11,80,14);
textattr(16*11+0); clrscr();
printf("\n");
printf(" a1 x + b1 y = c1\n");
printf(" a2 x + b2 y = c2\n");
gotoxy(2,2);
liczba=0;
while(znak!=27)
{
znak=getch();
if ((znak>=48)&&(znak<=57))
{
gotoxy (2,2);
printf ("%d",liczba=liczba*10+(znak-48));
}
else
{
sound(400);
delay (200);
nosound();
}
//Obliczenia
W=(a1*b2)-(a2*b1);
Wx=(c1*b2)-(c2*b1);
Wy=(a1*c2)-(a2*c1) ;
x=Wx/W;
y=Wy/W;
//Koniec obliczen
}
//Koniec
for(z=1;z<=25;z++)
{
window(1,1,80,z);
textattr(16*0+0); clrscr();
delay(80);
}
textattr(16*0+15); clrscr();
gotoxy(37,13);
cprintf("KONIEC");
getch();
}
Najlepiej gdyby wpisywane wartości pojawiały się tak jak a1.
Niewiem jak podpiąć to wszystko do obliczeń, a może zabrałem się do tego ze złej strony?