• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ Wyświetlanie znaków

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
963 wizyt
pytanie zadane 24 sierpnia 2018 w C i C++ przez omen Nowicjusz (160 p.)

Cześć, pytanie nietypowe ale krótkie i nie mam już pomysłów jak do tego dojść. Mam programik który pobiera dane osobowe i musi je wyświetlić na końcu ( w osobnych liniach, najlepiej w osobnych funkcjach wyjścia)

int main()
{

    string adres;
    char kod;

    printf("Podaj adres\n");
        cin.sync();
        getline(cin, adres);
    printf("Podaj kod literowy\n");
        scanf ("%s", &kod);

      printf("Wprowadzono nastepujace dane:\n\n");
    printf("Adres: ", adres);
    return 0;
}

No i muszę wyświetlić ten adres oraz jedno literowy kod - nie cout z c++. Nie wiem jak to ugryźć bo co próbuję to wywala.. Ma ktoś jakiś pomysł? indecision

1 odpowiedź

0 głosów
odpowiedź 24 sierpnia 2018 przez goopher Użytkownik (620 p.)

Po pierwsze jeśli program zwraca Ci błąd, to dobrze ten błąd umieścić w pytaniu, wtedy dużo łatwiej znaleźć przyczynę niż się domyślać.

Nie widzę importu wymaganych bibliotek (np. stdio.h).

W ANSI C nie ma klasy string jak w C++. Trochę więcej tutaj: https://pl.wikibooks.org/wiki/C/Napisy

komentarz 25 sierpnia 2018 przez omen Nowicjusz (160 p.)
Po pierwsze to nie dałem całego kodu a jedynie fragment aby się czegoś o tym dowiedzieć. Fakt, nie dałem tutaj że są biblioteki, ale są... iostream, cstdlib, stdio, hconio.h

Chodzi mi raczej o sam fragment wyświetlenia zmiennej adres z linii getline.

Program ma łączyć funkcje z C z C++ dlatego mam z tym problem, chciałem się po prostu dowiedzieć jak z tego w printf'ie wywołać wyświetlenie?
komentarz 25 sierpnia 2018 przez goopher Użytkownik (620 p.)

Jeśli chcesz w printf wyświetlić zmienne to powinieneś użyć sformatowanego stringa. Tutaj przykład:

#include <iostream>

int main() {
  int i = 8;
  float f = 3.14;
  std::string s = "napis";
  printf("int: %d\nfloat: %f\nstring: %s\n", i, f, s.c_str());
  return 0;
}

Więcej o formatowaniu tutaj: https://pl.wikibooks.org/wiki/C/printf#Format

Uwaga: printf jako funkcja z c średnio sobie radzi ze stringami z c++ więc należy użyć metody c_str aby napis poprawnie się wyświetlał.

Podobne pytania

0 głosów
1 odpowiedź 568 wizyt
0 głosów
1 odpowiedź 304 wizyt
pytanie zadane 31 grudnia 2018 w C i C++ przez Teslum_369 Gaduła (4,190 p.)
0 głosów
1 odpowiedź 511 wizyt
pytanie zadane 11 maja 2016 w C i C++ przez sebask08 Użytkownik (510 p.)

91,849 zapytań

140,526 odpowiedzi

317,034 komentarzy

61,171 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...