Nie umiem zdefiniować struktury w C

0

Witam.
Jestem początkujący w c (tak samo jak w programowaniu :)). Mam takie zadanie:
Zaprojektuj i zaimplementuj strukturę (struct), w której przechowywana byłaby informacja o częściach samochodowych i ich cenach. Struktura powinna składać się z co najmniej trzech elementów: numeru części, nazwy i ceny. Napisz program, który będzie korzystał z takiej struktury. Program powinien żądać od użytkownika podania informacji o części, a następnie wyświetlać je.

Bardzo proszę o rozpisanie całego kodu (nie chcę wskazówek;wole potem przeanalizować gotowy kod) i wyjaśnienie jak działa sam "struct" i do czego służy-czytałem w książce ale nie rozumiem trochę. ;/

Z góry dzięki!:D

1

Oczekujesz pomocy czy rozwiązania za Ciebie?

  1. Jeśli pomocy: pokaż kod, staraj się zastosować do Dlaczego nikt nie odpowiada w moim wątku?
  2. Jeśli wykonania za Ciebie: http://4programmers.net/Forum/Og%C5%82oszenia_drobne (jestem w stanie wykonać zadanie za zaledwie 250zł)
4

wyobraź sobie, że masz ileś kartek, na każdej kartce masz opis jednej części samochodu.

każda kartka wygląda w ten sposób, że jest napisane na niej CZĘŚC SAMOCHODU (na wszelki wypadek, jakby ktoś znalazł taką kartkę na podłodze i nie wiedział co to jest),
oraz są 3 punkty:
numer części: (i po dwukropku numer części, np. 187287)
nazwa: (i po dwukroku np. "kierownica")
i cena: (np. 100zł)

no i wyobraź sobie, że jesteś zatrudniony w sklepie samochodowym i każą ci znaleźć np. kierownice w cenach między 50zł a 400zł (tak przykładowo, nie mam pojęcia ile kierownica kosztuje), więc przeglądasz kartki i szukasz.

I teraz tak: kartka to struktura.
CZĘŚĆ SAMOCHODU to jej typ (mogą być różne typy, np. możesz mieć kartki, na których będzie napisane SILNIK)
punkty w liście to pola struktury

itp.

I program generalnie to robi właśnie, tylko zamiast kartek są struktury (albo w innych językach programowania/w innego rodzaju implementacjach/ rolę kartek mogą pełnić obiekty, mapy, słowniki, czy nawet rekordy w bazie danych)

0

Dzięki wielkie, teraz rozumiem. :) A byłbyś tak uprzejmy i napisał mi jak to wygląda w całym kodzie? ;/

0

A tutaj masz przykład w C, specjalnie for you:

 
#include <stdio.h>
#include <stdlib.h>

#define NAME_SIZE 30
#define p printf
#define s scanf
#define g getchar

struct component{
	int i;
	int p;
	char *n;
};

int main(void){
	struct component e;
	e.n = (char *)malloc(NAME_SIZE);
	int my_char = 0;
	p("Insert component name: ");
	for(;(*(e.n+my_char) = g())!='\n' && my_char < NAME_SIZE;++my_char);
	while ((my_char = g()) != '\n' && my_char != EOF);
	p("End read",s("%d",&e.i),p("Insert id: ",s("%d",&e.p),p("Insert price: ")));
	p("Car part:\nId: \t %d\nName:\t%s\nPrice:\t %d\n",e.i,e.n,e.p);
	free(e.n);
	return 0;
}

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