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

Znów problem z c, tabela, define.

Aruba Cloud - Virtual Private Server VPS
0 głosów
268 wizyt
pytanie zadane 15 listopada 2019 w C i C++ przez Mała Mi Początkujący (270 p.)
#include <stdio.h>
#define C_CONST 299792458.

int main()
{
    char format[] = "%10s %30g %10s %s\n";
   printf("Tabela stalych fizycznych\n");
   printf(format, "nazwa, wartosc, jednostka, opis\n");
   printf(format,"%g, m/s","predkosc swiatla\n", C_CONST);
   printf(format,"eps",8.85418781710e-12,"C^2/N/m^2","przenikalnosc elektromagnetyczna");
   printf("c      %g             m/s          predkosc swiatla w prozni\n",C_CONST);
   printf("cos    8.85418781710e-12     C2/Nm2       przenikalnosc elektromagnetyczna\n");
   printf("e      1,602 177 33e-19      C            ladunek elementarny\n");
   printf("h      6.6260697930e-34      J*s          stala plancka\n");
   printf("me     9,109 3897e-31        kg           masa elektronu\n");

   return 0;
}

Hej, robię takie cudo. Mam wrzucić wszystko w tabelę, definiować stałe, itp., itd. Tak, jak w "c". Ale już teraz wyświetla mi TYLKO "tabela stałych fizycznych". Dlaczego? 

komentarz 15 listopada 2019 przez tkz Nałogowiec (42,020 p.)

#include <stdio.h>
#define C_CONST 299792458.
 
int main()
{
    char format[] = "%10d %30d %10d %d\n";
   printf("Tabela stalych fizycznych\n");
   printf(format, "nazwa, wartosc, jednostka, opis\n");
   printf(format,"%g, m/s","predkosc swiatla\n", C_CONST);
   printf(format,"eps",8.85418781710e-12,"C^2/N/m^2","przenikalnosc elektromagnetyczna");
   printf("c      %g             m/s          predkosc swiatla w prozni\n",C_CONST);
   printf("cos    8.85418781710e-12     C2/Nm2       przenikalnosc elektromagnetyczna\n");
   printf("e      1,602 177 33e-19      C            ladunek elementarny\n");
   printf("h      6.6260697930e-34      J*s          stala plancka\n");
   printf("me     9,109 3897e-31        kg           masa elektronu\n");
 
   return 0;
}

cpp.sh/3plin

Kompilator c++, ale chyba działa. Zmień format http://www.c4learn.com/c-programming/c-formatting-printf/

komentarz 15 listopada 2019 przez Mała Mi Początkujący (270 p.)
przeniesione 16 listopada 2019 przez draghan
Słucham? ;-;

2 odpowiedzi

+1 głos
odpowiedź 15 listopada 2019 przez Michałełe Nałogowiec (25,600 p.)

Witam

Jeśli w C chcemy coś wypisać na ekranie używamy printf. Źle jednak są dane argumenty w Twoim przypadku.

printf( "nazwa, wartosc, jednostka, opis\n");

Czyli najpierw podajesz tekst jaki chcesz wypisać, a w przypadku gdy chcesz w jakimś miejscu wypisać zmienną w tekście wpisujesz odpowienią literkę po % dla typu tej zmiennej - np. ( jeszcze w #define C_CONST usuń kropkę na końcu)

  printf( "Zmienna C_CONST: %i", C_CONST);

Tutaj jest lista jaką literkę trzeba wpisać dla danego typu.

char format[] = "%10d %30d %10d %d\n";

Tutaj widzę ,że coś kombinujesz ale nie rozumiem co to ma robić, odezwij się w komentarzu

komentarz 16 listopada 2019 przez tkz Nałogowiec (42,020 p.)

jeszcze w #define C_CONST usuń kropkę na końcu

Nie, bo chce wyświetlić zmiennoprzecinkową, po to jest również %g.

 

komentarz 21 listopada 2019 przez Mała Mi Początkujący (270 p.)

@Michałełe, chcę zrobić tabelę, te cyfry mówią, ile ma znaków. 

 

0 głosów
odpowiedź 16 listopada 2019 przez mokrowski Mędrzec (158,200 p.)
edycja 16 listopada 2019 przez mokrowski

Poczytaj o formatowaniu w printf().

Bardzo elementarne rozwiązanie z minimalną poprawką (co do eps i cos to już sam(a) sprawdź co masz na myśli):
 

#include <stdio.h>
#define C_CONST 299792458.

int main(void)
{
   const char header_format[] = "%-7s%-22s%-13s%s\n";
   const char data_format[]  = "%-7s%-22.10g%-13s%s\n";
   printf("Tabela stalych fizycznych\n");
   printf(header_format, "nazwa", "wartosc", "jednostka", "opis");
   printf(data_format, "c",   C_CONST,            "m/s",       "predkosc swialta");
   printf(data_format, "eps", 8.85418781710e-12 , "C^2/N/m^2", "przenikalnosc elektromagnetyczna");
   printf(data_format, "e",   1.60217733e-19,     "C",         "ladunek elementarny");
   printf(data_format, "h",   6.6260697930e-34,   "J*s",       "stala plancka");
   printf(data_format, "me",  9.1093897e-31,      "kg",        "masa elektronu");

   return 0;
}

 

Podobne pytania

0 głosów
1 odpowiedź 557 wizyt
0 głosów
1 odpowiedź 253 wizyt

93,335 zapytań

142,330 odpowiedzi

322,411 komentarzy

62,670 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...