Typ zmienne ja + - /

0

Witam dla poćwiczenia w języki c chciałem sobie zrealizować prościutki kalkulator.Jako typ wczytywanych operacji np + - * przyjąłem char no i właśnie jest problem bo coś jest z tym nie tak w ogóle tego nie rozpoznaje.Oto fragment prostego kodu może mi coś podpowiecie.Na samym początku już jak zaczytam typ operacji to on nawet tego wyświetlić nie chce

#include<stdio.h>

main()
{
int a,b,t,i;
int p;
puts("Podaj liczbe testow\n");
scanf("%d",&t);
for(i=1;i<=t;i++)
{
scanf("%c %d %d",&p,&a,&b);
printf("%c %d %d",p,a,b);

                   if(p=='+')
                  printf("%d",a+b);
                  
                  if(p=='-')
                  printf("%d",a-b);
                  
                  if(p=='*')
                  printf("%d",a*b);
                  
                  if(p=='/')
                  printf("%d",a/b);
                  
                  if(p=='%')
                  printf("%d",a%b);                      
                  }      

}

0

int p;
%c
?

0

tam jest char p tylko kombinowałem z tym i mi zostało int

0
#include<stdio.h>

int main()
{
  int a,b,t,i;
  char p;
  puts("Podaj liczbe testow\n");
  scanf("%d",&t);
  for (i=0;i<t;i++)
    {
      while(char c=getchar() != '\n' && c!=EOF); //kasowanie bufora w ktorym zalega nam \n
      scanf("%c %d %d",&p,&a,&b);
      printf("%c %d %d\n",p,a,b);
      if (p=='+')
        printf("%d\n",a+b);
      else if (p=='-')
        printf("%d\n",a-b);
      else if (p=='*')
        printf("%d\n",a*b);
      else if (p=='/')
        printf("%d\n",a/b);
      else if (p=='%')
        printf("%d\n",a%b);
    }
  return 0;
}
0

dzięki... nie przyszło mi do głowy takie coś

0

To jest częsty problem kiedy sie wczytuje %c ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1