Estaba haciendo una calculadora para subirlo a un pic 16f877 y a un lcd con teclado matricial pero me tira un error ya que cuando pongo "compilar" el PicC automaticamente me abre una nueva pestaña en el programa con la libreria "string.h". Alguien sabe cual es el problema??
Este es el codigo:
#include <stdio.h>
#include <stdlib.h>
#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#include <lcd.c>
#include <kbd.c>
void main(void)
{
int z,y,vardet;
float a11,b11,c11,a21,b21,c21;
float a1,b1,c1,d1;
float a2,b2,c2,d2;
float a3,b3,c3,d3;
float a,b,c,d,e,f,g,h,i,j;
lcd_init()
kbd_init()
lcd_putc("\fMENU PRINCIPAL\n");
lcd_putc("1_Suma 4_Divisi\n");
lcd_putc("2_Resta 5_Promed\n");
lcd_putc("3_Multi 6_Determ\n");
scanf("%d",&z);
switch (z) {
case 1 :
system("cls");
lcd_putc("\f1er digito:");
scanf("%f",&a);
lcd_putc("2do digito:");
scanf("%f",&b);
lcd_putc("3er digito:");
scanf("%f",&c);
lcd_putc("Rta: %f ",a+b+c);
getche();
break;
case 2 :
system("cls");
lcd_putc("1er digito:");
scanf("%f",&a);
lcd_putc("2do digito:");
scanf("%f",&b);
lcd_putc("3er digito:");
scanf("%f",&c);
lcd_putc("Rta: %f",a - b -c);
getche();
break;
case 3 :
system("cls");
lcd_putc("1er digito:");
scanf("%f",&a);
lcd_putc("2do digito:");
scanf("%f",&b);
lcd_putc("3er digito:");
scanf("%f",&c);
lcd_putc("Resultado: %f",a * b * c);
getche();
break;
case 4 :
system("cls");
lcd_putc("1er digito:");
scanf("%f",&a);
lcd_putc("2do digito:");
scanf("%f",&b);
lcd_putc("Rta: %f",a / b);
getche();
break;
case 5 :
system("cls");
lcd_putc("Hasta 10 num\n");
lcd_putc("Numero de notas: ");
scanf("%d",&y);
switch(y) {
case 1 :
system("cls");
lcd_putc("Primer nota:");
scanf("%f",&a);
lcd_putc("Resultado: %f",a);
break;
case 2 :
system("cls");
lcd_putc("Primer nota:");
scanf("%f",&a);
lcd_putc("Segunda nota:");
scanf("%f",&b);
lcd_putc("Resultado: %f",(a+b)/2);
break;
case 3 :
system("cls");
lcd_putc("Primer nota:");
scanf("%f",&a);
lcd_putc("Segunda nota:");
scanf("%f",&b);
lcd_putc("Tercera nota:");
scanf("%f",&c);
lcd_putc("Resultado: %f",(a+b+c)/3);
break;
case 4 :
system("cls");
lcd_putc("Primer nota:");
scanf("%f",&a);
lcd_putc("Segunda nota:");
scanf("%f",&b);
lcd_putc("Tercera nota:");
scanf("%f",&c);
lcd_putc("Cuarta nota:");
scanf("%f",&d);
system("cls");
lcd_putc("Resultado: %f",(a+b+c+d)/4);
break;
case 5 :
system("cls");
lcd_putc("Primer nota:");
scanf("%f",&a);
lcd_putc("Segunda nota:");
scanf("%f",&b);
lcd_putc("Tercera nota:");
scanf("%f",&c);
lcd_putc("Cuarta nota:");
scanf("%f",&d);
system("cls");
lcd_putc("Quinta nota:");
scanf("%f",&e);
lcd_putc("Resultado: %f",(a+b+c+d+e)/5);
break;
case 6 :
system("cls");
lcd_putc("Primer nota:");
scanf("%f",&a);
lcd_putc("Segunda nota:");
scanf("%f",&b);
lcd_putc("Tercera nota:");
scanf("%f",&c);
lcd_putc("Cuarta nota:");
scanf("%f",&d);
system("cls");
lcd_putc("Quinta nota:");
scanf("%f",&e);
lcd_putc("Sexta nota:");
scanf("%f",&f);
lcd_putc("Resultado: %f",(a+b+c+d+e+f)/6);
break;
case 7 :
system("cls");
lcd_putc("Primer nota:");
scanf("%f",&a);
lcd_putc("Segunda nota:");
scanf("%f",&b);
lcd_putc("Tercera nota:");
scanf("%f",&c);
lcd_putc("Cuarta nota:");
system("cls");
scanf("%f",&d);
lcd_putc("Quinta nota:");
scanf("%f",&e);
lcd_putc("Sexta nota:");
scanf("%f",&f);
lcd_putc("Septima nota:");
scanf("%f",&g);
lcd_putc("Resultado: %f",(a+b+c+d+e+f+g)/7);
break;
case 8 :
system("cls");
lcd_putc("Primer nota:");
scanf("%f",&a);
lcd_putc("Segunda nota:");
scanf("%f",&b);
lcd_putc("Tercera nota:");
scanf("%f",&c);
lcd_putc("Cuarta nota:");
scanf("%f",&d);
system("cls");
lcd_putc("Quinta nota:");
scanf("%f",&e);
lcd_putc("Sexta nota:");
scanf("%f",&f);
lcd_putc("Septima nota:");
scanf("%f",&g);
lcd_putc("Octava nota:");
scanf("%f",&h);
system("cls");
lcd_putc("Resultado: %f",(a+b+c+d+e+f+g+h)/8);
break;
case 9 :
system("cls");
lcd_putc("Primer nota:");
scanf("%f",&a);
lcd_putc("Segunda nota:");
scanf("%f",&b);
lcd_putc("Tercera nota:");
scanf("%f",&c);
lcd_putc("Cuarta nota:");
scanf("%f",&d);
system("cls");
lcd_putc("Quinta nota:");
scanf("%f",&e);
lcd_putc("Sexta nota:");
scanf("%f",&f);
lcd_putc("Septima nota:");
scanf("%f",&g);
lcd_putc("Octava nota:");
scanf("%f",&h);
system("cls");
lcd_putc("Novena nota:");
scanf("%f",&i);
lcd_putc("Resultado: %f",(a+b+c+d+e+f+g+h+i)/9);
break;
case 10 :
system("cls");
lcd_putc("Primer nota:");
scanf("%f",&a);
lcd_putc("Segunda nota:");
scanf("%f",&b);
lcd_putc("Tercera nota:");
scanf("%f",&c);
lcd_putc("Cuarta nota:");
scanf("%f",&d);
system("cls");
lcd_putc("Quinta nota:");
scanf("%f",&e);
lcd_putc("Sexta nota:");
scanf("%f",&f);
lcd_putc("Septima nota:");
scanf("%f",&g);
lcd_putc("Octava nota:");
scanf("%f",&h);
system("cls");
lcd_putc("Novena nota:");
scanf("%f",&i);
lcd_putc("Decima nota:");
scanf("%f",&j);
lcd_putc("Resultado: %f",(a+b+c+d+e+f+g+h+i+j)/10);
break;
default:
system("cls");
lcd_putc("\fValor incorrecto");
}
getche();
break;
case 6:
system("cls");
lcd_putc("2 o 3 incog? ");
scanf("%d",&vardet);
switch (vardet) {
case 2 :
system("cls");
lcd_putc("Valor de a1: ");
scanf("%f",&a11);
lcd_putc("Valor de b1: ");
scanf("%f",&b11);
lcd_putc("Valor de c1: ");
scanf("%f",&c11);
system("cls");
lcd_putc("Valor de a2: ");
scanf("%f",&a21);
lcd_putc("Valor de b2: ");
scanf("%f",&b21);
lcd_putc("Valor de c2: ");
scanf("%f",&c21);
system("cls");
float d1=(((a11)*(b21))-((a21)*(b11)));
float i11=((((c11)*(b21))-((c21)*(b11)))/(((a11)*(b21))-((a21)*(b11))));
float i21=((((a11)*(c21))-((a21)*(c11)))/(((a11)*(b21))-((a21)*(b11))));
system("cls");
lcd_putc("Delta: %f",d1);
getche();
system("cls");
lcd_putc("X : %f\n",i11);
if (i11 < 0) {
lcd_putc("Valor Negativo\n");
lcd_putc("Signo Contrario\n");
lcd_putc("En la malla");
}
getche();
system("cls");
lcd_putc("Y : %f\n",i21);
if(i21 < 0) {
lcd_putc("Valor Negativo\n");
lcd_putc("Signo Contrario\n");
lcd_putc("En la malla\n");
}
getche();
break;
case 3:
system("cls");
lcd_putc("Valor de a1: ");
scanf("%f",&a1);
lcd_putc("Valor de b1: ");
scanf("%f",&b1);
lcd_putc("Valor de c1: ");
scanf("%f",&c1);
lcd_putc("Valor de d1: ");
scanf("%f",&d1);
system("cls");
lcd_putc("Valor de a2: ");
scanf("%f",&a2);
lcd_putc("Valor de b2: ");
scanf("%f",&b2);
lcd_putc("Valor de c2: ");
scanf("%f",&c2);
lcd_putc("Valor de d2: ");
scanf("%f",&d2);
system("cls");
lcd_putc("Valor de a3: ");
scanf("%f",&a3);
lcd_putc("Valor de b3: ");
scanf("%f",&b3);
lcd_putc("Valor de c3: ");
scanf("%f",&c3);
lcd_putc("Valor de d3: ");
scanf("%f",&d3);
system("cls");
float d=((a1)*(b2)*(c3))+((b1)*(c2)*(a3))+((c1)*(a2)*(b3))-((a3)*(b2)*(c1))-((b3)*(c2)*(a1))-((c3)*(a2)*(b1));
float i1=(((d1)*(b2)*(c3))+((b1)*(c2)*(d3))+((c1)*(d2)*(b3))-((d3)*(b2)*(c1))-((b3)*(c2)*(d1))-((c3)*(d2)*(b1)))/(((a1)*(b2)*(c3))+((b1)*(c2)*(a3))+((c1)*(a2)*(b3))-((a3)*(b2)*(c1))-((b3)*(c2)*(a1))-((c3)*(a2)*(b1)));
float i2=(((a1)*(d2)*(c3))+((d1)*(c2)*(a3))+((c1)*(a2)*(d3))-((a3)*(d2)*(c1))-((d3)*(c2)*(a1))-((c3)*(a2)*(d1)))/(((a1)*(b2)*(c3))+((b1)*(c2)*(a3))+((c1)*(a2)*(b3))-((a3)*(b2)*(c1))-((b3)*(c2)*(a1))-((c3)*(a2)*(b1)));
float i3=(((a1)*(b2)*(d3))+((b1)*(d2)*(a3))+((d1)*(a2)*(b3))-((a3)*(b2)*(d1))-((b3)*(d2)*(a1))-((d3)*(a2)*(b1)))/(((a1)*(b2)*(c3))+((b1)*(c2)*(a3))+((c1)*(a2)*(b3))-((a3)*(b2)*(c1))-((b3)*(c2)*(a1))-((c3)*(a2)*(b1)));
system("cls");
lcd_putc("D: %f",d);
getche();
system("cls");
lcd_putc("X : %f\n",i1);
if (i1 < 0) {
lcd_putc("Valor Negativo\n");
lcd_putc("Signo Contrario\n");
lcd_putc("En la malla");
}
getche();
system("cls");
lcd_putc("Y : %f\n",i2);
if(i2 < 0) {
lcd_putc("Valor Negativo\n");
lcd_putc("Sent Contrario\n");
lcd_putc("En la malla\n");
}
getche();
system("cls");
lcd_putc("Z : %f\n",i3);
if(i3 < 0) {
lcd_putc("Valor Negativo\n");
lcd_putc("Sent Contrario\n");
lcd_putc("En la malla\n");
}
getche();
break;
default :
system("cls");
lcd_putc("Valor incorrecto");
getche();
}
system("cls");
lcd_putc("Software-Juanfran");
system("PAUSE>nul");
return 0;
}
Me salta el error 128
Muchas gracias por la minima ayuda
