Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem - Język C


Rekomendowane odpowiedzi

Opublikowano

Witam mam problem . Zacząłem pisać program który przyda mi się w pracy.Program działał normalnie ,ale gdy dodaje kolejną funkcje scanf ( tą do k0) program czeka aż wpisze pierwszą zmienna a potem ignoruje drugą funkcje scanf i wyswietla wszystkie printf.A więc moje prace zatrzymały się na samym początku.Liczę na waszą pomoc.Poniżej podaje kod.

 

#include <stdio.h>
#include <stdlib.h>
 
int main()
{
float k1;
float k0;
    float suma;
    printf("********************************************************************************\n");
    printf("ODBIERAJACY TOWAR\n");
    scanf("&f",k0);
    printf("Ilosc Czerwonej:\n");
    scanf("%f",k1);
    printf("Cena za sztuke:\n2,70");
    suma = k1 * 2.7;
    printf("\nCena calkowita:\n %.1f",suma);
 
}
 

271891445034732220780.gif

Opublikowano

nie programuje w C, ale w C++ z tego co sie orientuje to jak masz scanf to musisz przed zmienna dac znak '&', np:

 

float k1;
printf("XYZ");
scanf("%f", &k1);

a w dodatku u cb w pierwszym scanfie masz &f, a w drugim %f, ale jak juz mowilem ja nie programuje w c, wiec moze to dzialac inaczej

[/code]

<>

Opublikowano
Opublikowano

Tak wiem że musi być %f. Pisałem że to błąd przy przepisywaniu . Uruchamiałem ten program :P , więc jakbym nie poprawił nie odpaliłoby.
 

W dodatku musisz przekazać adres zmiennej k0, bo inaczej nic ci takie wywołanie nie da.

Co masz na mysli ? 
 
 
Teraz wygląda to tak :

 

#include <stdio.h>
#include <stdlib.h>
 
int main()
{
float k1;
float k0;
    float suma;
    printf("********************************************************************************\n");
    printf("ODBIERAJACY TOWAR\n");
    scanf("%f", &k0);
    printf("Ilosc Czerwonej:\n");
    scanf("%f", &k1);
    printf("Cena za sztuke:\n2,70");
    suma = k1 * 2.7;
    printf("\nCena calkowita:\n %.1f",suma);
return 0;
}

271891445034732220780.gif

Opublikowano

 

Tak wiem że musi być %f. Pisałem że to błąd przy przepisywaniu . Uruchamiałem ten program :P , więc jakbym nie poprawił nie odpaliłoby.

 

Co masz na mysli ? 

 

 

Teraz wygląda to tak :

 

#include <stdio.h>
#include <stdlib.h>
 
int main()
{
float k1;
float k0;
    float suma;
    printf("********************************************************************************\n");
    printf("ODBIERAJACY TOWAR\n");
    scanf("%f", &k0);
    printf("Ilosc Czerwonej:\n");
    scanf("%f", &k1);
    printf("Cena za sztuke:\n2,70");
    suma = k1 * 2.7;
    printf("\nCena calkowita:\n %.1f",suma);
return 0;
}

 

mial na mysli to, ze w scanfie jak podajesz nazwe zmiennej to musisz dac znak '&', masz dalej jakies bledy?

 

@Blayd

troche dziwne ze nie wczytuje ci mi normalnie dziala, sprobuj jeszcze raz

<>

Opublikowano

Właśnie taki był początkowy stan programu . Więc zmian nie wniosłem . Nic sie nie zmieniło . Program odpala ale dalej ignoruje mi drugą funkcje scanf ;/.

271891445034732220780.gif

Opublikowano

http://ideone.com/EAZSgF

http://ideone.com/kRP4tA

 

W drugim przeskoczył wczytywanie k1 (bo suma wyszła 0)

 

Próbujesz wczytać string do zmiennej typu float i dlatego scanf 'omija'. Tak na prawdę próbuje dalej przeczytać tego stringa jako float, ale mu to nie idzie, więc daje 0.

Poucz się podstaw trochę, bo w tym wątku po twoich postach widać, że masz małe pojęcie o tym i robisz metodą prób i błędów.

 

Ale następnym razem pisz dla jakich danych ci nie działa, bo tu można było tylko zgadywać.

Opublikowano
Dzięki . Zostawiam lajka. Problem rozwiązany.Zostawiam dla potomnych ;) :

 


 

#include <stdio.h>

#include <stdlib.h>

 

int main()

{

float k1;

char k0;

    float suma;

    printf("********************************************************************************\n");

    printf("ODBIERAJACY TOWAR\n");

    scanf("%s", &k0);

    printf("Ilosc Czerwonej:\n");

    scanf("%f", &k1);

    printf("Cena za sztuke:\n2,70");

    suma = k1 * 2.7;

    printf("\nCena calkowita:\n %.1f",suma);

return 0;

}

 

271891445034732220780.gif

Opublikowano

Dodałem %s do scanf podajże od stringu i śmiga bez problemu .

 

 

 

Chciałbym dodać do tego programu możliwość zapisu logów z consoli. Ktos mnie nakieruje?

 

 

 

FILE *wp;

 

wp=fopen("c:\\program\\test.txt","a+"); \\Zależy mi na tym aby funkcja zapisywanie byla w "trybie" a+

 

{

 

GŁÓWNY PROGRAM

 

}

 

fclose(wp);

 

 

}

 

 

Jeszcze trzeba gdzieś umieścić fputs(lub inną ;D).Szukałem jakiejś globalnej funkcji która mi zapisze logi z głównego programu.

 

Chce zapisać logi z konsoli nie zmienne.Dziękuje za jakąkolwiek pomoc

271891445034732220780.gif

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...