Błąd w kodzie programu c++

0

Witam! Zaczynam właśnie swoją przygodę z programowaniem, a dokładniej z C/C++ i mam problem z pewnym programem.

Co jest źle w tym kodzie?

#include <stdio.h>

using namespace std;

int main()
{
int a;
float b;
char c;
printf("Podaj liczbe:");
scanf("%d",&a);
printf("Podaj ulamek:");
scanf("%d", &b);
printf("Podaj slowo:");
scanf("%s", &c);
printf("%d",a' ' "%d",b' ' "%s%s",c);

return 0;

}

Proszę o jakąś pomoc/wskazówki. Przede wszystkim chodzi mi o przedostatnią linię kodu, bo wydaje mi się, że właśnie w niej są jakieś błędy. W zadaniu wymagane jest, żeby podana wcześniej liczba, ułamek i słowo pojawiły się w jednej linii z odstępami.

2

1.%d wczytuje liczbę całkowitą (int), a nie zmiennoprzecinkową.
2.Podaj ułamek sugeruje wpisanie czegoś w stylu 3/5, lecz to nie działa w ten sposób.

0

Ta liczba ma być właśnie całkowita, ale z tym ułamkiem nie wiem, jak sobie poradzić.

0

Ułamek będzie też typem char, ale nie wiem, co z ostatnią linijką.

0

ale z tym ułamkiem nie wiem, jak sobie poradzić.

int n, m;
float f;

scanf('%d/%d', &n, &m);
f = (float) n/m;

Ułamek będzie też typem char

Pardon?

ale nie wiem, co z ostatnią linijką.

Z tym printfem?
Poszukaj w internecie jak się z tego korzysta, zobacz przykłady, a zrozumiesz :P

0

Mniej więcej wiem, jak działa printf tylko mam problem ze zrobieniem odstępu/spacji.

0

No właśnie patrząc po tym kodzie to niezbyt wiesz jak działa :P

0

A możesz mi wyjaśnić jak zrobić spację?

2
void zrob_spacje () {
  printf(" ");
}
3

Taki szeroki klawisz na dole.

0

Zacznę od tego, że jest to kod C, a nie C++, więc nazwa tematu jest myląca :)

Jako, że jest to C, to przestrzenie nazw nie wchodzą tu w grę, więc

 using namespace std; 

możesz sobie darować.

Pod drugie chłopaki mają rację. Nie za bardzo wiesz jak działa printf oraz scanf :) %d wyświetla i wczytuje liczby całkowite int. %f służy do obsługi liczb zmiennoprzecinkowych. %s jak służy do obsługi liter, ale musisz stworzyć tablicę znaków, a nie znak. Poczytaj o funkcjach getchar(), putchar(), getc(), putc(). I użyj do tego pętli ze sprawdzaniem rozmiaru tablicy znaków. Powodzenia!

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