Witam. Uczę się programowania z książki: Język C, Herbert Schildt. W jednym z ćwiczeń miałem za zadanie napisać program zamieniający galony na litry, który umożliwiał by powtórzenie konwersji za pomocą pętli „do”. Niestety napisany przeze mnie program nie reaguję na instrukcję scanf która wczytuje znak (opisana na listingu), a co za tym...
Znak enter na klawiaturze to nic innego (o ile pamietam z dawnych, dawnych czasów) ^M, albo Control-M. Aaa, poza tym biblioteki w C są tak zrobione, że załatwiają niezbędne konwersje: fprintf(fpo,"\n") wyśle do pliku na PC \r\n, a na Unixie \n, a na Macu pewnie \r (nie widziałem Maca na własne oczy). Tak chodzi mi coś po pordzewiałych zwojach mózgu,...
To naprawdę moje pierwsze kroki z C. Do tej pory nie miałem żadnej wiedzy na temat tego języka. Rozumiem działanie programu, ale nie potrafię sobie wytłumaczyć jak działa scanf w tym przypadku. Nie rozumiem po co wprowadza się tam procenty. Wymyśliłem, że d to liczba, a c to znak, ale pewnie nie o to tutaj chodzi. W końcowych prinf'ach też występują...
Zobacz jaka wartość zwraca scanf. zezeli w tym przypadku 2 i ciagle 2 to znaczy ze nie zeruje bufora - zetkąłem sie z tym problemem na ktorejś wersji biblioteki standardowej na AVR-ach. Nie za bardzo znalazłem rozwiązanie i napisałem po prostu funkcję czytająca znaki do bufora a następnie jest wołany sscanf.
Nie wiem czy to jest w ogóle możliwe bo fprint musi mieć zdefiniowaną funkcję wysyłającą tekst po jednym znaku. Definiujesz pośredni bufor i do niego ładujesz pojedyncze znaki. Funkcja umieszczająca znaki powinna sprawdzać poziom zapełnienia bufora i uruchamiać/resetować timer. Jeśli bufor zacznie się zapełniać lub nastąpi timeout, bufor powinien zostać...
AAA to oto chodzi. A spróbuj użyć scanf. Chociaż najlepiej zrobić to w WinApi o ile system to Winda. HWND global_hEdit,global_hPrzycisk; //------------------------To w funckji WinMain hPrzycisk = CreateWindowEx(0, "BUTTON", "Pobierz tekst", WS_CHILD | WS_VISIBLE, 100, 50, 100, 30, hwnd, NULL, hInstance, NULL); hEdit = CreateWindowEx(0,...
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> int main() { int k; float x,w; char* imie[100]; int strlen (char *str); printf("Podaj swoje imie \n"); scanf("%s", &imie); printf("Podaj liczbę calkowita k \n"); scanf("%i", &k); printf("Podaj liczbe rzeczywista \n"); scanf("%f", &x); if...
Po prostu po pierwszym scanf-ie pozostaje znak nowej linii w buforze. Kolejny fgets czyta pusta linie. Może wypisuj to, co wczytujesz za każdym razem. Operacja fflush(stdin) nie jest zdefiniowana przez standard.
Teraz gdzieś mam błąd tylko nie wiem gdzie, bo niezależnie od tego czy wpiszę '+' czy '-' za każdym razem wykonuje dodawanie (case '+'). Jeśli ktoś go widzi proszę o podpowiedź. #include <stdio.h> #include <string.h> int main() { int a,b,c,d,i,tmp,mian; char znak,znak1; char operacja[3]; while(scanf("%d%c%d...
Mam napisać program który wpisuje do tablicy poszczególnie wprowadzone znaki łącznie z spacjami i tab. Czy da się zrobić coś takiego aby funkcja scanf przyjmowała tylko 1 znak i automatycznie bez zatwierdzania enterem program szedł dalej? Bo tylko udaje mi się tak napisać program że wpiszę znak i musze go potwierdzić enterem, no i jako znak liczy też...
W gcc jest to do zrobienia tak: char znak; char ciag[max]; char* ostatni; printf("Podaj znak"); scanf("%c",znak); printf("\nPodaj ciag"); scanf("%s",ciag); ostatni=rindex(ciag,znak); if (ostatni==NULL) printf("\nBrak znaku"); else printf("\nSzukany...
Zgadza się, funkcja przerywa działanie, ale w buforze nadal znajduje się znak, który trzeba odczytać. Trzeba opróżnić stdin, nie wiem jak to jest realizowane na mikrokontrolerach. Gdy funkcja napotka znak nie pasujący do wzorca wykonaj fflush(stdin), albo scanf("%c",&znak);
scanf() nie działa - dlatego ponieważ funkcja ta nie wczytuje białych znaków, w tym znaku nowej linii (dla %d) i zostaje on w buforze. Żeby to ominąć trzeba napisać małą funkcję, która czyści bufor przed następnym scanf-em. Np. coś takiego: void flush( void ) { int c = 0; while( c != '\n' && c != EOF ) c = getchar();...
Mam pytanie czy da się zadeklarować zmienna char i przypisać do niej znak "*" a później ja wywoływać? W poniższym programie tak zrobiłem i wyświetla mi zamiast "*" literę "Ą", wiem że zamiast tego można napisać - printf("*"); ale mi bardziej odpowiada to co to pierwsze. #include <stdlib.h> #include <stdio.h> #include <math.h> int a,b,c,d,e,szer,dl;...
Jak ja czytam zagadnienie, nie wynika że analiza/konwersja tego bufora jest w ogóle potrzebna "wczytać jakiś ciąg (nieokreślonych) znaków". Scanf raczej do dokładnie określonych ciągów znaków. np integerów, floatów, znaków, które maja być pominiete, usuwania whitespace i paru innych. Zeby wykryć ze w ciągu jest np 'g' lub jakiś ciąg znaków to rzeczywiście...
Hej, uczę się już jakiś czas programowania ale co raz napotykam na jeden problem z którym nie mogę się uporać.Chodzi mianowicie i porównywanie znaków typu char a głównie o komunikat:"Error:argument of type "char" is incompatible with parameter of type "const char*". Program do napisania pobiera od użytkownika ciąg znaków reprezentujący dowolny napis...
To nie są znaki tylko raczej bajty - tablica nie tworzy napisu (znak o kodzie 0 zakończyłby napis i wyszłoby 254). Gotowej funkcji do konwersji dziesiętnej raczej nie będzie. Można albo skonwertować to na napis dodając do każdego elementu tablicy wartość '0' i potem skorzystać z funkcji char * => int (scanf, atoi lub wręcz strumienie c++), albo...
Muszę napisać programik, który pokazuje ile razy w tekscie została użyta litera "c". Mam za to kod, który zlicza wszystkie znaki. Czy ktoś mógłby przerobić to, żeby zliczało tylko "c"? [syntax=c]//Liczenie znakow C (strlen) #include <stdio.h> #include <string.h> int main() { char tab[80]; int dl; printf("Podaj jakis ciag znakow: "); scanf("%s",...
Witam Prosiłbym o wyjaśnienie mi pewnej kwestii związanej z działaniem błędnie napisanego programu. Przechodzę do rzeczy: Program pierwszy: else menu(); instrukcji return. Z niewiadomych mi powodow w przypadku wykonania else menu(); wartosc i tak zostaje zwrocona do funkcji pobranie_liczby(); Najpierw zostanie wywolana przez rekurencje funkcja menu()...
:arrow: rafaello120: Wydaje mi sie, ze masz racje, a ze mi sie nudzilo, to napisalem program odczytujacy plik jako binarny i zapisujacy jako tekstowy (pod Linuxem nie zadzala, bo tam jest tylko tryb binarny). Oto kod zrudlowy tego programu, a w azlaczniku jest skompilowany program. :arrow: Zmienilem program, aby konwertowal w obie strony (text2bin i...
Źle mnie rozumiesz... jeśli podasz 0 to X będzie miało wartość równą kodowi ASCII *znaku* 0 rzutowaną na int (bo char to byte a nie int). scanf() jest poleceniem języka ANSI-C choć po przemyśleniu - zachowa się tak samo jak cin... Jeśli chodzi o to zapętlanie się to jest chyba jakiś feler w Dev-Cpp, nie powinno się tak robić. P.S. Nie obraź się ale...
Jezeli ma byc jak pisales, ze wpisujesz, enter, wpisujesz, enter, pusty enter = out, to wpierw zmien tego realloca, bo alokujesz non stop 2 bajty, pomimo kupy wpisanych. Alokuj zawsze n+1, bo musisz umiescic tez znak konca linii. w ogole zeby uproscic zrob while(1) a przed ifem if(c == 'x') break; Tu zapodaj if (c!='\n') { tutaj przemyslany...
Witam ponownie! Przecież w którymś z poprzednich postów napisałem: 1) Stwórz sobie bufor znakowy o rozsądnej wielkości np: int BUFOR[1024]; 2) Kolekcjonuj w tym buforze kolejne znaki funkcją getchar() sprawdzając makrem isspace() czy aktualnie pobrany znak nie jest znakiem "białym" 3) Po wykryciu "białego znaku" wyjdź z pętli, dopisz na końcu bufora...
W pierwszym programie, ilość kolumn możesz obliczyć na podstawie trzeciej linii (zawierającej ich nagłówki). Będziesz musiał pobierać każdą kolumnę osobno i ustalić która to jest z kolei kolumna na podstawie modulo licznika ilości odczytanych wartości z liczbą kolumn. W drugim programie, przeczytaj
736D:\Informatyka\test_char3.cpp[... 'scanf_s' was not declared in this scope U mnie Dev-C nie zna takiej funkcji. sizeof(tekst) To ma zapobiec że jak ktoś poda dłuższy ciąg znaków niż 10, to program się nie wysypie? [syntax=c]#include<stdio.h> #include<string.h> int main () { int z, c; char tekst[10]; float a, b,...
Dzięki za program, fajnie obrazuje co się dzieje:) Czyli podsumowując "niewałaściwe" znaki będą przechowywane w buforze aż do wywołania funkcji która zrobi z nich użytek i wczyta je poprawnie.
Ach, s scanf. Faktycznie wydaje się to sensowne :)
Moje problemy odbiegają od poprzedników ale temat zgodny, więc: Mam uP Atmega 8 oraz wyświetlacz zgodny z hd47780 2*16znaków. Gdy wrzucam jeden znak na wyświetlacz przy pomocy kodu niżej wszystko jest ok: while(1) { LCD_CLEAR; LCD_LOCATE(1,0); LCD_WRITE_DATA('d'); } return 0; } Mogę kilka takich znaków wrzucić...
zmieniłem kod w następujący sposób #define F_CPU 1000000UL // 1 MHz // prędkość transmisji 9600 #define UART_BAUD_RATE 9600 #include <stdlib.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/pgmspace.h> #include <util/delay.h> #include "uart.h" // częstotliwość CPU w...
(at)szelus "Mógłbyś podsłuchiwać własną transmisję... " Mogę, tyle że oscyloskopem bez pamięci, który w dodatku śmieci na linii... :-( Jak dla mnie nadawał się tylko do testowania ogólnego stanu linii (przydźwięk i czy coś leci, jak to wygląda - stabilnie czy nie, i tylko przy ciągłym wysyłaniu tego samego znaku przez ATMEGĘ, np. 0xFF, 0xAA, 0x55 i...
Witam, mam prośbę, czy mógłby ktoś sprawdzić mojego Makefil'a, ponieważ podczas kompilacji wrzuca mi błąd o kodzie: avr-objcopy: 'main.elf': No such file make: *** [syntax=c]//sterownik wyswietlacza #include "HD44780.h" //usawiasz tam porty sterujące, nie musisz ogarniać kodu #include <util/delay.h> #include <avr/io.h>...
Umieszczam kod ze strony radzia. HD44780.c [syntax=c] //--------------------------------------... // Wyświetlacz alfanumeryczny ze sterownikiem HD44780 // Sterowanie w trybie 4-bitowym bez odczytu flagi zajętości // z dowolnym przypisaniem sygnałów sterujących // Plik : HD44780.c // Mikrokontroler...
Witam wszystkich. Chcąc wykorzystać dobrodziejstwa avr-gcc użyłem funkcji dtostrf() . Mam funkcje wypisującą znak na LCD i jak robię np: void wypiszNaLCD(unsigned char*p) { unsigned char c; while((c = *p++) != '\0') print(c); } ////////////////////////////// int main(void) { . . . unsigned char...
1. Ze znakiem czyli liczby ujemne, dodatnie i zero. Bez znaku czyli liczby dodatnie i zero. Zobacz na zapis liczb w Naturalnym Systemie Binarnym (bez znaku) i U2 (ze znakiem). 2. Jeśli się nie mylę to program traktuje zmienną jakby miała inny typ i dlatego różnie ją interpretuje, nie wiem czy na pewno tak - rzadko używam printf i scanf. 3. -1 ze znakiem...
Sprawa jest prosta - scanf("%c", &c) wczytuje pojedynczy znak, ale pozostaje Ci jeszcze w buforze stdin nieskonsumowany znak końca wiersza. Ten zostaje przechwycony przez kolejne wywołanie scanf(...). Sprawa wczytywania z konsoli jest dodatkowo skomplikowana przez buforowanie w trybie liniowym, oraz przez nie zawsze pożądane pomijanie białych znaków...
Edukacyjny przykład sterowania portem LPT w języku C++ celem wysterowania wyświetlacza LCD i wyświetleniu na nim wpisanego z klawiatury tekstu. Podłączenie wyświetlacza LCD do komputera jest bardzo proste. Powinien to być wyświetlacz 2x16 znaków czyli dwie linie po 16 znaków w linii. Dodatkowe rezystory podciągające umożliwiają uniknięcie problemów...
Witaj, Najpierw sam przetestuj kod- podstawowe bledy: -na gcc musialem dodac include <stdbool.h> - " " w include oznacza ze pliki naglowka znajduja sie w katalogu z aplikacja- zmien to na <> bo sa to standardowe pliki .h - masz nie zamknieta klamre w funkcji DodajOsobe, co powoduje blad - funkcja UsunOsobe nic nie zwraca (void), a pozniej...
scanf zwraca liczbe wczytanych elemntów (zmiennych), czyli while (scanf("%d", &liczba)==1) oznacza że dopóki uzytkownik będzie podawał z kosoli jakieś dane (tu mamy do czynienia z liczbami, stąd symbol %d) a dokładnie jedną liczbę to pętla będzie się wykonywać, gdy natomiast nic nie poda a wcisnie ENTER pętla się zakończy Nie dość ze podajesz link...
Jeszcze jeden błąd zrobiłeś, w scanf. Pamiętaj, że nazwa tablicy jest adresem na pierwszy element. Użyłam tego aby zapobiec wpisywaniu do programu innych wartości niż liczby. Hurraaa, wyszło tak jak napisałeś. Dzięki:D Dodano po 6 Jeszcze jeden błąd zrobiłeś, w scanf. Pamiętaj, że nazwa tablicy jest adresem na pierwszy element. Użyłam tego aby zapobiec...
Popraw ten fragment: [syntax=c]... printf("Podaj imie: "); scanf("%s",ccc); strcpy(tab[i].imie,ccc); printf("\npodaj wiek: "); scanf("%d",&l); tab[i].wiek=l; ... [/syntax] P.S. main - ponieważ jest typu int powinna "zwracać" wartość. dodaj [syntax=c]return 0;[/syntax] ...na końcu P.S. II Twój kod niesie niebezpieczeństwo podania ciągu dłuższego niż...
Skoro wczytuje się liczbę członków to chyba struct czlonek spol[x]; (tak wiem, że to niestandardowe rozszerzenie, ale skoro deklaracja jest przesunięta za wczytamie wielkości...) i for (n=0; n<x; n++) . Nieco małe są rozmiary pół - 1 znak na wielkość wkładu? 3 na datę? 10 na imię i nazwisko? Imienia i nazwiska nie bardzo idzie wczytać...
Zacznę od tego, że wcale nie wyświetlasz elementów tablicy tylko je wpisujesz. Naciskasz enter więc to oczywiste, że przechodzi do nowego wiersza, możesz wstawiać spacje, bo scanf wczytuje do białego znaku. Podaj liczbe wieszy n. i liczbe kolumn m. n= 2 m= 4 1 2 3 4 5 6 7 8 Ale równie dobrze możesz wszystko wpisać w jednym wierszu: Podaj liczbe wieszy...
Uwierz da sie krócej o wiele krócej nawet o 10 znaków. I wlasnie sie zastanawiam moze cos z gets zamiast scanf... chociaz wtedy trzeba by zadeklarowac wskaznik na char aha program ma zapewnione ze liczba n nie bedzie ujemna
Na początek, to warto przejrzeć te stronki: for (int i = 0; i < 20; R[i++]= '\0'); 4. Najpierw zrób sobie wszystko w metodzie main, jak już zacznie działać to możesz to rozbić na poszczególne metody.
Może po kolei: Jeśli funkcja ma przyjmować tablicę to musi mieć odpowiedni nagłówek: [syntax=cpp]void znazwa(int plansza[9][9]) [/syntax] Poza tym masz jeszcze jeden błąd z wczytywaniem nazwy. %c to wczytanie znaku, nie napisu. %s to napis. Dodatkowo podanie samej nazwy tablicy w scanfie już jest wskaźnikiem na nią, więc nie robisz dodatkowo & [syntax=cpp]scanf("%s",nazwa);...
dejmos , kolega zapędził sie z nawiasami, poprawiłem to i dodałem warunke wyjścia z while. Pozdrawiam
Witam 6 miesiecy temu kupiłem satellite c70d-b win 8.1 AMD a4-6210 APU with AMD RADEON r3. Wszystko było ok do czasu gdy upgradowałem do win 10.Win 10 home 64 bit ver 1511 os 10586.22 Komputer zaczął zamulac czasem do takiego stopnia ze znaki wprowadzane z klawiatury pojawiały sie z parosekundowym opoznieniem. Sprawdzałem go oczywiscie diagnostyka i...
Mam pewien program, który jest poprawny, ale działa tylko w trybie tym takim, że jak dam kompiluj i uruchom to takie czarne okienko się pojawia i tam jest wykonywany. No a nauczyciel sobie zażyczył, aby był w trybie takim, żeby na górze było menu i tam opcje: "Odczytaj tablicę", "Zapisz wynik", "Autorzy", "Wykonaj algorytm", "Wyjdź". Oto mój kod: Kod:...
witam, napisałem program w c++ i potrzebuje pomocy w jego dopracowaniu problem : wywala mi program przy losowym generowaniu macierzy inne poprawki takze mile widziany z gory thnx #include <cstdlib> #include <iostream> #include <conio.h> #define ilosc 10; using namespace std; int main(int argc, char *argv[]) { int...
Kurs: Instrukcje Wreszcie dochodzimy do instrukcji, czyli do działu który nauczy nas co robić z poprzednio poznanymi rzeczami. Powiedzieliśmy sobie o zmiennych, operatorach, a dzięki instrukcjom które zaraz poznamy, będziemy mogli wykonywać operacje na nich w szerszym tego słowa znaczeniu. Mamy instrukcje proste i złożone. Instrukcja prosta składa...
Nie wiem dlaczego wyświetla ten błąd do każdej struktury przy wskaźniku na następny element. [syntax=cpp] #define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include "math.h" #include "stdlib.h" //----------------------------- LISTY ----------------------------------------... typedef struct lista_kwadratów{ int numer; int x; int y; float a; float Pole;...
całkować umiemy :)) dzięki za pomoc ale ja nadal nie za bardzo wiem jak to zapisać żeby program wiedział że pierwszy wyraz ma potęgę p. 3 itd. Naisałam dalej coś takiego. #include <stdio.h> #include <math.h> int main () { const int NMAX=100; int stopien, i, x; float a, b, N, abc[NMAX], calka[NMAX], pot[NMAX],...
Po if (k<p) { printf("Podales nie wlasciwy przedzial - gorny zakres jest mniejszy od dolnego! \n"); } w drugim programie powinieneś mieć else i dopiero w tym pętle for , bo tak jak masz teraz bez względu na wynik if , pętla for i tak się wykona. A czy teraz jest już dobrze? [syntax=text] int p, k; float v, wynik;...
posiłkowałem się internetem(niektóre funkcje i jakieś przykłady) i jedną książką udało mi się coś takiego sklecić ale chyba coś pomotałem bo nie chce działać funkcja read_file (linia 263 w main) może ktoś biegły zauważy błąd, dzięki za pomoc :) [syntax=c] #include <stdio.h> #include <stdlib.h> #include <string.h> #include<ctype.h>...
kolejny kodzik.... juz prawie prawie ale nie zawsze pokazuej dobrze.... #include<stdio.h> #include<conio.h> #include<iostream> #include<time.h> #define n 10 int G[n][n]={0},mo... jest; int kolory[10]={0}; int X[n]={0}; // tablica wyników char znak; // zczytanie z...
Wszystko kompilowane w Visual studio, chyba wersja 2010. Sortowanie przez wstawianie: [syntax=c] #include<conio.h> #include<stdio.h> #include<ctype.h> #include<stdlib.h> int nr=0,n=1,k=0,k2=0; int A1[10],A2[10]; int licz3; int v; int i,g,d=0,wybor=0,b=0,x,j; char pusty; bool CzyNieWiecej4(int elem1, int elem2) { return (elem1<=elem2);...
Robiłem coś podobnego :) Przerób sobie co do sortowania po długości słowa to albo licz znaki w elemencie tablicy do napotkania \0 lub sizeof() i podziel przez rozmiar chara to otrzymasz ilość znaków w słowie z tablicy a później quick sortem i gotowe, dynamiczna alokacja pamięci jest czyli zależnie ile losuje liczb tyle rezerwuje się miejsca na tablicę...
Kurs: C mamy typy: -podstawowe: typy znakowe, całkowite i rzeczywiste -pochodne: wskaźnikowe, tablice, struktury, unie. Typy i zmienne całkowite Rozmiary zmiennych danego typu Użycie powyższych typów w połączeniu z signed, unsigneddaje, short i long daje nam różne możliwości Typy i zmienne rzeczywiste Pisząc program deklarujemy sobie zmienną wybranego...
if ((x >= '65') && (x <= '90')) { Dwie sprawy: 1. Nie jesteś w Pascalu więc nawiasy przy warunkach są zbędne. 2. Zapis w pojedynczym apostrofie dotyczy pojedynczego znaku więc piszemy np. 'a', 'b', ..., 'z' itp. dwa znaki występują tylko przy znakach specjalnych np. '\n' - znak końca linii. scanf ("%c", &x); Od kiedy w ten sposób...
[syntax=c]#include <stdio.h> #include <string.h> #include <conio.h> /* Do złej praktyki programowania należy stosowanie "tajemniczych" liczb. Zatem dobrze jest nadać im jakieś nazwy symboliczne dyrektywą #define */ #define LICZBA_STUDENTOW 10 #define DLUGOSC_NAZW20 #define MAX_DLUGOSC_MIESIACA 11 struct data_ur { int dzien; char mies[MAX_DLUGOSC_MIESIACA...
Witam serdecznie, mam problem z przekazywaniem wartosci na zmiennych globalna lokalna... mianowicie w funkcji int czy_mozna_momalowac(int nr, int kol) wartosc wyniku zmiennej mozna nie zostaje zwrocona.... pozdrawiam oraz z góry dziękuje za wskazanie błędu/pomoc/poprawienie kodu ;) #include<stdio.h> #include<conio.h> #include<iostream>...
Witam. Mam pytnie odnosnie progrogramu który napisałem. Napisałem program kalkulatora który ma do wyboru dwie opcje: oblicznie czestotliwosci rezonansowej i oblicznie wastosci napiec sinusoidalnych. Zrobiłem memu w którym wybieram 1, 2, q(wyjscie). Chciałbym zrobic tak zeby te opcje kalkulatora były ciagle widoczne i tylko ponizej wyswietlała sie jedna...
Hej mam problem , napisałem prosty kalkulator w c i mi źle liczy: przy dodawaniu odejmuje, odejmowanie dobrze liczy , przy mnożeniu zawsze wychodzi 0, przy dzieleniu zawsze wychodzi 1, nie mam pojęcia co jest grane, pomóżcie proszę A oto kod: #include<stdio.h> #include <stdlib.h> int main() { int a,b,c,znak; printf("podaj...
Wymyslilem cos takiego. Jest to troche inne zadanie niz to poprzednie, ale cos jest zle. Moze ktos wie co? Proszę umieszczać kod w znacznikach syntax . Opcja Listing kodu . Pisownia! Zdanie rozpoczynamy z wielkiej litery, kończymy kropką. Mile widziane przecinki ;)
[syntax=c]#include <stdio.h> #include <math.h> #include <stdlib.h> int main (){ int x=0,y=0,s=0; float w=0; char znak[10]; printf("Podaj liczbe x \n"); scanf("%i",&x); printf("Podaj liczbe y \n"); scanf("%i",&y); printf("Podaj znak \n"); scanf("%s", &znak); switch (znak[0]){ case 'g': s=x+y; printf("Suma wprowadzonych liczb...
a ja nie rozumiem programowania :) i już całkowicie się pogubiłem ... w kodzie pokazanym przez ciebie jest za dużo niezrozumiałych rzeczy std::cout << "..."; for (;;) { std::cin >> znak; // std?? co to czemu po tym jest :: if (std::tolower(znak) < std::tolower(poprzedni_znak&...
Witam, mam do wykonania prosta tabele ligowa dla 8 drużyn (ustawiłem póki co rozmiar tablicy struktur na 3 żeby łatwiej się testowało działania poszczególnych funkcji bez zbędnego wpisywania dużej ilości danych). Chodzi o posortowanie tabeli względem punktów, jeżeli równe punkty to po ilości strzelonych, jeśli to i to równe po ilości straconych, jeżeli...
najpierw trzeba pobrać łańcuch (text), czyli jakiś scanf("%s", str) potem sprawdzamy, czy pasuje do wzorca (w int n; float x; n=scanf("%f", &x); if(n<>1) printf("kaszanka\n"); Większość programistów, z tego co zauważyłem, nie sprawdza wartości zwracanej przez scanf, a to nie dobrze, bo scanf zwraca...
mam problem, potrzebuje stworzyć bazę danych ze struktury, kasującą, dodającą rekordy(dynamiczna alokacja pamięci), sortującą rekordy(nie używając qsort), zasadniczo ma już wpis do bazy, przeglądanie, zapis do pliku, czytanie z pliku danych oddzielonych separatorami, wyświetlanie konkretnego pola w strukturze, usuwanie pliku bazy, ale mam problem z...
#include <stdio.h> #include <string.h> #include <stdlib.h> double wylicz_x(double a1,double b1,double c1,double a2,double b2,double c2) { double zapas; zapas=(b2*c1-b1*c2)/(a1*b2-a... return zapas; } double wylicz_y(double a1,double b1,double c1,double a2,double b2,double c2) { double...
Witam, mam problem z obsługą strumieni (trybu komend) na mojej xmedze. Kod przedstawia się następująco ( funkcja do trybu komend ): główna funkcja [syntax=c] int main(void) { init(); while (1) { set_read(); while(EFlag==1) { ADSgo(); my_delay_ms(1000); } while(EFlag==2) { read_time(); my_delay_ms(1000); } while(EFlag==3) { read_full_time(); my_delay_ms(1000);...
Dla prostych zadań z parsowania przydaje się specyfikator funkcji scanf(). Na przykład: char tablica[81]; scanf("%80[a-zA-Z ]", tablica); /* wczytaj do 80 znaków do tablicy, dopuszczalne znaki to a-z, A-Z i spacja. */ scanf("%80[^0-9-]%n&quo... tablica, &n); /* wczytaj do 80 znaków do tablicy, w...
Witam, "zły nauczyciel kazał mi" napisać prosty program szyfrujący. Wybrałem szyfr rot 13. Polega on na tym, że po wpisaniu tekstu szyfr "podstawia" litery z alfabetu łacińskiego na litery z tegoż alfabetu przesunięte o 13 miejsc w prawo. Np. dla litery 'a' podstawia 'n' itd. Mój program ma w sobie 2 tablice z alfabetem, z których jedna (podstaw) jest...
Witam. Muszę napisać program przetwarzający obrazy pgm. W programie obraz ma być przechowywany w dynamicznej tablicy. Wszystko szło obrze do momentu gdy w funkcji progowanie muszę zmniejszyć wymiary obrazu oraz wart piksela zależy od dwóch sąsiednich pikseli. Problem pojawia sie w tym fragmencie. *wymyy-1 powoduje pojawienie się ukośnych lini a tab...
Zwraca :P [syntax=c] #include<conio.h> #include<stdio.h> #include<ctype.h> #include<stdlib.h> unsigned char tablica[50]; int znaki; char pusty; int losuj(int a) { for(int i=0;i<a;i++) { unsigned char litery = 'A' +( rand() %( 'Z' - 'A' ) ) +1; tablica[i] = litery; } return 0; } int main(void) { printf("Podaj ilosc losowanych...
#include <stdio.h> //zaimportowanie standoardowej biblioteki wejść i wyjść #include <string.h> //zaimportowanie biblioteki obsługującej typ string struct Rzym_t //deklaracja własnej struktury o nazwie Rzym_t { //w tej strukturze znajdują się pola o nazwie char *s; //'s' i 'w' o typach odpowiednio char *, int int w; }; static const...
tzn. przede wszystkim to jezeli masz tablice cahr tab Dodano po 6 czyli mozesz np. char tab[5][10] /*5 slow 10-znakowych*/ for(int i=0;i<5;++i) scanf("%s",&tab[i]); wydaje mi sie, ze tak to sie robi...(chociaz nie jestem pewien, jak scanf robi, gdy napotka \n...czy przechodzi do nastepnej linii? czy pozostawie w buforze \n....? ale chyba przechodzi...
Bo kazales jej to robic - %s oznacza wczytan8ie do bufora napisu znakowego o dlugosci nie wiekszej niz rozmiar bufora - 1 jesli hcesz wczytac 3 slowa musisz zastosowac formant wycinajacy pojedyncze napisy ( poszukaj w manualu C bo nie pamietam teraz ktory to byl ) i wczytac go do trzech zmiennych np tak ( zakladajac ze poszukiwanym formantem jest m...
Witam musze napisac program do szkoly: Napisz program, który wyznacza róźnicę oraz sumę podanych liczb naturalnych. Wejście Na wejście programu podana zostanie pewna ilość zestawów danych (co najwyżej 1000). Każdy zestaw będzie się składać z dwóch liczb naturalnych rozdzielonych spacją. Poszczególne zestawy zostaną rozdzielone znakiem nowej linii. Przyjmujemy,...
witam musze napisac program do szkoly: Najczęściej występujący element Napisz program, który wyznacza najczęściej występujące elementy danego ciągu. Wejście Na wejście programu podana zostanie pewna liczba zestawów danych (co najwyżej 1000). Każdy z zestawów ma postać: n x1 x2 … xn gdzie n jest liczbą naturalną (z zakresu 1-1000), po której następuje...
witam Do szkoly musze napisac program, który wyznacza największy wspólny dzielnik podanych liczb. Wejście Na wejście programu podana zostanie pewna ilość zestawów danych (co najwyżej 1000). Każdy z zestawów ma postać: n x1 x2 … xn gdzie n jest liczbą naturalną (z zakresu 1-1000), po której następuje n liczb całkowitych x1 x2 … xn (z zakresu...
Napisz program, który sumuje pojawiające się na wejściu liczby całkowite. Wejście Na wejście programu podana zostanie pewna ilość (co najwyżej 100) zestawów danych. Pojedyńczy zestaw składa się z ciągu liczb całkowitych dodatnich (co najwyżej 1000 elementów), rozdzielonych spacjami i kończących się zerem. Poszczególne zestawy zostaną rozdzielone znakiem...
Możesz napisać funkcje, która będzie miała dwa argumenty(wskaźniki do napisów). I będzie zwracała true, gdy pierwszy argument jest mniejszy od drugiego. Wtedy porównujesz po kolei każdy znak i gdy napotkasz różne znaki to ten napis jest mniejszy, którego kod ASCII jest mniejszy. A czy to koniecznie musi być w C ? Nie może być w C++ ? To by znacznie...
A jaki to ma sens, bo ja nie widzę tutaj na razie żadnego. Konkretnie w kodzie, to mam na myśli. liczba to funkcja, a Ty próbujesz wczytać do niej ciąg jako inta z konsoli. Czy to się w ogóle kompiluje? Chodziło Ci chyba o scanf ("%lu", &p); %d to int ze znakiem %u to int bez znaku (unsigned) modyfikator l oznacza typ long czyli...
Jak uniemożliwić wprowadzenie liter do zmiennej float? Najprościej - pobieraj znaki pojedynczo i filtruj tylko to, co chcesz żeby było dozwolone. Przy okazji rozwiążesz słynny problem kropki/przecinka. Jednak podany tekst wyświetlany jest tylko do spacji. Związane jest to z działaniem funkcji scanf - poczytaj dokładnie jak się ona zachowuje (jak są...
Lustrzane odbicie: [syntax=c] #include<conio.h> #include<stdio.h> #include<ctype.h> #include<stdlib.h> long int liczba; char pusty; void lustro(int a) { int k; while(a>0) //dopuki a>0 (liczba przekazana jest teraz pod 'a') { k=a%10; a=a/10; if(k!=0) printf("%i",k); } } int main(void) { system("chcp 1250"); printf("\n\nPodaj...
Błąd pojawia się gdy zmieniam: printf("%s", "Wprowadz pin: "); scanf("%s", pin); na: pin=1234; Oto cały program: [syntax=cpp-qt]/*Funkcja int czyPIN(char []) Pobiera jako argument napis (tablicę znaków) i sprawdza, czy został podany prawidłowy PIN. Prawidłowy PIN składa sie z 4 cyfr. Cyfry nie mogą się powtarzać. Wynik funkcji: 1 - PIN OK 0 - PIN nie...
Jak to jest że kompilując programy przez gcc pod Ubuntu, nie potrzebowałem stosować tej funkcji? Dlaczego tak właściwie mam jej używać? Czy za każdym razem, kiedy chce coś wczytać a potem wypisać na ekran mam jej używac? Po każdym użyciu getchar(), scanf() itd.? Z buforowaniem przy funkcji scanf() spotkałem się tylko w momencie pomijania niepotrzebnych...
Program nie działa zgodnie z twoim założeniem bo jest bez sensu: na początek deklarujesz sobie zmienne: int a,dobrze; to zmienne int mogą przechowywać 32bitową liczbę ze znakiem a nie tekst jaki chcesz wprowadzać z klawiatury dalej masz: scanf ("%d%d", &a,&dobrze); if (a==dobrze) printf ("no to super\n");...
Powiedzcie mi, co tutaj jest nie tak :/ Kompilatorowi nie pasuje pogrubiona linijka i wyświetla błąd "Incompatible types in assignment", chodzi mi o zamianę nazw samochodów w tablicy. Prawdopodobnie chodzi tutaj o znak "=", trzeba zamiast tego wstawić chyba jakieś wyrażenie pozwalające na zamianę ciągów znakowych... ("=" jest do liczb...) tym2=tablica...
Witam. Probuje napisac baze danych komponentow elektronicznych SMD. Ten program ma robic baze danych rezystorow, rozne wybrane serie, tolerancje i obudowy. Mam 2 problemy: 1 problem. Stworzylem tablice skladajaca sie z cyfr int: sa to wartosci setne rezystorow. (100, 150, 220, itp) Trzeba by bylo rowniez stworzyc wartosci jednostkowe, dziesietne, tysieczne...
scanf("%d\n",&y); Po co Ci znak końca linii w scanf? z=+y; W C# można tak z+=y; ale nie słyszałem o takim zapisie jak u ciebie... Teraz jeśli pętla byłaby dobrze napisana to maksymalnie możesz dodać 10 liczb. hmmm... ja widzę w kodzie komentarz: Sumowanie 10 kolejnych liczb wpisywanych przez uzytkownika
Poprawiłem kod, i właśnie po wpisaniu program się zawiesza nic nie robi miga tylko znak zachęty. Nie wiem w którym miejscu brakuje jak już wspomniałeś break lub return [syntax=text]#include <stdio.h> #include <math.h> #include <stdlib.h> float F (float A, float B, float eps){ float a, S=0, k=0, Sp=0; int i; for (i=1; 1; i++){ Sp=S;...
Witam mam nastepujacy problem podaje wartosci wybieram jakie dzialanie ma nastapic i program nie zwraca wyniku prosze o pomoc: #include<stdio.h> #include<stdlib.h> #include<math.h> #include<conio.h> float a,b; float wynik; int d; int key; int c; float dodaj (float a, float b) { return (a+b); } float...
Proszę o pomoc, bo nie rozumiem dlaczego kompilator zwraca błędy. W programie tworzę strukturę, która zawiera tablicę struktur. Innymi słowami: [syntax=cpp]Struktura 1 { element1; element2; }[/syntax] [syntax=cpp]Struktura2 { wskaźnik do tablicy, która zawiera struktury 1 }[/syntax] W programie głównym tworzę wskaźnik do struktury2 i przydzielam mu...
Zmienna result nie może być wskaźnikiem bo scanf przez %s kopiuje zawartość źródła do zmiennej która siedzi pod %s. To znaczy może być wskaźnikiem ale musi wskazywać na jakiś obszar pamięci a nie na przypadkowe "gdzieś w pamięci". Dwa, że obszar trzeba zainicjować zerem w pierwszej komórce na wypadek gdyby scanf nie dopasował wzorca do rzeczywistych...
Witam, Na zajęciach z Architektury komputerów spłodziłem z pomocą wykładowcy program wyświetlający tekst na wyświetlaczu LCD. Teraz chciałbym napisać program wyświetlający teksty i liczniki. Napisałem w C algorytm na jakim chcę się oprzeć: Dodano po 31 Z tego co wiem powinno być: Dodano po 55 Ogólnie nie wiem jak zamodelować te dwie pętle w ASM: Dodano...
Witam, Po pierwsze - kod umieszczamy (z poprawnymi wcięciami) w znacznikach [code]. Po drugie, funkcji gets() nie uzywamy, ponieważ nie pozwala ona uniknąć potencjalnego przepełnieniem bufora - nowsze kompilatory nawet o tym ostrzegają. Zamiast tego można wykorzystać fgets(). Po trzecie, czytamy manual. A w manualu jest napisane, że scanf() kończy czytanie...
Tak jak już zostało napisane, problem masz z tym, że pobierasz liczbę, ale za nią jest jeszcze znak entera, który może zostać pobrany gdzieś dalej. Enter jest znakiem typu char, więc jak masz dalej próbę pobrania char'a to on pobiera także twój enter i idzie dalej. Ale takich motywów możesz mieć więcej np. #include<stdio.h> int main(void)...
Udało mi sie pójść krok dalej, robot przestał wariować, ale kiedy próbuje wysłać mu coś przez RSa, nic się nie dzieje. Ogólnie kiedy włączam robota zapala się lampka przy RS, która odpowiada wysyłanie, a kiedy podłączam kabel do RSa to zapala się też lampka od odbioru. Kod z robota: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h>...