Operator porównań

0

Hej,
mam takie pytanie.Zaczynam przygodę z programowaniem i napisałem na początek prosty program który sumuje 2 podane przez użytkownika liczby,z czego pierwsza liczba jest całkowita a druga zmiennoprzecinkowa i tak go pomału przerabiam aż chciałem spróbować z właśnie operatorem porównania bo akurat miałem to dziś na wykładzie.Mianowicie chodzi mi o to że gdy użytkownik wpisze w miejsce drugiej liczby(która ma być zmiennoprzecinkowa) liczbę całkowitą to otrzyma komunikat o błędzie,lecz program pomija operator porównań w instrukcji if .Oto kod:

#include <stdio.h>

int main()
 {
	
	int liczba1;
	float liczba2;
	printf("Program sumuje 2 liczby podane przez uzytkownika,gdzie pierwsza liczba jest calkowita a druga zmiennoprzecinkowa\n");
	printf("Podaj pierwsza liczbe:\n");
	scanf("%d",&liczba1);
	printf("Podaj druga liczbe\n");
	
	if(scanf("%f",&liczba2)!=1)
	{
		printf("liczba ta nie jest zmiennoprzecinkowa\n");
		
	}
	else
	{
	printf("Suma twoich liczb wynosi %.1f\n",liczba1+liczba2);
	printf("Koniec programu\n");
	}}
	
	return 0;
} 
3

Użytkownik wprowadzając liczbę zmiennoprzecinkową, nie ma obowiązku pisać ani separatora dziesiętnego, ani części ułamkowej. 56 jest poprawną liczbą zmiennoprzecinkową.
P.S. Twój kod jest błędny, zbyt wiele nawiasów zamykających "}".

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